From b23912ac0371bc905b057746cb5a6b8427a56e5a Mon Sep 17 00:00:00 2001 From: Maksim Doronin Date: Mon, 15 Jun 2020 13:57:16 +0300 Subject: [PATCH] [IE VPU] Dynamic Concat fixes (#842) * [IE VPU] Dynamic Concat fixes * [IE VPU] Update firmware --- inference-engine/cmake/vpu_dependencies.cmake | 2 +- .../src/vpu/graph_transformer/src/stages/concat.cpp | 8 ++++---- .../src/vpu/graph_transformer/src/stages/eltwise.cpp | 13 ++++++++++--- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/inference-engine/cmake/vpu_dependencies.cmake b/inference-engine/cmake/vpu_dependencies.cmake index 23a1464..f8d21c0 100644 --- a/inference-engine/cmake/vpu_dependencies.cmake +++ b/inference-engine/cmake/vpu_dependencies.cmake @@ -19,7 +19,7 @@ set(VPU_SUPPORTED_FIRMWARES usb-ma2450 usb-ma2x8x pcie-ma248x) # Default packages # -set(FIRMWARE_PACKAGE_VERSION 1216) +set(FIRMWARE_PACKAGE_VERSION 1219) set(VPU_CLC_MA2X8X_VERSION "movi-cltools-20.02.0") # diff --git a/inference-engine/src/vpu/graph_transformer/src/stages/concat.cpp b/inference-engine/src/vpu/graph_transformer/src/stages/concat.cpp index ee6a538..7d3f41c 100644 --- a/inference-engine/src/vpu/graph_transformer/src/stages/concat.cpp +++ b/inference-engine/src/vpu/graph_transformer/src/stages/concat.cpp @@ -293,10 +293,10 @@ void FrontEnd::parseConcat( // be replace with Data <-> Data edges. auto inferRequirement = ConcatInferRequirement::CanBeReplaced; if (auto concatOp = std::dynamic_pointer_cast(layer->getNode())) { - inferRequirement = concatOp->get_output_as_single_output_node(0)->get_type_info() == - ngraph::vpu::op::DynamicShapeResolver::type_info - ? ConcatInferRequirement::NeedToInfer - : ConcatInferRequirement::CanBeReplaced; + inferRequirement = concatOp->get_input_source_output(0).get_node_shared_ptr()->get_type_info() == + ngraph::vpu::op::DynamicShapeResolver::type_info + ? ConcatInferRequirement::NeedToInfer + : ConcatInferRequirement::CanBeReplaced; } _stageBuilder->addConcatStage(model, concat->name, concat, axis, inputs, output, inferRequirement); diff --git a/inference-engine/src/vpu/graph_transformer/src/stages/eltwise.cpp b/inference-engine/src/vpu/graph_transformer/src/stages/eltwise.cpp index a17d6e0..0657063 100644 --- a/inference-engine/src/vpu/graph_transformer/src/stages/eltwise.cpp +++ b/inference-engine/src/vpu/graph_transformer/src/stages/eltwise.cpp @@ -140,10 +140,17 @@ private: const auto& dataTypeOutput = output(0)->desc().type(); { + static const std::set stageTypesWhichSupportS32 = { + StageType::Sum, + StageType::Greater_equal, + StageType::Equal, + StageType::Select, + StageType::Prod, + StageType::Max, + StageType::Div, + }; auto supportedDataTypesInput0 = EnumSet{DataType::FP16}; - if (operation == StageType::Sum || operation == StageType::Greater_equal || - operation == StageType::Equal || operation == StageType::Select || - operation == StageType::Prod || operation == StageType::Max) { + if (stageTypesWhichSupportS32.count(operation)) { supportedDataTypesInput0.insert(DataType::S32); } -- 2.7.4