From 07307f3c40c4efd8615755ed92ce300a3e150732 Mon Sep 17 00:00:00 2001 From: Teresa Charlin Date: Sun, 15 May 2022 14:07:05 +0100 Subject: 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 Change-Id: I58bb7e3871ca480c7b6fca93c4efb2de84e09e64 Signed-off-by: David --- src/backends/backendsCommon/WorkloadData.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/backends/backendsCommon/WorkloadData.cpp') 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 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 supportedTypes = + std::vector outputSupportedTypes = { DataType::BFloat16, DataType::Float32, DataType::Float16 }; - ValidateDataTypes(outputTensorInfo, supportedTypes, descriptorName); + ValidateDataTypes(outputTensorInfo, outputSupportedTypes, descriptorName); } void MergeQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const -- cgit v1.2.1