aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
authorNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-03-18 12:37:06 +0000
committerNattapat Chaimanowong <nattapat.chaimanowong@arm.com>2019-03-18 12:37:06 +0000
commit3e14a9d2033530df49546ab0da63ad4b6470f551 (patch)
tree030433752c31b42eeecc1ed094c39c2c508dd57f /src/armnnSerializer/Serializer.cpp
parent65d30965eef7e8534fc16ea4ded413c42a81c362 (diff)
downloadarmnn-3e14a9d2033530df49546ab0da63ad4b6470f551.tar.gz
IVGCVSW-2686 Add Serializer and Deserializer for DetectionPostProcess
Change-Id: Ife48db5fdb005ebca0a6f21862b0ce971ccf58b7 Signed-off-by: Nattapat Chaimanowong <nattapat.chaimanowong@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 3774c250e1..0340f56d17 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -289,6 +289,35 @@ void SerializerVisitor::VisitDepthwiseConvolution2dLayer(const armnn::IConnectab
CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_DepthwiseConvolution2dLayer);
}
+void SerializerVisitor::VisitDetectionPostProcessLayer(const armnn::IConnectableLayer* layer,
+ const armnn::DetectionPostProcessDescriptor& descriptor,
+ const armnn::ConstTensor& anchors,
+ const char* name)
+{
+ auto fbBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_DetectionPostProcess);
+ auto fbDescriptor = CreateDetectionPostProcessDescriptor(m_flatBufferBuilder,
+ descriptor.m_MaxDetections,
+ descriptor.m_MaxClassesPerDetection,
+ descriptor.m_DetectionsPerClass,
+ descriptor.m_NmsScoreThreshold,
+ descriptor.m_NmsIouThreshold,
+ descriptor.m_NumClasses,
+ descriptor.m_UseRegularNms,
+ descriptor.m_ScaleX,
+ descriptor.m_ScaleY,
+ descriptor.m_ScaleW,
+ descriptor.m_ScaleH);
+
+ flatbuffers::Offset<serializer::ConstTensor> fbAnchorsConstTensorInfo = CreateConstTensorInfo(anchors);
+
+ auto flatBufferLayer = CreateDetectionPostProcessLayer(m_flatBufferBuilder,
+ fbBaseLayer,
+ fbDescriptor,
+ fbAnchorsConstTensorInfo);
+
+ CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_DetectionPostProcessLayer);
+}
+
void SerializerVisitor::VisitDivisionLayer(const armnn::IConnectableLayer* layer, const char* name)
{
auto fbDivisionBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Division);