aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon/WorkloadData.cpp
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-05-15 14:07:05 +0100
committerTeresaARM <teresa.charlinreyes@arm.com>2022-05-18 15:31:51 +0000
commit07307f3c40c4efd8615755ed92ce300a3e150732 (patch)
treefef7e7068a613e34491a7c846dda9b19b61e3a8f /src/backends/backendsCommon/WorkloadData.cpp
parent80512b0e1e98cb6782f5526fc8308ae6a571cd59 (diff)
downloadarmnn-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/WorkloadData.cpp')
-rw-r--r--src/backends/backendsCommon/WorkloadData.cpp15
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