提交 228915ea authored 作者: Hengjean's avatar Hengjean

Made all opt into one

上级 823acacc
...@@ -5,43 +5,17 @@ from theano.typed_list.basic import (Reverse, ...@@ -5,43 +5,17 @@ from theano.typed_list.basic import (Reverse,
Append, Extend, Insert) Append, Extend, Insert)
def generic_opt_creator(op): @gof.local_optimizer([Append, Extend, Insert, Reverse], inplace=True)
def typed_list_inplace_opt(node):
if isinstance(node.op, (Append, Extend, Insert, Reverse)) \
and not node.op.inplace:
@gof.local_optimizer([op], inplace=True) new_op = node.op.__class__(
def generic_inplace_opt(node):
if isinstance(node.op, op) and not node.op.inplace:
new_op = node.op.__class__(
inplace=True) inplace=True)
new_node = new_op(*node.inputs) new_node = new_op(*node.inputs)
return [new_node] return [new_node]
return False return False
compile.optdb.register('typed_list_inplace_opt',
return generic_inplace_opt TopoOptimizer(typed_list_inplace_opt,
local_inplace_reverse = generic_opt_creator(Reverse)
compile.optdb.register('local_inplace_reverse',
TopoOptimizer(local_inplace_reverse,
failure_callback=TopoOptimizer.warn_inplace), 60,
'fast_run', 'inplace')
local_inplace_append = generic_opt_creator(Append)
compile.optdb.register('local_inplace_append',
TopoOptimizer(local_inplace_append,
failure_callback=TopoOptimizer.warn_inplace), 60, failure_callback=TopoOptimizer.warn_inplace), 60,
'fast_run', 'inplace') 'fast_run', 'inplace')
local_inplace_extend = generic_opt_creator(Extend)
compile.optdb.register('local_inplace_extend',
TopoOptimizer(local_inplace_extend,
failure_callback=TopoOptimizer.warn_inplace), 60,
'fast_run', 'inplace')
local_inplace_insert = generic_opt_creator(Insert)
compile.optdb.register('local_inplace_insert',
TopoOptimizer(local_inplace_insert,
failure_callback=TopoOptimizer.warn_inplace), 60,
'fast_run', 'inplace') # DEBUG
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论