diff options
author | Teresa Charlin <teresa.charlinreyes@arm.com> | 2022-05-15 14:07:05 +0100 |
---|---|---|
committer | TeresaARM <teresa.charlinreyes@arm.com> | 2022-05-18 15:31:51 +0000 |
commit | 07307f3c40c4efd8615755ed92ce300a3e150732 (patch) | |
tree | fef7e7068a613e34491a7c846dda9b19b61e3a8f /src/backends/backendsCommon | |
parent | 80512b0e1e98cb6782f5526fc8308ae6a571cd59 (diff) | |
download | armnn-07307f3c40c4efd8615755ed92ce300a3e150732.tar.gz |
IVGCVSW-6455 Support Const + Dequantize layer and optimize it.
* Support Float16 as input to Dequantize layer
* Add Optimization to substitute Const+Dequantize layers with Const layer
Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com>
Change-Id: I58bb7e3871ca480c7b6fca93c4efb2de84e09e64
Signed-off-by: David <david.monahan@arm.com>
Diffstat (limited to 'src/backends/backendsCommon')
-rw-r--r-- | src/backends/backendsCommon/WorkloadData.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index 2194b487d3..606821b5e5 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -2903,19 +2903,24 @@ void DequantizeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const const TensorInfo& inputTensorInfo = workloadInfo.m_InputTensorInfos[0]; const TensorInfo& outputTensorInfo = workloadInfo.m_OutputTensorInfos[0]; - if (!IsQuantizedType(inputTensorInfo.GetDataType())) + std::vector<DataType> inputSupportedTypes = { - throw InvalidArgumentException(descriptorName + ": Input to dequantize layer must be quantized type."); - } + DataType::QAsymmS8, + DataType::QAsymmU8, + DataType::QSymmS8, + DataType::QSymmS16, + DataType::Float16 + }; + ValidateDataTypes(inputTensorInfo, inputSupportedTypes, descriptorName); - std::vector<DataType> supportedTypes = + std::vector<DataType> outputSupportedTypes = { DataType::BFloat16, DataType::Float32, DataType::Float16 }; - ValidateDataTypes(outputTensorInfo, supportedTypes, descriptorName); + ValidateDataTypes(outputTensorInfo, outputSupportedTypes, descriptorName); } void MergeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const |