aboutsummaryrefslogtreecommitdiff
path: root/1.2
diff options
context:
space:
mode:
authorMike Kelly <mike.kelly@arm.com>2019-07-12 16:39:33 +0100
committerMike Kelly <mike.kelly@arm.com>2019-07-12 16:39:33 +0100
commit86b36d455a41cfcf9b4938c67df143244a34b2f6 (patch)
treecb6c2f3ca57a1b4fe19ea23c14e7a9ced471b591 /1.2
parent5e9521ce5eac717b25844f9da4849b1fc2082f76 (diff)
downloadandroid-nn-driver-86b36d455a41cfcf9b4938c67df143244a34b2f6.tar.gz
IVGCVSW-3454 Fix VTS convolution test failures where output shape is incorrect
* Changed calculation when calculating implicit padding to take dilation into account. * Added CalcPadding function that takes dilation as a parameter. Signed-off-by: Mike Kelly <mike.kelly@arm.com> Change-Id: I38981d9b2cfe8ef36cd0a14d090b541111e7bf34
Diffstat (limited to '1.2')
-rw-r--r--1.2/HalPolicy.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/1.2/HalPolicy.cpp b/1.2/HalPolicy.cpp
index 5a940bea..d7452c68 100644
--- a/1.2/HalPolicy.cpp
+++ b/1.2/HalPolicy.cpp
@@ -243,8 +243,8 @@ bool HalPolicy::ConvertConv2d(const Operation& operation, const Model& model, Co
const uint32_t inputX = inputInfo.GetShape()[widthIndex];
const uint32_t inputY = inputInfo.GetShape()[heightIndex];
- CalcPadding(inputX, kernelX, desc.m_StrideX, desc.m_PadLeft, desc.m_PadRight, paddingScheme);
- CalcPadding(inputY, kernelY, desc.m_StrideY, desc.m_PadTop, desc.m_PadBottom, paddingScheme);
+ CalcPadding(inputX, kernelX, desc.m_StrideX, desc.m_DilationX, desc.m_PadLeft, desc.m_PadRight, paddingScheme);
+ CalcPadding(inputY, kernelY, desc.m_StrideY, desc.m_DilationY, desc.m_PadTop, desc.m_PadBottom, paddingScheme);
}
else if (operation.inputs.size() >= 10)
@@ -400,8 +400,8 @@ bool HalPolicy::ConvertDepthwiseConv2d(const Operation& operation, const Model&
const uint32_t inputX = inputInfo.GetShape()[widthIndex];
const uint32_t inputY = inputInfo.GetShape()[heightIndex];
- CalcPadding(inputX, kernelX, desc.m_StrideX, desc.m_PadLeft, desc.m_PadRight, paddingScheme);
- CalcPadding(inputY, kernelY, desc.m_StrideY, desc.m_PadTop, desc.m_PadBottom, paddingScheme);
+ CalcPadding(inputX, kernelX, desc.m_StrideX, desc.m_DilationX, desc.m_PadLeft, desc.m_PadRight, paddingScheme);
+ CalcPadding(inputY, kernelY, desc.m_StrideY, desc.m_DilationY, desc.m_PadTop, desc.m_PadBottom, paddingScheme);
}
else if (operation.inputs.size() >= 11)
{