Written reading the operation CTCGreedyDecoder for ONNX (as a custom operation). (#6215)

This commit is contained in:
Vladimir Gavrilov authored and GitHub committed 2021-06-18 09:54:41 +03:00
1 parent 8543b42ac0
commit 70f9d8564e
8 files changed
+29 -9

No files matched your search

+4 -3
View File
@@ -134,6 +134,8 @@ extensions/front/caffe/split_to_identity.py
extensions/front/caffe/tanh.py
extensions/front/ChangePlaceholderTypes.py
extensions/front/create_tensor_nodes.py
extensions/front/CTCGreedyDecoderReplacement.py
extensions/front/CTCLossReplacement.py
extensions/front/disable_weights_quantize_value_propagation.py
extensions/front/div.py
extensions/front/DropoutWithRandomUniformReplacer.py
@@ -274,6 +276,7 @@ extensions/front/onnx/constant_of_shape_ext.py
extensions/front/onnx/constant_of_shape_to_broadcast.py
extensions/front/onnx/conv_ext.py
extensions/front/onnx/crop_ext.py
extensions/front/onnx/CTCGreedyDecoder_ext.py
extensions/front/onnx/cumsum_ext.py
extensions/front/onnx/deformable_conv_ext.py
extensions/front/onnx/depth_to_space_ext.py
@@ -370,6 +373,7 @@ extensions/front/SizeReplacer.py
extensions/front/softmax.py
extensions/front/Softplus_fusion.py
extensions/front/softsign_replacer.py
extensions/front/sparse_to_dense_replacer.py
extensions/front/split_normalizer.py
extensions/front/SqueezeNormalize.py
extensions/front/sub.py
@@ -401,9 +405,7 @@ extensions/front/tf/CorrectRollAxes.py
extensions/front/tf/crop_and_resize_ext.py
extensions/front/tf/CropAndResizeReplacement.py
extensions/front/tf/CTCGreedyDecoder_ext.py
extensions/front/tf/CTCGreedyDecoderReplacement.py
extensions/front/tf/CTCLoss_ext.py
extensions/front/tf/CTCLossReplacement.py
extensions/front/tf/cumsum_ext.py
extensions/front/tf/deconv_ext.py
extensions/front/tf/depth_to_space.py
@@ -497,7 +499,6 @@ extensions/front/tf/sparse_fill_empty_rows_ext.py
extensions/front/tf/sparse_segment_mean_ext.py
extensions/front/tf/sparse_segment_sqrtn_ext.py
extensions/front/tf/sparse_segment_sum_ext.py
extensions/front/tf/sparse_to_dense_replacer.py
extensions/front/tf/split_ext.py
extensions/front/tf/ssd_support.json
extensions/front/tf/ssd_support_api_v1.14.json
@@ -20,7 +20,7 @@ class CTCLossReplacement(FrontReplacementSubgraph):
enabled = True
def run_before(self):
from extensions.front.tf.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement
from extensions.front.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement
return [CTCGreedyDecoderReplacement]
def pattern(self):
@@ -0,0 +1,19 @@
# Copyright (C) 2018-2021 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
from extensions.ops.ctc_greedy_decoder_seq_len import CTCGreedyDecoderSeqLenOp
from mo.front.extractor import FrontExtractorOp
from mo.front.onnx.extractors.utils import onnx_attr
class CTCCGreedyDecoderFrontExtractor(FrontExtractorOp):
op = 'CTCGreedyDecoder'
enabled = True
@classmethod
def extract(cls, node):
attrs = {
'merge_repeated': bool(onnx_attr(node, 'merge_repeated', 'i', default=1)),
}
CTCGreedyDecoderSeqLenOp.update_node_stat(node, attrs)
return cls.enabled
@@ -21,8 +21,8 @@ class SparseToDenseReplacer(FrontReplacementOp):
enabled = True
def run_after(self):
from extensions.front.tf.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement
from extensions.front.tf.CTCLossReplacement import CTCLossReplacement
from extensions.front.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement
from extensions.front.CTCLossReplacement import CTCLossReplacement
return [CTCGreedyDecoderReplacement, CTCLossReplacement]
def replace_op(self, graph: Graph, node: Node):
@@ -3,7 +3,7 @@
import unittest
from extensions.front.tf.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement, CTCGreedyDecoderWithSparseToDenseShapeReplacement
from extensions.front.CTCGreedyDecoderReplacement import CTCGreedyDecoderReplacement, CTCGreedyDecoderWithSparseToDenseShapeReplacement
from mo.front.common.partial_infer.utils import int64_array
from mo.utils.ir_engine.compare_graphs import compare_graphs
from unit_tests.utils.graph import build_graph, const
@@ -5,7 +5,7 @@ import numpy as np
import unittest
from argparse import Namespace
from extensions.front.tf.CTCLossReplacement import CTCLossReplacement
from extensions.front.CTCLossReplacement import CTCLossReplacement
from mo.front.common.partial_infer.utils import int64_array
from mo.utils.ir_engine.compare_graphs import compare_graphs
from unit_tests.utils.graph import build_graph, const
@@ -3,7 +3,7 @@
import unittest
from extensions.front.tf.sparse_to_dense_replacer import SparseToDenseReplacer
from extensions.front.sparse_to_dense_replacer import SparseToDenseReplacer
from mo.front.common.partial_infer.utils import int64_array
from mo.utils.ir_engine.compare_graphs import compare_graphs
from unit_tests.utils.graph import build_graph, const