From 3e3003eeac24aed5408a37b7fcb0644898a9c654 Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Tue, 13 Aug 2019 12:54:34 +0100 Subject: IVGCVSW-3619 Fix GpuAcc NN Test Failures * Fixed TransposedConv2d failures calculateExplicitPaddingTransposeConv expects int32_t. Signed-off-by: Sadik Armagan Change-Id: I6ea9ea2d1ccfd17debcf93ee518287a083815f01 --- 1.2/HalPolicy.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp index 821a0f30..c8e242e0 100644 --- a/1.2/HalPolicy.cpp +++ b/1.2/HalPolicy.cpp @@ -1813,10 +1813,17 @@ bool HalPolicy::ConvertTransposeConv2d(const Operation& operation, const Model& if (implicitPadding) { + int32_t strideX{0}; + int32_t strideY{0}; + int32_t padLeft{0}; + int32_t padRight{0}; + int32_t padTop{0}; + int32_t padBottom{0}; + android::nn::PaddingScheme paddingScheme; if (!GetInputPaddingScheme(operation, 4, paddingScheme, model, data) || - !GetInputScalar(operation, 5, OperandType::INT32, desc.m_StrideX, model, data) || - !GetInputScalar(operation, 6, OperandType::INT32, desc.m_StrideY, model, data) || + !GetInputScalar(operation, 5, OperandType::INT32, strideX, model, data) || + !GetInputScalar(operation, 6, OperandType::INT32, strideY, model, data) || !GetInputActivationFunction(operation, 7, activation, model, data)) { return Fail("%s: Operation has invalid inputs (implicit padding)", __func__); @@ -1827,11 +1834,6 @@ bool HalPolicy::ConvertTransposeConv2d(const Operation& operation, const Model& const uint32_t outputX = outputInfo.GetShape()[widthIndex]; const uint32_t outputY = outputInfo.GetShape()[heightIndex]; - int32_t padLeft{0}; - int32_t padRight{0}; - int32_t padTop{0}; - int32_t padBottom{0}; - CalcPaddingTransposeConv(outputX, kernelX, desc.m_StrideX, padLeft, padRight, paddingScheme); CalcPaddingTransposeConv(outputY, kernelY, desc.m_StrideY, padTop, padBottom, paddingScheme); @@ -1842,6 +1844,8 @@ bool HalPolicy::ConvertTransposeConv2d(const Operation& operation, const Model& return Fail("%s: Negative padding values are not supported", __func__); } + desc.m_StrideX = boost::numeric_cast(strideX); + desc.m_StrideY = boost::numeric_cast(strideY); desc.m_PadLeft = boost::numeric_cast(padLeft); desc.m_PadRight = boost::numeric_cast(padRight); desc.m_PadTop = boost::numeric_cast(padTop); -- cgit v1.2.1