提交 f8e22d5e authored 作者: Frederic Bastien's avatar Frederic Bastien

Make fusion optimizer faster for big graph.

上级 96603aef
...@@ -3409,18 +3409,18 @@ class FusionOptimizer(Optimizer): ...@@ -3409,18 +3409,18 @@ class FusionOptimizer(Optimizer):
nodelist.reverse() nodelist.reverse()
did_something = False did_something = False
for node in nodelist: for node in nodelist:
new_outputs = self.optimizer(node) # Don't try to fuse node that have already been fused.
if new_outputs: if node in env.nodes:
assert len(new_outputs) == len(node.outputs) new_outputs = self.optimizer(node)
try: if new_outputs:
env.replace_all_validate( assert len(new_outputs) == len(node.outputs)
try:
env.replace_all_validate(
zip(node.outputs, new_outputs), zip(node.outputs, new_outputs),
reason = self.__class__.__name__) reason = self.__class__.__name__)
did_something = True did_something = True
break except InconsistencyError, e:
except InconsistencyError, e: pass
pass
if config.tensor.local_elemwise_fusion: if config.tensor.local_elemwise_fusion:
_logger.debug("enabling optimization fusion elemwise in fast_run") _logger.debug("enabling optimization fusion elemwise in fast_run")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论