From aa920c56838c2a0b31bd4e3c54bd57ff2f20969e Mon Sep 17 00:00:00 2001 From: Tee Jung Date: Tue, 5 Nov 2019 10:48:25 +0000 Subject: Build graph->inputIds/outputIds with layerBindingId instead of layerIndex Signed-off-by: Jung Tae-young tee.ty.jung@openedges.com Signed-off-by: Matteo Martincigh Change-Id: I25ceeca70e72fad88ab039aed5a5ab6a7cc08c6c Signed-off-by: Derek Lamberti --- src/armnnSerializer/Serializer.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/armnnSerializer/Serializer.cpp') diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 13ea0f04a9..b43f26c652 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -91,8 +91,8 @@ void SerializerVisitor::VisitInputLayer(const armnn::IConnectableLayer* layer, L auto flatBufferInputBindableBaseLayer = serializer::CreateBindableLayerBase(m_flatBufferBuilder, flatBufferInputBaseLayer, id); - // Push layer index to outputIds. - m_inputIds.push_back(GetSerializedId(layer->GetGuid())); + // Push layer binding id to outputIds. + m_inputIds.push_back(id); // Create the FlatBuffer InputLayer auto flatBufferInputLayer = serializer::CreateInputLayer(m_flatBufferBuilder, flatBufferInputBindableBaseLayer); @@ -113,8 +113,8 @@ void SerializerVisitor::VisitOutputLayer(const armnn::IConnectableLayer* layer, auto flatBufferOutputBindableBaseLayer = serializer::CreateBindableLayerBase(m_flatBufferBuilder, flatBufferOutputBaseLayer, id); - // Push layer index to outputIds. - m_outputIds.push_back(GetSerializedId(layer->GetGuid())); + // Push layer binding id to outputIds. + m_outputIds.push_back(id); // Create the FlatBuffer OutputLayer auto flatBufferOutputLayer = serializer::CreateOutputLayer(m_flatBufferBuilder, flatBufferOutputBindableBaseLayer); @@ -1449,6 +1449,16 @@ flatbuffers::Offset return flatBufferConstTensor; } +flatbuffers::Offset SerializerVisitor::GetVersionTable() +{ + flatbuffers::Offset versionsTable = + serializer::CreateFeatureCompatibilityVersions( + m_flatBufferBuilder, + 1 // Binding ids scheme version + ); + return versionsTable; +} + std::vector> SerializerVisitor::CreateInputSlots(const armnn::IConnectableLayer* layer) { @@ -1531,7 +1541,8 @@ void Serializer::Serialize(const INetwork& inNetwork) fbBuilder, fbBuilder.CreateVector(m_SerializerVisitor.GetSerializedLayers()), fbBuilder.CreateVector(m_SerializerVisitor.GetInputIds()), - fbBuilder.CreateVector(m_SerializerVisitor.GetOutputIds())); + fbBuilder.CreateVector(m_SerializerVisitor.GetOutputIds()), + m_SerializerVisitor.GetVersionTable()); // Serialize the graph fbBuilder.Finish(serializedGraph); -- cgit v1.2.1