Remove TopKnormalizer from MO IR Reader transformation_list (#590)

* Remove TopKnormalizer from transformation_list and added call of normalize_outputs to fix read/save of some models
This commit is contained in:
Anton Chetverikov
2020-06-02 12:43:41 +03:00
committed by GitHub
parent daaeaa5881
commit 265e3c7cba
3 changed files with 12 additions and 5 deletions

View File

@@ -19,7 +19,7 @@ from extensions.back.ScalarConstNormalize import ScalarNormalize
from mo.back.replacement import BackReplacementPattern
from mo.front.common.partial_infer.utils import int64_array
from mo.front.tf.graph_utils import create_op_node_with_second_input
from mo.graph.graph import Graph
from mo.graph.graph import Graph, Node
from mo.ops.reshape import Reshape
from mo.ops.result import Result
@@ -58,10 +58,17 @@ class TopKNormalizer(BackReplacementPattern):
{'override_output_shape': True})
node.in_port(1).get_connection().insert_node(reshape)
TopKNormalizer.normalize_outputs(node)
@staticmethod
def normalize_outputs(node: Node):
"""
This function adds missed outputs for TopK node.
"""
if node.out_port(0).disconnected():
output = Result(graph, {'name': node.name + '/Result_port_0/',
output = Result(node.graph, {'name': node.name + '/Result_port_0/',
'remove_from_xml': node.has_and_set('remove_values_output')}).create_node()
node.out_port(0).get_connection().set_destination(output.in_port(0))
if node.out_port(1).disconnected():
output = Result(graph, {'name': node.name + '/Result_port_1/'}).create_node()
output = Result(node.graph, {'name': node.name + '/Result_port_1/'}).create_node()
node.out_port(1).get_connection().set_destination(output.in_port(0))