diff options
author | Mike Kelly <mike.kelly@arm.com> | 2020-11-17 11:41:38 +0000 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2020-11-17 12:57:52 +0000 |
commit | 1ac690a12d4952acb8c06b41f0492ed47524b1f1 (patch) | |
tree | 2a9e5c8c6e68215e4a579b9e47aac132439a5e8e /src/backends/aclCommon | |
parent | 91c4171421633b3ff9764bd586f43137aef0ff1a (diff) | |
download | armnn-1ac690a12d4952acb8c06b41f0492ed47524b1f1.tar.gz |
MLCE-278-IVGCVSW-5530 FusedActivation issues
* GetOverriddenDataType was returning incorrect quantization data
* Optimized CpuAcc and GpuAcc SubGraphs fail validation on debug versions
of ArmNN
Signed-off-by: Mike Kelly <mike.kelly@arm.com>
Change-Id: Ie97935cc2af67bd9aeebc94b63dafa458bd1aa8c
Diffstat (limited to 'src/backends/aclCommon')
-rw-r--r-- | src/backends/aclCommon/ArmComputeSubgraphUtils.hpp | 37 |
1 files changed, 8 insertions, 29 deletions
diff --git a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp index d969d5bc31..860d88df80 100644 --- a/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp +++ b/src/backends/aclCommon/ArmComputeSubgraphUtils.hpp @@ -47,38 +47,17 @@ SubgraphView::OutputSlots CreateOutputsFrom(const std::vector<Layer*>& layers) } // namespace -inline const TensorInfo GetOverriddenDataType(const TensorInfo& info, Optional<DataType> type) +inline void ReportUntouchedLayers(OptimizationViews& optimizationViews, std::map<LayerGuid, Layer*> untouched) { - if (!type) + std::vector<Layer*> untouchedVector; + for (const auto& pair : untouched) { - return info; + Layer* layer = pair.second; + SubgraphView subgraphView(CreateInputsFrom({layer}), + CreateOutputsFrom({layer}), + {layer}); + optimizationViews.AddUntouchedSubgraph(std::move(subgraphView)); } - - return TensorInfo(info.GetShape(), type.value(), info.GetQuantizationScale(), info.GetQuantizationOffset()); -} - -inline armnn::Optional<armnn::DataType> GetOptionalBiasTypeFromWeightsType(armnn::Optional<armnn::DataType> weightsType) -{ - if (!weightsType) - { - return weightsType; - } - - switch(weightsType.value()) - { - case armnn::DataType::BFloat16: - case armnn::DataType::Float16: - case armnn::DataType::Float32: - return weightsType; - case armnn::DataType::QAsymmS8: - case armnn::DataType::QAsymmU8: - case armnn::DataType::QSymmS8: - case armnn::DataType::QSymmS16: - return armnn::DataType::Signed32; - default: - ARMNN_ASSERT_MSG(false, "GetBiasTypeFromWeightsType(): Unsupported data type."); - } - return armnn::EmptyOptional(); } template<typename LayerType> |