提交 60e767c2 authored 作者: Olivier Breuleux's avatar Olivier Breuleux

fixed bug in NavigatorOptimizer if ignore_newtrees is False

上级 0def0ff7
...@@ -746,7 +746,8 @@ class TopoOptimizer(NavigatorOptimizer): ...@@ -746,7 +746,8 @@ class TopoOptimizer(NavigatorOptimizer):
if start_from is None: start_from = env.outputs if start_from is None: start_from = env.outputs
q = deque(graph.io_toposort(env.inputs, start_from)) q = deque(graph.io_toposort(env.inputs, start_from))
def importer(node): def importer(node):
q.append(node) if node is not current_node:
q.append(node)
def pruner(node): def pruner(node):
if node is not current_node: if node is not current_node:
try: q.remove(node) try: q.remove(node)
...@@ -782,7 +783,8 @@ class OpKeyOptimizer(NavigatorOptimizer): ...@@ -782,7 +783,8 @@ class OpKeyOptimizer(NavigatorOptimizer):
else: else:
q = list(env.get_nodes(op)) q = list(env.get_nodes(op))
def importer(node): def importer(node):
if node.op == op: q.append(node) if node is not current_node:
if node.op == op: q.append(node)
def pruner(node): def pruner(node):
if node is not current_node and node.op == op: if node is not current_node and node.op == op:
try: q.remove(node) try: q.remove(node)
...@@ -845,7 +847,8 @@ class EquilibriumOptimizer(NavigatorOptimizer): ...@@ -845,7 +847,8 @@ class EquilibriumOptimizer(NavigatorOptimizer):
max_use = len(q) * self.max_use_ratio max_use = len(q) * self.max_use_ratio
def importer(node): def importer(node):
q.append(node) if node is not current_node:
q.append(node)
def pruner(node): def pruner(node):
if node is not current_node: if node is not current_node:
try: q.remove(node) try: q.remove(node)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论