Publishing 2019 R1 content
[platform/upstream/dldt.git] / model-optimizer / extensions / middle / UselessMerge.py
index b0923bc..d3ef24a 100644 (file)
@@ -1,5 +1,5 @@
 """
- Copyright (c) 2018 Intel Corporation
+ Copyright (c) 2018-2019 Intel Corporation
 
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
@@ -16,9 +16,8 @@
 
 import logging as log
 
-import networkx as nx
-
 from extensions.middle.ConstSwitchResolver import ConstSwitchEraser
+from mo.graph.graph import Graph
 from mo.middle.passes.eliminate import remove_op_node_with_data_node
 from mo.middle.replacement import MiddleReplacementPattern
 
@@ -29,13 +28,17 @@ class UselessMergeEraser(MiddleReplacementPattern):
     def run_after(self):
         return [ConstSwitchEraser]
 
+    def run_before(self):
+        from extensions.middle.pass_separator import MiddleFinish
+        return [MiddleFinish]
+
     def pattern(self):
         return dict(
             nodes=[('merge', dict(kind='op', op='Merge'))],
             edges=[]
         )
 
-    def replace_pattern(self, graph: nx.MultiDiGraph, match: dict):
+    def replace_pattern(self, graph: Graph, match: dict):
         if len(graph.in_edges(match['merge'].id)) <= 1:
             remove_op_node_with_data_node(graph, match['merge'])
             log.info("Useles Merge op and data nodes was deleted op='{}'".format(match['merge'].id))