提交 2ddb3256 authored 作者: abergeron's avatar abergeron 提交者: GitHub

Merge pull request #5275 from nouiz/debugmode_tests

Fix one test in debugmode
...@@ -1821,7 +1821,7 @@ class T_Scan(unittest.TestCase): ...@@ -1821,7 +1821,7 @@ class T_Scan(unittest.TestCase):
def test_grad_multiple_outs_some_disconnected(self): def test_grad_multiple_outs_some_disconnected(self):
final_cost = self._grad_mout_helper(100, mode_nodebug) final_cost = self._grad_mout_helper(100, mode_nodebug)
assert final_cost < 0.02 assert final_cost < 0.02, final_cost
def test_grad_multiple_outs_some_disconnected_2(self): def test_grad_multiple_outs_some_disconnected_2(self):
# This is to try the network in DEBUG_MODE, but not fully # This is to try the network in DEBUG_MODE, but not fully
......
...@@ -1254,7 +1254,8 @@ def test_grad_useless_sum(): ...@@ -1254,7 +1254,8 @@ def test_grad_useless_sum():
computations. computations.
""" """
mode = theano.compile.get_default_mode().including('canonicalize') mode = theano.compile.get_default_mode().including('canonicalize')
x = tensor.TensorType(theano.config.floatX, (True,))('x') mode.check_isfinite = False
x = TensorType(theano.config.floatX, (True,))('x')
l = tensor.log(1.0 - tensor.nnet.sigmoid(x))[0] l = tensor.log(1.0 - tensor.nnet.sigmoid(x))[0]
g = tensor.grad(l, x) g = tensor.grad(l, x)
nodes = theano.gof.graph.ops([x], [g]) nodes = theano.gof.graph.ops([x], [g])
...@@ -1262,8 +1263,15 @@ def test_grad_useless_sum(): ...@@ -1262,8 +1263,15 @@ def test_grad_useless_sum():
f = theano.function([x], g, mode=mode) f = theano.function([x], g, mode=mode)
test_values = [-100, -1, 0, 1, 100] test_values = [-100, -1, 0, 1, 100]
outputs = [] outputs = []
for test_value in test_values: old_values_eq_approx = staticmethod(TensorType.values_eq_approx)
outputs.append(f(numpy.array([test_value]).astype('float32'))) TensorType.values_eq_approx = staticmethod(
tensor.type.values_eq_approx_remove_nan)
try:
for test_value in test_values:
outputs.append(f(numpy.array([test_value]).astype('float32')))
finally:
TensorType.values_eq_approx = old_values_eq_approx
assert not any([isinstance(node.op, theano.tensor.elemwise.Sum) for node in nodes]) assert not any([isinstance(node.op, theano.tensor.elemwise.Sum) for node in nodes])
assert numpy.allclose(outputs, [[-3.72007598e-44], assert numpy.allclose(outputs, [[-3.72007598e-44],
[-0.26894142], [-0.26894142],
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论