aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
authorruoyan01 <ruomei.yan@arm.com>2019-02-28 15:09:07 +0000
committerruoyan01 <ruomei.yan@arm.com>2019-03-01 16:39:27 +0000
commit8e7fa232b4e637cc02f2ca344b2113c63cdc7e5a (patch)
tree3c200afe3c7cab37b553ba0461aed4410b7cfbb8 /src/armnnSerializer/Serializer.cpp
parentdd2ba7ebf78a75aadd8ddd2ae1a4226ffc4ae4d9 (diff)
downloadarmnn-8e7fa232b4e637cc02f2ca344b2113c63cdc7e5a.tar.gz
IVGCVSW-2681 Serialize/de-serialize the BatchNormalization layer
Change-Id: I418c4465366742262fb6e6c1eeba76c634beaeb5 Signed-off-by: ruoyan01 <ruomei.yan@arm.com>
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r--src/armnnSerializer/Serializer.cpp29
1 files changed, 29 insertions, 0 deletions
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,