From 8e7fa232b4e637cc02f2ca344b2113c63cdc7e5a Mon Sep 17 00:00:00 2001 From: ruoyan01 Date: Thu, 28 Feb 2019 15:09:07 +0000 Subject: IVGCVSW-2681 Serialize/de-serialize the BatchNormalization layer Change-Id: I418c4465366742262fb6e6c1eeba76c634beaeb5 Signed-off-by: ruoyan01 --- src/armnnSerializer/Serializer.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/armnnSerializer/Serializer.cpp') diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index d40cdfa591..423706ceb3 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -170,6 +170,35 @@ void SerializerVisitor::VisitBatchToSpaceNdLayer(const armnn::IConnectableLayer* CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_BatchToSpaceNdLayer); } +void SerializerVisitor::VisitBatchNormalizationLayer(const armnn::IConnectableLayer* layer, + const armnn::BatchNormalizationDescriptor& batchNormDescriptor, + const armnn::ConstTensor& mean, + const armnn::ConstTensor& variance, + const armnn::ConstTensor& beta, + const armnn::ConstTensor& gamma, + const char* name) +{ + auto fbBatchNormalizationBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_BatchNormalization); + auto fbBatchNormalizationDescriptor = serializer::CreateBatchNormalizationDescriptor( + m_flatBufferBuilder, + batchNormDescriptor.m_Eps, + GetFlatBufferDataLayout(batchNormDescriptor.m_DataLayout)); + + auto fbMeanConstTensorInfo = CreateConstTensorInfo(mean); + auto fbVarianceConstTensorInfo = CreateConstTensorInfo(variance); + auto fbBetaConstTensorInfo = CreateConstTensorInfo(beta); + auto fbGammaConstTensorInfo = CreateConstTensorInfo(gamma); + auto fbBatchNormalizationLayer = serializer::CreateBatchNormalizationLayer(m_flatBufferBuilder, + fbBatchNormalizationBaseLayer, + fbBatchNormalizationDescriptor, + fbMeanConstTensorInfo, + fbVarianceConstTensorInfo, + fbBetaConstTensorInfo, + fbGammaConstTensorInfo); + + CreateAnyLayer(fbBatchNormalizationLayer.o, serializer::Layer::Layer_BatchNormalizationLayer); +} + // Build FlatBuffer for Constant Layer void SerializerVisitor::VisitConstantLayer(const armnn::IConnectableLayer* layer, const armnn::ConstTensor& input, -- cgit v1.2.1