提交 190d6690 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

opt fix

上级 8aa4348b
...@@ -12,10 +12,10 @@ import gof, gof.graph ...@@ -12,10 +12,10 @@ import gof, gof.graph
from gof.python25 import any from gof.python25 import any
import gof import gof
from gof.utils import AbstractFunctionError from gof.utils import AbstractFunctionError
import tensor_opt
from elemwise import DimShuffle from elemwise import DimShuffle
default_mode = compile.Mode(optimizer = None, default_mode = compile.Mode(optimizer = None,
linker = 'c&py') linker = 'c&py')
...@@ -1776,6 +1776,10 @@ class T_op_cache(unittest.TestCase): ...@@ -1776,6 +1776,10 @@ class T_op_cache(unittest.TestCase):
if __name__ == '__main__': if __name__ == '__main__':
if 1: if 1:
if len(sys.argv) >= 2 and sys.argv[1] == 'OPT':
default_mode = compile.Mode(linker = 'c&py',
optimizer = 'math')
sys.argv[1:] = sys.argv[2:]
unittest.main() unittest.main()
else: else:
testcase = DotTester testcase = DotTester
......
...@@ -128,7 +128,7 @@ def local_dimshuffle_lift(node): ...@@ -128,7 +128,7 @@ def local_dimshuffle_lift(node):
else: else:
return DimShuffle(iinput.type.broadcastable, new_order, inplace).make_node(iinput).outputs return DimShuffle(iinput.type.broadcastable, new_order, inplace).make_node(iinput).outputs
dimshuffle_lift = gof.TopoOptimizer(local_dimshuffle_lift, order = 'out_to_in') dimshuffle_lift = out2in(local_dimshuffle_lift)
################# #################
...@@ -504,10 +504,10 @@ def local_mul_to_neg(node): ...@@ -504,10 +504,10 @@ def local_mul_to_neg(node):
else: else:
return False return False
neg_to_mul = gof.TopoOptimizer(gof.LocalOptGroup(local_neg_to_mul), order = 'out_to_in') neg_to_mul = out2in(gof.LocalOptGroup(local_neg_to_mul))
mul_to_neg = gof.TopoOptimizer(gof.LocalOptGroup(local_mul_to_neg), order = 'out_to_in') mul_to_neg = out2in(gof.LocalOptGroup(local_mul_to_neg))
mul_canonizer = gof.TopoOptimizer(gof.LocalOptGroup(local_mul_canonizer, local_fill_cut, local_fill_sink), order = 'in_to_out') mul_canonizer = in2out(gof.LocalOptGroup(local_mul_canonizer, local_fill_cut, local_fill_sink))
def add_calculate(num, denum, aslist = False): def add_calculate(num, denum, aslist = False):
...@@ -520,7 +520,7 @@ def add_calculate(num, denum, aslist = False): ...@@ -520,7 +520,7 @@ def add_calculate(num, denum, aslist = False):
return v return v
local_add_canonizer = Canonizer(T.add, T.sub, T.neg, add_calculate) local_add_canonizer = Canonizer(T.add, T.sub, T.neg, add_calculate)
add_canonizer = gof.TopoOptimizer(gof.LocalOptGroup(local_add_canonizer, local_fill_cut, local_fill_sink), order = 'in_to_out') add_canonizer = in2out(gof.LocalOptGroup(local_add_canonizer, local_fill_cut, local_fill_sink))
################## ##################
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论