From 07c7c9a38dbd08bb2f2573e5cfc6bbd9090020dc Mon Sep 17 00:00:00 2001 From: Aron Virginas-Tar Date: Wed, 12 Jun 2019 14:03:35 +0100 Subject: IVGCVSW-3272 Add support for optional DepthwiseConvolution2d dilation parameters Signed-off-by: Aron Virginas-Tar Change-Id: Idce519adcd4a2983e8c338b2e4483e040ad879d2 --- ConversionUtils.hpp | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) (limited to 'ConversionUtils.hpp') diff --git a/ConversionUtils.hpp b/ConversionUtils.hpp index 3ad15d30..808fc1ca 100644 --- a/ConversionUtils.hpp +++ b/ConversionUtils.hpp @@ -773,6 +773,37 @@ bool GetOptionalInputActivation(const HalOperation& operation, return true; } +template +bool GetOptionalConvolutionDilationParams(const HalOperation& operation, + uint32_t dilationXIndex, + ConvolutionDescriptor& descriptor, + const HalModel& model, + const ConversionData& data) +{ + bool success = true; + if (operation.inputs.size() >= dilationXIndex + 2) + { + success &= GetInputScalar(operation, + dilationXIndex, + HalOperandType::INT32, + descriptor.m_DilationX, + model, + data); + success &= GetInputScalar(operation, + dilationXIndex + 1, + HalOperandType::INT32, + descriptor.m_DilationY, + model, + data); + } + + return success; +} + template bool GetTensorInt32Values(const HalOperand& operand, std::vector& outValues, @@ -1306,7 +1337,8 @@ bool ConvertDepthwiseConv2d(const HalOperation& operation, const HalModel& model data) || !GetInputScalar(operation, 8, HalOperandType::INT32, desc.m_StrideY, model, data) - || !GetInputActivationFunction(operation, 10, activation, model, data)) + || !GetInputActivationFunction(operation, 10, activation, model, data) + || !GetOptionalConvolutionDilationParams(operation, 12, desc, model, data)) { return Fail("%s: Operation has invalid inputs", __func__); } @@ -1319,7 +1351,8 @@ bool ConvertDepthwiseConv2d(const HalOperation& operation, const HalModel& model data) || !GetInputScalar(operation, 5, HalOperandType::INT32, desc.m_StrideY, model, data) - || !GetInputActivationFunction(operation, 7, activation, model, data)) + || !GetInputActivationFunction(operation, 7, activation, model, data) + || !GetOptionalConvolutionDilationParams(operation, 9, desc, model, data)) { return Fail("%s: Operation has invalid inputs", __func__); } -- cgit v1.2.1