From 2e5d0b2e2a212ceb803681b717cbaf821f5e0929 Mon Sep 17 00:00:00 2001 From: Matthew Sloyan Date: Thu, 21 Oct 2021 14:05:31 +0100 Subject: 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 Change-Id: I4bed907b31742b32ccefe5e8ca39a6f1e5bd9dee --- include/armnn/Descriptors.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'include/armnn/Descriptors.hpp') diff --git a/include/armnn/Descriptors.hpp b/include/armnn/Descriptors.hpp index 39ea824045..a8ad12ff8f 100644 --- a/include/armnn/Descriptors.hpp +++ b/include/armnn/Descriptors.hpp @@ -1060,17 +1060,20 @@ struct MeanDescriptor : BaseDescriptor /// A PadDescriptor for the PadLayer. struct PadDescriptor : BaseDescriptor { - PadDescriptor() : m_PadValue(0) + PadDescriptor() : m_PadValue(0), m_PaddingMode(PaddingMode::Constant) {} - PadDescriptor(const std::vector>& padList, const float& padValue = 0) + PadDescriptor(const std::vector>& padList, + const float& padValue = 0, + const PaddingMode& paddingMode = PaddingMode::Constant) : m_PadList(padList) , m_PadValue(padValue) + , m_PaddingMode(paddingMode) {} bool operator ==(const PadDescriptor& rhs) const { - return m_PadList == rhs.m_PadList && m_PadValue == rhs.m_PadValue; + return m_PadList == rhs.m_PadList && m_PadValue == rhs.m_PadValue && m_PaddingMode == rhs.m_PaddingMode; } /// @brief Specifies the padding for input dimension. @@ -1081,6 +1084,9 @@ struct PadDescriptor : BaseDescriptor /// Optional value to use for padding, defaults to 0 float m_PadValue; + + /// Specifies the Padding mode (Constant, Reflect or Symmetric) + PaddingMode m_PaddingMode; }; /// A SliceDescriptor for the SliceLayer. -- cgit v1.2.1