Publishing 2019 R1 content
[platform/upstream/dldt.git] / model-optimizer / extensions / front / Pack.py
index a7defba..160539e 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.
  See the License for the specific language governing permissions and
  limitations under the License.
 """
-
-import networkx as nx
-
 from mo.front.common.replacement import FrontReplacementOp
-from mo.graph.graph import Node
+from mo.graph.graph import Node, Graph
 from mo.ops.concat import Concat
 from mo.ops.const import Const
 from mo.ops.expand_dims import ExpandDims
@@ -27,14 +24,16 @@ class Pack(FrontReplacementOp):
     op = "Pack"
     enabled = True
 
-    def replace_op(self, graph: nx.MultiDiGraph, node: Node):
+    def replace_op(self, graph: Graph, node: Node):
         expand_dims_nodes = list()
         expand_axis_node = Const(graph, dict(value=node.axis)).create_node([])
         for ind, edge_attrs in node.in_edges().items():
             expand_dims_nodes.append(ExpandDims(graph, dict(name=node.name + '/ExpandDims_')).
                                      create_node([(node.in_node(ind), edge_attrs['out']), expand_axis_node]))
 
-        out_node = Concat(graph, dict(name=node.name + '/Concat_', axis=node.axis)).create_node(expand_dims_nodes)
+        out_node = Concat(graph, dict(name=node.name + '/Concat_',
+                                      axis=node.axis,
+                                      in_ports_count=len(expand_dims_nodes))).create_node(expand_dims_nodes)
         # Replace edge from out port 0 of the matched node with a edge from node out_node.id with port 0.
         # The "explicit" version of the return value is: [(out_node.id, 0)])
         return [out_node.id]