From 7dca134031b4a9b8e5e864d5b7922768a44704e8 Mon Sep 17 00:00:00 2001 From: Pavel Esir Date: Fri, 19 Feb 2021 11:44:11 +0300 Subject: [PATCH] [MO] [TF] Added TF broadcast_to extractor (#4376) * Added TF broadcast_to extractor * updated Supported_Frameworks_Layers.md * corrected name * corrected op name in Supported_Frameworks_Layers.md * added a space after BroadcastTo in Supported_Frameworks_Layers.md --- .../Supported_Frameworks_Layers.md | 1 + model-optimizer/automation/package_BOM.txt | 1 + .../extensions/front/tf/broadcast_ext.py | 29 +++++++++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 model-optimizer/extensions/front/tf/broadcast_ext.py diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 6c040532812..8be46067a6f 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -134,6 +134,7 @@ Standard TensorFlow\* operations: | BatchToSpaceND | No | | BiasAdd | No | | Bucketize | CPU only | +| BroadcastTo | No | | Cast | No | | Ceil | No | | Concat | No | diff --git a/model-optimizer/automation/package_BOM.txt b/model-optimizer/automation/package_BOM.txt index 80af612c04c..f3b0a8a14dd 100644 --- a/model-optimizer/automation/package_BOM.txt +++ b/model-optimizer/automation/package_BOM.txt @@ -370,6 +370,7 @@ extensions/front/tf/BatchMatMul_ext.py extensions/front/tf/BatchToSpaceNDToUpsample.py extensions/front/tf/BlockLSTM.py extensions/front/tf/BlockLSTM_ext.py +extensions/front/tf/broadcast_ext.py extensions/front/tf/bucketize.py extensions/front/tf/bucketize_ext.py extensions/front/tf/Cast_ext.py diff --git a/model-optimizer/extensions/front/tf/broadcast_ext.py b/model-optimizer/extensions/front/tf/broadcast_ext.py new file mode 100644 index 00000000000..1547c2c6914 --- /dev/null +++ b/model-optimizer/extensions/front/tf/broadcast_ext.py @@ -0,0 +1,29 @@ +""" + Copyright (C) 2018-2021 Intel Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +""" + +from mo.front.extractor import FrontExtractorOp +from mo.graph.graph import Node +from mo.ops.broadcast import Broadcast + + +class BroadcastExtractor(FrontExtractorOp): + op = 'BroadcastTo' + enabled = True + + @classmethod + def extract(cls, node: Node): + Broadcast.update_node_stat(node, attrs={'mode': 'numpy'}) + return cls.enabled