提交 45aade79 authored 作者: Frederic Bastien's avatar Frederic Bastien

make tests less verbose.

上级 e423ca66
...@@ -137,12 +137,10 @@ class T_sigmoid_opts(unittest.TestCase): ...@@ -137,12 +137,10 @@ class T_sigmoid_opts(unittest.TestCase):
# tests exp_over_1_plus_exp # tests exp_over_1_plus_exp
f = theano.function([x], 1 - T.exp(x)/(1+T.exp(x)), mode=m) f = theano.function([x], 1 - T.exp(x)/(1+T.exp(x)), mode=m)
theano.printing.debugprint(f)
assert [node.op for node in f.maker.env.toposort()] == [tensor.neg, sigmoid_inplace] assert [node.op for node in f.maker.env.toposort()] == [tensor.neg, sigmoid_inplace]
# tests inv_1_plus_exp # tests inv_1_plus_exp
f = theano.function([x], 1 - T.fill(x,1.0) / (1+T.exp(-x)), mode=m) f = theano.function([x], 1 - T.fill(x,1.0) / (1+T.exp(-x)), mode=m)
theano.printing.debugprint(f)
assert [node.op for node in f.maker.env.toposort()] == [tensor.neg, assert [node.op for node in f.maker.env.toposort()] == [tensor.neg,
sigmoid_inplace] sigmoid_inplace]
...@@ -159,15 +157,12 @@ class T_sigmoid_opts(unittest.TestCase): ...@@ -159,15 +157,12 @@ class T_sigmoid_opts(unittest.TestCase):
x, y = tensor.vectors('x', 'y') x, y = tensor.vectors('x', 'y')
f = theano.function([x], sigmoid(-x) * tensor.exp(x), mode=m) f = theano.function([x], sigmoid(-x) * tensor.exp(x), mode=m)
theano.printing.debugprint(f)
match(f, [sigmoid]) match(f, [sigmoid])
f = theano.function([x], sigmoid(x) * tensor.exp(-x), mode=m) f = theano.function([x], sigmoid(x) * tensor.exp(-x), mode=m)
theano.printing.debugprint(f)
match(f, [tensor.neg, sigmoid]) match(f, [tensor.neg, sigmoid])
f = theano.function([x], -(-(-(sigmoid(x)))) * tensor.exp(-x), mode=m) f = theano.function([x], -(-(-(sigmoid(x)))) * tensor.exp(-x), mode=m)
theano.printing.debugprint(f)
match(f, [tensor.neg, sigmoid, tensor.neg]) match(f, [tensor.neg, sigmoid, tensor.neg])
f = theano.function( f = theano.function(
...@@ -175,7 +170,6 @@ class T_sigmoid_opts(unittest.TestCase): ...@@ -175,7 +170,6 @@ class T_sigmoid_opts(unittest.TestCase):
(sigmoid(x) * sigmoid(-y) * -tensor.exp(-x) * tensor.exp(x * y) * (sigmoid(x) * sigmoid(-y) * -tensor.exp(-x) * tensor.exp(x * y) *
tensor.exp(y)), tensor.exp(y)),
mode=m) mode=m)
theano.printing.debugprint(f)
match(f, [sigmoid, tensor.mul, tensor.neg, tensor.exp, sigmoid, match(f, [sigmoid, tensor.mul, tensor.neg, tensor.exp, sigmoid,
tensor.mul, tensor.neg]) tensor.mul, tensor.neg])
...@@ -233,7 +227,6 @@ class T_softplus_opts(unittest.TestCase): ...@@ -233,7 +227,6 @@ class T_softplus_opts(unittest.TestCase):
out = T.log(sigmoid(x)) out = T.log(sigmoid(x))
f = theano.function([x],out,mode=self.m) f = theano.function([x],out,mode=self.m)
topo = f.maker.env.toposort() topo = f.maker.env.toposort()
print topo
assert len(topo)==3 assert len(topo)==3
assert isinstance(topo[0].op.scalar_op, theano.scalar.Neg) assert isinstance(topo[0].op.scalar_op, theano.scalar.Neg)
assert isinstance(topo[1].op.scalar_op, theano.tensor.nnet.sigm.ScalarSoftplus) assert isinstance(topo[1].op.scalar_op, theano.tensor.nnet.sigm.ScalarSoftplus)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论