diff options
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r-- | src/armnnSerializer/Serializer.cpp | 29 |
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); |