From a5bec2b67a2f1e5dd6fdbe362d9584851b31e4fa Mon Sep 17 00:00:00 2001 From: moran Date: Thu, 17 Sep 2020 10:07:16 +0800 Subject: [PATCH] Optimize converted rate algorithm --- .../graph_based_converter/constant.py | 2 +- .../graph_based_converter/report_generator.py | 16 +++++++++++++--- .../third_party_graph/input_node.py | 2 +- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/mindinsight/mindconverter/graph_based_converter/constant.py b/mindinsight/mindconverter/graph_based_converter/constant.py index 6b88a94d..6c9ba559 100644 --- a/mindinsight/mindconverter/graph_based_converter/constant.py +++ b/mindinsight/mindconverter/graph_based_converter/constant.py @@ -39,4 +39,4 @@ class NodeType(Enum): OPERATION = "operation" CLASS = "class" FUNC = "func" - INPUT = "DataInput" + INPUTS = "DataInput" diff --git a/mindinsight/mindconverter/graph_based_converter/report_generator.py b/mindinsight/mindconverter/graph_based_converter/report_generator.py index ff365917..f11c9558 100644 --- a/mindinsight/mindconverter/graph_based_converter/report_generator.py +++ b/mindinsight/mindconverter/graph_based_converter/report_generator.py @@ -109,12 +109,14 @@ class ReportGenerator(metaclass=abc.ABCMeta): code_lines = code.split(NEW_LINE) num_all_lines = len(code_lines) - num_unconverted_line = 0 + num_unconverted_operator = 0 + num_converted_operator = 0 self._content = self._extra['start'] for num_line in range(0, num_all_lines): code_line = code_lines[num_line] + if 'onnx.' in code_line: - num_unconverted_line += 1 + num_unconverted_operator += 1 unconverted_operator = SEPARATOR_IN_ONNX_OP.join( ('onnx', re.findall(r".*onnx.(.*)[(]", code_line)[0])) info_unconverted_line = self._gen_unconverted_operator_content( @@ -123,9 +125,17 @@ class ReportGenerator(metaclass=abc.ABCMeta): ) self._content = f"{NEW_LINE}".join((self._content, info_unconverted_line)) + + if 'P.' in code_line or 'nn.' in code_line: + converted_operator = re.findall(r".*(?:nn.|P.)(.*)[(]", code_line) + + if converted_operator: + num_converted_operator += 1 + self._content = f"{NEW_LINE}".join((self._content, self._extra['end'])) - converted_rate = (num_all_lines - num_unconverted_line) / num_all_lines + converted_rate = \ + num_converted_operator / (num_converted_operator + num_unconverted_operator) info_converted_rate = f"Converted Rate: {converted_rate * 100:.2f}%.{NEW_LINE}" self._content = f"{NEW_LINE}".join((self._content, info_converted_rate)) diff --git a/mindinsight/mindconverter/graph_based_converter/third_party_graph/input_node.py b/mindinsight/mindconverter/graph_based_converter/third_party_graph/input_node.py index 5d9f4a47..be93ad03 100644 --- a/mindinsight/mindconverter/graph_based_converter/third_party_graph/input_node.py +++ b/mindinsight/mindconverter/graph_based_converter/third_party_graph/input_node.py @@ -67,7 +67,7 @@ class InputNode(GraphNode): self._op_name = 'Input' self._op_params = {'input_shape': input_shape, "output_shape": input_shape} - self._node_type = NodeType.INPUT.value + self._node_type = NodeType.INPUTS.value @property def input_shape(self):