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/armnnSerializer/ArmnnSchema_generated.h | |
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/armnnSerializer/ArmnnSchema_generated.h')
-rw-r--r-- | src/armnnSerializer/ArmnnSchema_generated.h | 53 |
1 files changed, 49 insertions, 4 deletions
diff --git a/src/armnnSerializer/ArmnnSchema_generated.h b/src/armnnSerializer/ArmnnSchema_generated.h index 712ad28574..7747f9edd9 100644 --- a/src/armnnSerializer/ArmnnSchema_generated.h +++ b/src/armnnSerializer/ArmnnSchema_generated.h @@ -1198,6 +1198,39 @@ inline const char *EnumNameNormalizationAlgorithmMethod(NormalizationAlgorithmMe return EnumNamesNormalizationAlgorithmMethod()[index]; } +enum PaddingMode { + PaddingMode_Constant = 0, + PaddingMode_Reflect = 1, + PaddingMode_Symmetric = 2, + PaddingMode_MIN = PaddingMode_Constant, + PaddingMode_MAX = PaddingMode_Symmetric +}; + +inline const PaddingMode (&EnumValuesPaddingMode())[3] { + static const PaddingMode values[] = { + PaddingMode_Constant, + PaddingMode_Reflect, + PaddingMode_Symmetric + }; + return values; +} + +inline const char * const *EnumNamesPaddingMode() { + static const char * const names[4] = { + "Constant", + "Reflect", + "Symmetric", + nullptr + }; + return names; +} + +inline const char *EnumNamePaddingMode(PaddingMode e) { + if (flatbuffers::IsOutRange(e, PaddingMode_Constant, PaddingMode_Symmetric)) return ""; + const size_t index = static_cast<size_t>(e); + return EnumNamesPaddingMode()[index]; +} + enum Layer { Layer_NONE = 0, Layer_ActivationLayer = 1, @@ -6383,7 +6416,8 @@ struct PadDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PadDescriptorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PADLIST = 4, - VT_PADVALUE = 6 + VT_PADVALUE = 6, + VT_PADDINGMODE = 8 }; const flatbuffers::Vector<uint32_t> *padList() const { return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PADLIST); @@ -6391,11 +6425,15 @@ struct PadDescriptor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { float padValue() const { return GetField<float>(VT_PADVALUE, 0.0f); } + armnnSerializer::PaddingMode paddingMode() const { + return static_cast<armnnSerializer::PaddingMode>(GetField<int8_t>(VT_PADDINGMODE, 0)); + } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_PADLIST) && verifier.VerifyVector(padList()) && VerifyField<float>(verifier, VT_PADVALUE) && + VerifyField<int8_t>(verifier, VT_PADDINGMODE) && verifier.EndTable(); } }; @@ -6410,6 +6448,9 @@ struct PadDescriptorBuilder { void add_padValue(float padValue) { fbb_.AddElement<float>(PadDescriptor::VT_PADVALUE, padValue, 0.0f); } + void add_paddingMode(armnnSerializer::PaddingMode paddingMode) { + fbb_.AddElement<int8_t>(PadDescriptor::VT_PADDINGMODE, static_cast<int8_t>(paddingMode), 0); + } explicit PadDescriptorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); @@ -6425,22 +6466,26 @@ struct PadDescriptorBuilder { inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptor( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<flatbuffers::Vector<uint32_t>> padList = 0, - float padValue = 0.0f) { + float padValue = 0.0f, + armnnSerializer::PaddingMode paddingMode = armnnSerializer::PaddingMode_Constant) { PadDescriptorBuilder builder_(_fbb); builder_.add_padValue(padValue); builder_.add_padList(padList); + builder_.add_paddingMode(paddingMode); return builder_.Finish(); } inline flatbuffers::Offset<PadDescriptor> CreatePadDescriptorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector<uint32_t> *padList = nullptr, - float padValue = 0.0f) { + float padValue = 0.0f, + armnnSerializer::PaddingMode paddingMode = armnnSerializer::PaddingMode_Constant) { auto padList__ = padList ? _fbb.CreateVector<uint32_t>(*padList) : 0; return armnnSerializer::CreatePadDescriptor( _fbb, padList__, - padValue); + padValue, + paddingMode); } /// @deprecated Use ElementwiseUnaryLayer instead |