From 88d44b893684be7a14776331c47e3408d29da109 Mon Sep 17 00:00:00 2001 From: Ruomei Yan Date: Thu, 23 May 2019 14:29:06 +0100 Subject: IVGCVSW-3074 Extend the DepthwiseConvolution2d workload to support QSymm16 Change-Id: I47bb0f782acfa5b2d2fee9132875f9a655ea635e Signed-off-by: Ruomei Yan --- src/backends/backendsCommon/WorkloadData.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/backends/backendsCommon/WorkloadData.cpp') diff --git a/src/backends/backendsCommon/WorkloadData.cpp b/src/backends/backendsCommon/WorkloadData.cpp index a3470ad601..a1c74df17b 100644 --- a/src/backends/backendsCommon/WorkloadData.cpp +++ b/src/backends/backendsCommon/WorkloadData.cpp @@ -32,6 +32,8 @@ DataType GetBiasDataType(DataType inputDataType) return DataType::Float32; case DataType::QuantisedAsymm8: return DataType::Signed32; + case DataType::QuantisedSymm16: + return DataType::Signed32; default: BOOST_ASSERT_MSG(false, "Invalid input data type"); return DataType::Float32; @@ -693,6 +695,22 @@ void DepthwiseConvolution2dQueueDescriptor::Validate(const WorkloadInfo& workloa ValidateTensorQuantizationMultiplier(workloadInfo.m_InputTensorInfos[0], m_Weight->GetTensorInfo(), workloadInfo.m_OutputTensorInfos[0], "DepthwiseConvolution2dQueueDescriptor", "input", "weights", "output"); + + // Check the supported data types + std::vector supportedTypes = { + DataType::Float32, + DataType::QuantisedAsymm8, + DataType::QuantisedSymm16, + DataType::Float16 + }; + + ValidateDataTypes(workloadInfo.m_InputTensorInfos[0], + supportedTypes, + "DepthwiseConvolution2dQueueDescriptor"); + + ValidateDataTypes(workloadInfo.m_OutputTensorInfos[0], + {workloadInfo.m_InputTensorInfos[0].GetDataType()}, + "DepthwiseConvolution2dQueueDescriptor"); } void PermuteQueueDescriptor::Validate(const WorkloadInfo& workloadInfo) const -- cgit v1.2.1