def test_scan_err1(self):
# This test should fail when building fx for the first time
orig_compute_test_value = theano.config.compute_test_value
try:
theano.config.compute_test_value = 'raise'
k = T.iscalar("k")
A = T.matrix("A")
k.tag.test_value = 3
A.tag.test_value = numpy.random.rand(5, 3).astype(config.floatX)
def fx(prior_result, A):
return T.dot(prior_result, A)
# Since we have to inspect the traceback,
# we cannot simply use self.assertRaises()
try:
theano.scan(
fn=fx,
outputs_info=T.ones_like(A),
non_sequences=A,
n_steps=k)
assert False
except ValueError:
# Get traceback
tb = sys.exc_info()[2]
# Get frame info 4 layers up
frame_info = traceback.extract_tb(tb)[-5]
# We should be in the "fx" function defined above
expected = 'test_compute_test_value.py'
assert os.path.split(frame_info[0])[1] == expected, frame_info
assert frame_info[2] == 'fx'
finally:
theano.config.compute_test_value = orig_compute_test_value
test_compute_test_value.py 文件源码
python
阅读 18
收藏 0
点赞 0
评论 0
评论列表
文章目录