From 657abef26150bdee211f869248c852d7a4856487 Mon Sep 17 00:00:00 2001 From: Evgenya Stepyreva Date: Tue, 26 May 2020 23:51:56 +0300 Subject: [PATCH 1/2] Small refactoring --- model-optimizer/extensions/front/onnx/resize_ext.py | 6 +++--- .../extensions/front/onnx/reverse_sequence_ext.py | 6 +++--- model-optimizer/extensions/front/tf/bucketize_ext.py | 7 +++---- model-optimizer/extensions/front/tf/sparse_to_dense_ext.py | 7 +++---- .../mo/front/kaldi/extractors/linear_component_ext.py | 6 +++--- 5 files changed, 15 insertions(+), 17 deletions(-) diff --git a/model-optimizer/extensions/front/onnx/resize_ext.py b/model-optimizer/extensions/front/onnx/resize_ext.py index f9e232eb172c02..8d0fffce829a6c 100644 --- a/model-optimizer/extensions/front/onnx/resize_ext.py +++ b/model-optimizer/extensions/front/onnx/resize_ext.py @@ -24,8 +24,8 @@ class ResizeExtractor(FrontExtractorOp): op = 'Resize' enabled = True - @staticmethod - def extract(node: Node): + @classmethod + def extract(cls, node: Node): mode = onnx_attr(node, 'mode', 's', default=b'nearest').decode() UpsampleOp.update_node_stat(node, {'mode': mode}) - return __class__.enabled + return cls.enabled diff --git a/model-optimizer/extensions/front/onnx/reverse_sequence_ext.py b/model-optimizer/extensions/front/onnx/reverse_sequence_ext.py index 48cf7437346655..c8e4313f573930 100644 --- a/model-optimizer/extensions/front/onnx/reverse_sequence_ext.py +++ b/model-optimizer/extensions/front/onnx/reverse_sequence_ext.py @@ -23,8 +23,8 @@ class ReverseSequenceExtractor(FrontExtractorOp): op = 'ReverseSequence' enabled = True - @staticmethod - def extract(node): + @classmethod + def extract(cls, node): batch_axis = onnx_attr(node, 'batch_axis', 'i', default=1) time_axis = onnx_attr(node, 'time_axis', 'i', default=0) @@ -33,4 +33,4 @@ def extract(node): 'seq_axis': time_axis, } ReverseSequence.update_node_stat(node, attrs) - return __class__.enabled + return cls.enabled diff --git a/model-optimizer/extensions/front/tf/bucketize_ext.py b/model-optimizer/extensions/front/tf/bucketize_ext.py index 1a17b3916d50ec..595c9d63faea40 100644 --- a/model-optimizer/extensions/front/tf/bucketize_ext.py +++ b/model-optimizer/extensions/front/tf/bucketize_ext.py @@ -24,9 +24,8 @@ class BucketizeFrontExtractor(FrontExtractorOp): op = 'Bucketize' enabled = True - @staticmethod - def extract(node): + @classmethod + def extract(cls, node): boundaries = np.array(node.pb.attr['boundaries'].list.f, dtype=np.float) Bucketize.update_node_stat(node, {'boundaries': boundaries, 'with_right_bound': False}) - - return __class__.enabled + return cls.enabled diff --git a/model-optimizer/extensions/front/tf/sparse_to_dense_ext.py b/model-optimizer/extensions/front/tf/sparse_to_dense_ext.py index b331775a8c14fc..c0802944861cf2 100644 --- a/model-optimizer/extensions/front/tf/sparse_to_dense_ext.py +++ b/model-optimizer/extensions/front/tf/sparse_to_dense_ext.py @@ -22,8 +22,7 @@ class SparseToDenseFrontExtractor(FrontExtractorOp): op = 'SparseToDense' enabled = True - @staticmethod - def extract(node): + @classmethod + def extract(cls, node): SparseToDense.update_node_stat(node) - - return __class__.enabled + return cls.enabled diff --git a/model-optimizer/mo/front/kaldi/extractors/linear_component_ext.py b/model-optimizer/mo/front/kaldi/extractors/linear_component_ext.py index e1a7a5ec863ff3..6453655b5fd1ea 100644 --- a/model-optimizer/mo/front/kaldi/extractors/linear_component_ext.py +++ b/model-optimizer/mo/front/kaldi/extractors/linear_component_ext.py @@ -25,8 +25,8 @@ class LinearComponentFrontExtractor(FrontExtractorOp): op = 'linearcomponent' enabled = True - @staticmethod - def extract(node): + @classmethod + def extract(cls, node): pb = node.parameters collect_until_token(pb, b'') weights, weights_shape = read_binary_matrix(pb) @@ -39,4 +39,4 @@ def extract(node): embed_input(mapping_rule, 1, 'weights', weights) FullyConnected.update_node_stat(node, mapping_rule) - return __class__.enabled + return cls.enabled From 96750d034e438540c33ae1822fb20b9d5157ca82 Mon Sep 17 00:00:00 2001 From: Evgenya Stepyreva Date: Wed, 27 May 2020 00:07:46 +0300 Subject: [PATCH 2/2] [ MO ] Throwing an exception while extracting Resize-11 --- model-optimizer/extensions/front/onnx/resize_ext.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/model-optimizer/extensions/front/onnx/resize_ext.py b/model-optimizer/extensions/front/onnx/resize_ext.py index 8d0fffce829a6c..c8aefdbd6f7a24 100644 --- a/model-optimizer/extensions/front/onnx/resize_ext.py +++ b/model-optimizer/extensions/front/onnx/resize_ext.py @@ -16,8 +16,9 @@ from extensions.ops.upsample import UpsampleOp from mo.front.extractor import FrontExtractorOp -from mo.front.onnx.extractors.utils import onnx_attr +from mo.front.onnx.extractors.utils import onnx_attr, get_onnx_opset_version from mo.graph.graph import Node +from mo.utils.error import Error class ResizeExtractor(FrontExtractorOp): @@ -26,6 +27,9 @@ class ResizeExtractor(FrontExtractorOp): @classmethod def extract(cls, node: Node): + onnx_opset_version = get_onnx_opset_version(node) + if onnx_opset_version is not None and onnx_opset_version >= 11: + raise Error("ONNX Resize operation from opset {} is not supported.".format(onnx_opset_version)) mode = onnx_attr(node, 'mode', 's', default=b'nearest').decode() UpsampleOp.update_node_stat(node, {'mode': mode}) return cls.enabled