提交 8963a3d1 authored 作者: James Bergstra's avatar James Bergstra

Added another merge pass between canonicalize and specialize

上级 2933f737
...@@ -127,13 +127,22 @@ class AddDestroyHandler(gof.Optimizer): ...@@ -127,13 +127,22 @@ class AddDestroyHandler(gof.Optimizer):
env.extend(gof.DestroyHandler()) env.extend(gof.DestroyHandler())
optdb = gof.SequenceDB() optdb = gof.SequenceDB()
optdb.register('merge1', gof.MergeOptimizer(), 0, 'fast_run', 'fast_compile') optdb.register('merge1', gof.MergeOptimizer(),
optdb.register('canonicalize', gof.EquilibriumDB(), 1, 'fast_run') 0, 'fast_run', 'fast_compile')
optdb.register('stabilize', gof.EquilibriumDB(), 1.5, 'fast_run') optdb.register('canonicalize', gof.EquilibriumDB(), # rearranges elemwise expressions
optdb.register('specialize', gof.EquilibriumDB(), 2, 'fast_run') 1, 'fast_run')
optdb.register('merge2', gof.MergeOptimizer(), 49, 'fast_run') optdb.register('merge1.2', gof.MergeOptimizer(skip_const_merge=True),
optdb.register('add_destroy_handler', AddDestroyHandler(), 49.5, 'fast_run', 'inplace') 1.2, 'fast_run', 'fast_compile')
optdb.register('merge3', gof.MergeOptimizer(), 100, 'fast_run') optdb.register('stabilize', gof.EquilibriumDB(), # replace unstable subgraphs
1.5, 'fast_run')
optdb.register('specialize', gof.EquilibriumDB(), # misc special cases for speed
2, 'fast_run')
optdb.register('merge2', gof.MergeOptimizer(), # especially constant merge
49, 'fast_run')
optdb.register('add_destroy_handler', AddDestroyHandler(),
49.5, 'fast_run', 'inplace')
optdb.register('merge3', gof.MergeOptimizer(), # final pass just to make sure
100, 'fast_run')
class Mode(object): class Mode(object):
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论