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):
op = 'Resize'
enabled = True
- @staticmethod
- def extract(node: Node):
+ @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 __class__.enabled
+ return cls.enabled
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)
'seq_axis': time_axis,
}
ReverseSequence.update_node_stat(node, attrs)
- return __class__.enabled
+ return cls.enabled
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
op = 'SparseToDense'
enabled = True
- @staticmethod
- def extract(node):
+ @classmethod
+ def extract(cls, node):
SparseToDense.update_node_stat(node)
-
- return __class__.enabled
+ return cls.enabled
op = 'linearcomponent'
enabled = True
- @staticmethod
- def extract(node):
+ @classmethod
+ def extract(cls, node):
pb = node.parameters
collect_until_token(pb, b'<Params>')
weights, weights_shape = read_binary_matrix(pb)
embed_input(mapping_rule, 1, 'weights', weights)
FullyConnected.update_node_stat(node, mapping_rule)
- return __class__.enabled
+ return cls.enabled