diff --git a/test/models/test_bert.py b/test/models/test_bert.py index 78e3367339..e2d7fad730 100644 --- a/test/models/test_bert.py +++ b/test/models/test_bert.py @@ -1,4 +1,6 @@ #!/usr/bin/env python +import os +os.environ['USE_TF'] = '0' # prevent transformers from importing tensorflow import unittest from tinygrad import Tensor import numpy as np diff --git a/test/models/test_efficientnet.py b/test/models/test_efficientnet.py index df936299d2..62ad994f4d 100644 --- a/test/models/test_efficientnet.py +++ b/test/models/test_efficientnet.py @@ -68,7 +68,7 @@ class TestEfficientNet(unittest.TestCase): self.assertEqual(_LABELS[labels[0]], "sports car, sport car") def test_chicken_car(self): - labels = _infer(self.model, np.concat([chicken_img, car_img], axis=0)) + labels = _infer(self.model, np.concatenate([chicken_img, car_img], axis=0)) self.assertEqual(_LABELS[labels[0]], "hen") self.assertEqual(_LABELS[labels[1]], "sports car, sport car") diff --git a/test/unit/test_hashing.py b/test/unit/test_hashing.py index cbee0f6bfb..c3876786dc 100644 --- a/test/unit/test_hashing.py +++ b/test/unit/test_hashing.py @@ -47,10 +47,10 @@ class TestKeccak(unittest.TestCase): ha_ref, hb_ref = hasher(a), hasher(b) tres = Tensor.stack(*(Tensor(d) for d in (a, b))).keccak(name) - ha, hb = tres[0].data(), tres[1].data() + ha, hb = bytes(tres[0].data()), bytes(tres[1].data()) self.assertEqual(ha_ref, ha) - self.assertEqual(ha_ref, Tensor(a).keccak(name).data()) + self.assertEqual(ha_ref, bytes(Tensor(a).keccak(name).data())) self.assertEqual(hb_ref, hb) def test_referenced(self): diff --git a/tinygrad/tensor.py b/tinygrad/tensor.py index 290a36e568..447eba179a 100644 --- a/tinygrad/tensor.py +++ b/tinygrad/tensor.py @@ -1845,6 +1845,7 @@ class Tensor(OpMixin): p = state.reshape(bs, 5, 5).transpose(2, 1) t1 = (p[:,:,0] ^ p[:,:,1] ^ p[:,:,2] ^ p[:,:,3] ^ p[:,:,4]).roll(-1, 1) # xor reduce state = state ^ (t1.roll(2, 1).bitwise_xor((t1 << 1) ^ (t1 >> 63)).unsqueeze(2).expand(bs, 5, 5).transpose(2, 1).flatten(1)) + state = state.contiguous() # required for correct indexing in π step # TODO: why is it needed? # ρ and π steps state = state[:, reorder_indexes] state = (state * rot_offsets_v0).bitwise_or(state // rot_offsets_v1).reshape(bs, 5, 5)