diff options
author | Matthew Sloyan <matthew.sloyan@arm.com> | 2021-10-21 14:05:31 +0100 |
---|---|---|
committer | Teresa Charlin <teresa.charlinreyes@arm.com> | 2021-10-27 20:54:21 +0100 |
commit | 2e5d0b2e2a212ceb803681b717cbaf821f5e0929 (patch) | |
tree | dd2364c8cd2845bd880191526a5eeb51eee7a2d4 /src/backends/reference/workloads/RefPadWorkload.cpp | |
parent | 65b86d4a42f3a55322d4bd4d8dccf6cf22775a30 (diff) | |
download | armnn-2e5d0b2e2a212ceb803681b717cbaf821f5e0929.tar.gz |
IVGCVSW-6469 Add MirrorPad FrontEnd and Ref Support
* Added PaddingMode enum to PaddingDescriptor to enable Symmetric and
Reflect padding.
* Added Symmetric and Reflect Ref implementation.
* Added Serializer & Deserializer support.
* Added unit tests.
Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: I4bed907b31742b32ccefe5e8ca39a6f1e5bd9dee
Diffstat (limited to 'src/backends/reference/workloads/RefPadWorkload.cpp')
-rw-r--r-- | src/backends/reference/workloads/RefPadWorkload.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/backends/reference/workloads/RefPadWorkload.cpp b/src/backends/reference/workloads/RefPadWorkload.cpp index f15306d1af..fd0728c8cd 100644 --- a/src/backends/reference/workloads/RefPadWorkload.cpp +++ b/src/backends/reference/workloads/RefPadWorkload.cpp @@ -5,6 +5,7 @@ #include "RefPadWorkload.hpp" +#include "MirrorPad.hpp" #include "Pad.hpp" #include "Profiling.hpp" #include "RefWorkloadUtils.hpp" @@ -29,11 +30,19 @@ void RefPadWorkload::Execute(std::vector<ITensorHandle*> inputs, std::vector<ITe const TensorInfo& inputInfo = GetTensorInfo(inputs[0]); const TensorInfo& outputInfo = GetTensorInfo(outputs[0]); - armnn::Pad(inputInfo, - outputInfo, - inputs[0], - outputs[0], - m_Data); + PaddingMode paddingMode = m_Data.m_Parameters.m_PaddingMode; + if (paddingMode == PaddingMode::Constant) + { + armnn::Pad(inputInfo, outputInfo, inputs[0], outputs[0], m_Data); + } + else if(paddingMode == PaddingMode::Reflect || paddingMode == PaddingMode::Symmetric) + { + armnn::MirrorPad(inputInfo, outputInfo, inputs[0], outputs[0], m_Data); + } + else + { + throw InvalidArgumentException("Padding mode not supported."); + } } } //namespace armnn
\ No newline at end of file |