aboutsummaryrefslogtreecommitdiff
path: root/src/backends/backendsCommon
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2022-05-15 14:07:05 +0100
committerRyan OShea <ryan.oshea3@arm.com>2022-05-19 11:06:53 +0100
commit5841c740ba6bc6c8c3e96d24156dc47907af6430 (patch)
treefef7e7068a613e34491a7c846dda9b19b61e3a8f /src/backends/backendsCommon
parent21fe06fad6760a0d453f2de9c8dd790983ae940c (diff)
downloadarmnn-5841c740ba6bc6c8c3e96d24156dc47907af6430.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.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