diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-09-09 17:16:24 +0100 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2019-09-11 08:57:05 +0000 |
commit | 0cfcf235c4bcd2ae570eea8bc2677f471281b8e6 (patch) | |
tree | dbeba0ddeb240f91099f6d436757cd365dc8ab2b /src/armnnSerializer/Serializer.cpp | |
parent | 4cd29a046c3d46917d84d12feb668969af23a39e (diff) | |
download | armnn-0cfcf235c4bcd2ae570eea8bc2677f471281b8e6.tar.gz |
IVGCVSW-3724 Adding serialization support for ArgMinMax
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com>
Change-Id: I21210c843c3b8800ccc68d4f3095259d0a233bd1
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r-- | src/armnnSerializer/Serializer.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 595573c417..602c4ab99f 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -49,6 +49,18 @@ serializer::ActivationFunction GetFlatBufferActivationFunction(armnn::Activation } } +serializer::ArgMinMaxFunction GetFlatBufferArgMinMaxFunction(armnn::ArgMinMaxFunction function) +{ + switch (function) + { + case armnn::ArgMinMaxFunction::Max: + return serializer::ArgMinMaxFunction::ArgMinMaxFunction_Max; + case armnn::ArgMinMaxFunction::Min: + default: + return serializer::ArgMinMaxFunction::ArgMinMaxFunction_Min; + } +} + uint32_t SerializerVisitor::GetSerializedId(unsigned int guid) { std::pair<unsigned int, uint32_t> guidPair(guid, m_layerId); @@ -154,8 +166,20 @@ void SerializerVisitor::VisitArgMinMaxLayer(const armnn::IConnectableLayer *laye const armnn::ArgMinMaxDescriptor& descriptor, const char *name) { - // This will be implemented in IVGCVSW-3724 - throw UnimplementedException("SerializerVisitor::VisitArgMinMaxLayer is not implemented"); + // Create FlatBuffer BaseLayer + auto flatBufferBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_ArgMinMax); + + // Create FlatBuffer Descriptor + auto flatBufferDescriptor = CreateArgMinMaxDescriptor(m_flatBufferBuilder, + GetFlatBufferArgMinMaxFunction(descriptor.m_Function), + descriptor.m_Axis); + + // Create FlatBuffer ArgMinMaxLayer + auto flatBufferLayer = CreateArgMinMaxLayer(m_flatBufferBuilder, + flatBufferBaseLayer, + flatBufferDescriptor); + + CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_ArgMinMaxLayer); } // Build FlatBuffer for BatchToSpaceNd Layer |