[MO] IR Reader updates for support IR generated by PDPD FE (#7646)
* Add extender for LSTMSequence operation * Update BOM file * Update gather shape inference function to support 1D tensors as axis * Refactor split_normalize_output function usage * Update temporary Result operations processing * Revert fake split output renaming * Revert kaldi assign result removing * Add assert for node type * Update model-optimizer/mo/utils/ir_reader/layer_to_class.py Fix comment Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com> * Update model-optimizer/extensions/ops/gather.py Update axis value check. Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com> Co-authored-by: Evgenya Stepyreva <evgenya.stepyreva@intel.com>
This commit is contained in:
1 parent
a25668d106
commit
897cd09a5a
4 files changed
+20
No files matched your search
@@ -1049,6 +1049,7 @@ mo/utils/ir_reader/extenders/if_extender.py
|
||||
mo/utils/ir_reader/extenders/interpolate_extender.py
|
||||
mo/utils/ir_reader/extenders/loop_extender.py
|
||||
mo/utils/ir_reader/extenders/LSTMCell_extender.py
|
||||
mo/utils/ir_reader/extenders/LSTMSequence_extender.py
|
||||
mo/utils/ir_reader/extenders/non_max_suppression_extender.py
|
||||
mo/utils/ir_reader/extenders/non_zero_extender.py
|
||||
mo/utils/ir_reader/extenders/pad_extender.py
|
||||
|
||||
@@ -52,6 +52,10 @@ class Gather(Op):
|
||||
indices_shape = node.in_port(1).data.get_shape()
|
||||
assert indices_shape is not None
|
||||
axis = node.in_port(2).data.get_value()
|
||||
|
||||
# axis of Gather could be accepted as both scalar and 1D tensor
|
||||
if isinstance(axis, np.ndarray):
|
||||
axis = axis.item()
|
||||
assert axis is not None, 'axis input is undefined'
|
||||
|
||||
assert -len(data_shape) <= axis < len(data_shape), \
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Copyright (C) 2018-2021 Intel Corporation
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
from mo.utils.graph import Node
|
||||
from mo.utils.ir_reader.extender import Extender
|
||||
|
||||
|
||||
class LSTMSequence_extender(Extender):
|
||||
op = 'LSTMSequence'
|
||||
|
||||
@staticmethod
|
||||
def extend(op: Node):
|
||||
op['infer'] = Extender.use_shapes_from_ir
|
||||
@@ -345,6 +345,8 @@ def copy_graph_with_ops(graph: Graph) -> Graph:
|
||||
log.warning('Operation {} is not found in MO operations, please check it! '
|
||||
'Simple shape infer function is used'.format(op_type))
|
||||
node = Op(new_graph, op.attrs()).create_node()
|
||||
assert 'type' in node, 'Operation {} have no `type` attribute.'.format(node.soft_get('name'))
|
||||
node['op'] = node.type
|
||||
node['infer'] = Extender.use_shapes_from_ir
|
||||
if 'ir_data_attrs' in op:
|
||||
node['IE'] = [('layer',
|
||||
|
||||
Reference in new issue
Block a user