aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
authorMatthew Jackson <matthew.jackson@arm.com>2019-07-11 15:54:20 +0100
committerMatthew Jackson <matthew.jackson@arm.com>2019-07-16 09:05:14 +0000
commitb5433ee34fd9d38c1453dc062b36348d65677002 (patch)
treef48ed9f6ffb25aed908c5aa775b49bef78fd906f /src/armnnSerializer/Serializer.cpp
parent15a9a8f8f5e05c9967c3a52ecbfb7e173e9e61dd (diff)
downloadarmnn-b5433ee34fd9d38c1453dc062b36348d65677002.tar.gz
IVGCVSW-3420 Add Serialization support for the new Stack layer
* Adds serialization/deserialization support * Adds related unit test Signed-off-by: Matthew Jackson <matthew.jackson@arm.com> Change-Id: I69deb5397b8a06c679715e24971e9bb1c282140d
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r--src/armnnSerializer/Serializer.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp
index 0a9e3353d7..b59bac6041 100644
--- a/src/armnnSerializer/Serializer.cpp
+++ b/src/armnnSerializer/Serializer.cpp
@@ -929,7 +929,21 @@ void SerializerVisitor::VisitStackLayer(const armnn::IConnectableLayer* layer,
const armnn::StackDescriptor& stackDescriptor,
const char* name)
{
- throw UnimplementedException("SerializerVisitor::VisitStackLayer not yet implemented");
+ auto stackBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Stack);
+
+ std::vector<unsigned int> inputShape;
+ for (unsigned int i =0; i < stackDescriptor.m_InputShape.GetNumDimensions(); i++)
+ {
+ inputShape.push_back(stackDescriptor.m_InputShape[i]);
+ }
+
+ auto flatBufferStackDescriptor = CreateStackDescriptor(m_flatBufferBuilder,
+ stackDescriptor.m_Axis,
+ stackDescriptor.m_NumInputs,
+ m_flatBufferBuilder.CreateVector(inputShape));
+
+ auto stackLayer = serializer::CreateStackLayer(m_flatBufferBuilder, stackBaseLayer, flatBufferStackDescriptor);
+ CreateAnyLayer(stackLayer.o, serializer::Layer::Layer_StackLayer);
}
void SerializerVisitor::VisitStridedSliceLayer(const armnn::IConnectableLayer* layer,