提交 39edb0de authored 作者: Frederic Bastien's avatar Frederic Bastien

More tests

上级 149006e6
...@@ -936,21 +936,41 @@ def test_seed_fn(): ...@@ -936,21 +936,41 @@ def test_seed_fn():
test_use_cuda = [False] test_use_cuda = [False]
if cuda_available: if cuda_available:
test_use_cuda.append(True) test_use_cuda.append(True)
idx = tensor.ivector()
for use_cuda in test_use_cuda: for use_cuda in test_use_cuda:
random = MRG_RandomStreams(234) for new_seed, same in [(234, True), (None, True), (23, False)]:
fn = theano.function([], random.uniform((2, 2))) random = MRG_RandomStreams(234)
fn1 = theano.function([], random.uniform((2, 2)))
fn_val0 = fn() fn2 = theano.function([], random.uniform((3, 3), nstreams=2))
fn_val1 = fn() fn3 = theano.function([idx],
assert not numpy.allclose(fn_val0, fn_val1) random.uniform(idx, nstreams=3, ndim=1))
random.seed(234) fn1_val0 = fn1()
fn1_val1 = fn1()
fn_val2 = fn() assert not numpy.allclose(fn1_val0, fn1_val1)
fn_val3 = fn() fn2_val0 = fn2()
assert numpy.allclose(fn_val0, fn_val2) fn2_val1 = fn2()
assert numpy.allclose(fn_val1, fn_val3) assert not numpy.allclose(fn2_val0, fn2_val1)
fn3_val0 = fn3([4])
fn3_val1 = fn3([4])
assert not numpy.allclose(fn3_val0, fn3_val1)
assert fn1_val0.size == 4
assert fn2_val0.size == 9
random.seed(new_seed)
fn1_val2 = fn1()
fn1_val3 = fn1()
fn2_val2 = fn2()
fn2_val3 = fn2()
fn3_val2 = fn3([4])
fn3_val3 = fn3([4])
assert numpy.allclose(fn1_val0, fn1_val2) == same
assert numpy.allclose(fn1_val1, fn1_val3) == same
assert numpy.allclose(fn2_val0, fn2_val2) == same
assert numpy.allclose(fn2_val1, fn2_val3) == same
assert numpy.allclose(fn3_val0, fn3_val2) == same
assert numpy.allclose(fn3_val1, fn3_val3) == same
if __name__ == "__main__": if __name__ == "__main__":
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论