提交 85be8d82 authored 作者: Pascal Lamblin's avatar Pascal Lamblin

Fix tests in FAST_COMPILE

上级 07156dc4
...@@ -147,11 +147,12 @@ def test_transinv_to_invtrans(): ...@@ -147,11 +147,12 @@ def test_transinv_to_invtrans():
Y = tensor.nlinalg.matrix_inverse(X) Y = tensor.nlinalg.matrix_inverse(X)
Z = Y.transpose() Z = Y.transpose()
f = theano.function([X], Z) f = theano.function([X], Z)
for node in f.maker.fgraph.toposort(): if config.mode != 'FAST_COMPILE':
if isinstance(node.op, MatrixInverse): for node in f.maker.fgraph.toposort():
assert isinstance(node.inputs[0].owner.op, DimShuffle) if isinstance(node.op, MatrixInverse):
if isinstance(node.op, DimShuffle): assert isinstance(node.inputs[0].owner.op, DimShuffle)
assert node.inputs[0].name == 'X' if isinstance(node.op, DimShuffle):
assert node.inputs[0].name == 'X'
def test_tag_solve_triangular(): def test_tag_solve_triangular():
...@@ -164,13 +165,12 @@ def test_tag_solve_triangular(): ...@@ -164,13 +165,12 @@ def test_tag_solve_triangular():
b1 = solve(L, x) b1 = solve(L, x)
b2 = solve(U, x) b2 = solve(U, x)
f = theano.function([A,x], b1) f = theano.function([A,x], b1)
for node in f.maker.fgraph.toposort(): if config.mode != 'FAST_COMPILE':
if isinstance(node.op, Solve): for node in f.maker.fgraph.toposort():
assert node.op.A_structure == 'lower_triangular' if isinstance(node.op, Solve):
assert node.op.A_structure == 'lower_triangular'
f = theano.function([A,x], b2) f = theano.function([A,x], b2)
for node in f.maker.fgraph.toposort(): if config.mode != 'FAST_COMPILE':
if isinstance(node.op, Solve): for node in f.maker.fgraph.toposort():
assert node.op.A_structure == 'upper_triangular' if isinstance(node.op, Solve):
assert node.op.A_structure == 'upper_triangular'
...@@ -202,11 +202,11 @@ class TestPushOutScanOutputDot(object): ...@@ -202,11 +202,11 @@ class TestPushOutScanOutputDot(object):
# Compile the function twice, once with the optimization and once # Compile the function twice, once with the optimization and once
# without # without
f_opt = theano.function([a, b], outputs) opt_mode = mode.including("scan")
f_opt = theano.function([a, b], outputs, mode=opt_mode)
default_mode = theano.compile.get_default_mode() no_opt_mode = mode.excluding("scanOp_pushout_output")
default_mode.excluding("scanOp_pushout_output") f_no_opt = theano.function([a, b], outputs, mode=no_opt_mode)
f_no_opt = theano.function([a, b], outputs, mode=default_mode)
# Ensure that the optimization was performed correctly in f_opt # Ensure that the optimization was performed correctly in f_opt
# The inner function of scan should have only one output and it should # The inner function of scan should have only one output and it should
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论