mirror of https://github.com/commaai/tinygrad.git
Tensor.randint is Tensor.uniform with dtypes.int32 (#2801)
This commit is contained in:
parent
0bb5d8f956
commit
86c2f267d4
|
@ -63,6 +63,10 @@ class TestRandomness(unittest.TestCase):
|
||||||
self.assertTrue(normal_test(Tensor.randn))
|
self.assertTrue(normal_test(Tensor.randn))
|
||||||
self.assertTrue(equal_distribution(Tensor.randn, torch.randn, lambda x: np.random.randn(*x)))
|
self.assertTrue(equal_distribution(Tensor.randn, torch.randn, lambda x: np.random.randn(*x)))
|
||||||
|
|
||||||
|
def test_randint(self):
|
||||||
|
self.assertFalse(normal_test(Tensor.randint))
|
||||||
|
self.assertTrue(equal_distribution(partial(Tensor.randint, low=-2, high=5), numpy_func=lambda x: np.random.randint(low=-2, high=5, size=x)))
|
||||||
|
|
||||||
def test_normal(self):
|
def test_normal(self):
|
||||||
self.assertTrue(normal_test(Tensor.normal))
|
self.assertTrue(normal_test(Tensor.normal))
|
||||||
self.assertTrue(equal_distribution(Tensor.normal, lambda x: torch.nn.init.normal_(torch.empty(x), mean=0, std=1), lambda x: np.random.normal(loc=0, scale=1, size=x)))
|
self.assertTrue(equal_distribution(Tensor.normal, lambda x: torch.nn.init.normal_(torch.empty(x), mean=0, std=1), lambda x: np.random.normal(loc=0, scale=1, size=x)))
|
||||||
|
|
|
@ -199,8 +199,7 @@ class Tensor:
|
||||||
return src[0].mul(2*math.pi).cos().mul((1 - src[1]).log().mul(-2).sqrt()).cast(Tensor.default_type if dtype is None else dtype)
|
return src[0].mul(2*math.pi).cos().mul((1 - src[1]).log().mul(-2).sqrt()).cast(Tensor.default_type if dtype is None else dtype)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def randint(*shape, low=0, high=10, **kwargs) -> Tensor:
|
def randint(*shape, low=0, high=10, **kwargs) -> Tensor: return Tensor.uniform(shape, low=low, high=high, dtype=dtypes.int32)
|
||||||
return (Tensor.rand(*shape, **kwargs)*(high-low)+low).cast(dtypes.int32)
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def normal(*shape, mean=0.0, std=1.0, **kwargs) -> Tensor: return (std * Tensor.randn(*shape, **kwargs)) + mean
|
def normal(*shape, mean=0.0, std=1.0, **kwargs) -> Tensor: return (std * Tensor.randn(*shape, **kwargs)) + mean
|
||||||
|
|
Loading…
Reference in New Issue