From ac97c8cda28f81ce76834b8b769967d42b02e2ac Mon Sep 17 00:00:00 2001 From: Sadik Armagan Date: Mon, 4 Mar 2019 17:44:21 +0000 Subject: IVGCVSW-2696 Serialize / de-serialize the Mean layer Change-Id: Iee4bab5a6d6b992cf4bba8697a2918f854c906a3 Signed-off-by: Sadik Armagan --- src/armnnSerializer/Serializer.cpp | 53 +++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'src/armnnSerializer/Serializer.cpp') diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 4e408ae807..56c4281a87 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -313,12 +313,20 @@ void SerializerVisitor::VisitFloorLayer(const armnn::IConnectableLayer *layer, c CreateAnyLayer(flatBufferFloorLayer.o, serializer::Layer::Layer_FloorLayer); } -void SerializerVisitor::VisitMinimumLayer(const armnn::IConnectableLayer* layer, const char* name) +void SerializerVisitor::VisitGatherLayer(const armnn::IConnectableLayer* layer, const char* name) { - auto fbMinimumBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Minimum); - auto fbMinimumLayer = serializer::CreateMinimumLayer(m_flatBufferBuilder, fbMinimumBaseLayer); + auto fbGatherBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Gather); + auto flatBufferLayer = serializer::CreateGatherLayer(m_flatBufferBuilder, fbGatherBaseLayer); - CreateAnyLayer(fbMinimumLayer.o, serializer::Layer::Layer_MinimumLayer); + CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_GatherLayer); +} + +void SerializerVisitor::VisitGreaterLayer(const armnn::IConnectableLayer* layer, const char* name) +{ + auto fbGreaterBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Greater); + auto fbGreaterLayer = serializer::CreateGreaterLayer(m_flatBufferBuilder, fbGreaterBaseLayer); + + CreateAnyLayer(fbGreaterLayer.o, serializer::Layer::Layer_GreaterLayer); } void SerializerVisitor::VisitMaximumLayer(const armnn::IConnectableLayer* layer, const char* name) @@ -329,34 +337,37 @@ void SerializerVisitor::VisitMaximumLayer(const armnn::IConnectableLayer* layer, CreateAnyLayer(fbMaximumLayer.o, serializer::Layer::Layer_MaximumLayer); } -void SerializerVisitor::VisitGatherLayer(const armnn::IConnectableLayer* layer, const char* name) +void SerializerVisitor::VisitMeanLayer(const armnn::IConnectableLayer* layer, + const armnn::MeanDescriptor& descriptor, + const char* name) { - auto fbGatherBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Gather); - auto flatBufferLayer = serializer::CreateGatherLayer(m_flatBufferBuilder, fbGatherBaseLayer); + auto fbMeanBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Mean); + auto fbMeanDescriptor = serializer::CreateMeanDescriptor(m_flatBufferBuilder, + m_flatBufferBuilder.CreateVector(descriptor.m_Axis), + descriptor.m_KeepDims); - CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_GatherLayer); + auto fbMeanLayer = serializer::CreateMeanLayer(m_flatBufferBuilder, + fbMeanBaseLayer, + fbMeanDescriptor); + + CreateAnyLayer(fbMeanLayer.o, serializer::Layer::Layer_MeanLayer); } -void SerializerVisitor::VisitGreaterLayer(const armnn::IConnectableLayer* layer, const char* name) +void SerializerVisitor::VisitMinimumLayer(const armnn::IConnectableLayer* layer, const char* name) { - auto fbGreaterBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Greater); - auto fbGreaterLayer = serializer::CreateGreaterLayer(m_flatBufferBuilder, fbGreaterBaseLayer); + auto fbMinimumBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Minimum); + auto fbMinimumLayer = serializer::CreateMinimumLayer(m_flatBufferBuilder, fbMinimumBaseLayer); - CreateAnyLayer(fbGreaterLayer.o, serializer::Layer::Layer_GreaterLayer); + CreateAnyLayer(fbMinimumLayer.o, serializer::Layer::Layer_MinimumLayer); } -// Build FlatBuffer for Multiplication Layer void SerializerVisitor::VisitMultiplicationLayer(const armnn::IConnectableLayer* layer, const char* name) { - // Create FlatBuffer BaseLayer - auto flatBufferMultiplicationBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Multiplication); - - // Create the FlatBuffer MultiplicationLayer - auto flatBufferMultiplicationLayer = - serializer::CreateMultiplicationLayer(m_flatBufferBuilder, flatBufferMultiplicationBaseLayer); + auto fbMultiplicationBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Multiplication); + auto fbMultiplicationLayer = serializer::CreateMultiplicationLayer(m_flatBufferBuilder, + fbMultiplicationBaseLayer); - // Add the AnyLayer to the FlatBufferLayers - CreateAnyLayer(flatBufferMultiplicationLayer.o, serializer::Layer::Layer_MultiplicationLayer); + CreateAnyLayer(fbMultiplicationLayer.o, serializer::Layer::Layer_MultiplicationLayer); } void SerializerVisitor::VisitPadLayer(const armnn::IConnectableLayer* layer, -- cgit v1.2.1