From 2605b236d103e1ba27069e0d668599042a4761af Mon Sep 17 00:00:00 2001 From: Finn Williams Date: Wed, 10 Jun 2020 15:53:46 +0100 Subject: IVGCVSW-4624 Add a RANK Reference Implementation * Add Rank front end * Add Rank reference implementation * Add Rank serialization support * Add Scalar serialization support Signed-off-by: Finn Williams Change-Id: I06e4a468c2a84e79bae2e6c5348596bbbf853b4b --- src/armnnSerializer/Serializer.cpp | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/armnnSerializer/Serializer.cpp') diff --git a/src/armnnSerializer/Serializer.cpp b/src/armnnSerializer/Serializer.cpp index 6555a34be7..8a1f7716a1 100644 --- a/src/armnnSerializer/Serializer.cpp +++ b/src/armnnSerializer/Serializer.cpp @@ -2,7 +2,6 @@ // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. // SPDX-License-Identifier: MIT // - #include "Serializer.hpp" #include @@ -851,6 +850,16 @@ void SerializerVisitor::VisitPermuteLayer(const armnn::IConnectableLayer* layer, CreateAnyLayer(flatBufferPermuteLayer.o, serializer::Layer::Layer_PermuteLayer); } +// Build FlatBuffer for Rank Layer +void SerializerVisitor::VisitRankLayer(const armnn::IConnectableLayer* layer, + const char* name) +{ + IgnoreUnused(name); + auto flatBufferBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Rank); + auto flatBufferRankLayer = serializer::CreateRankLayer(m_flatBufferBuilder, flatBufferBaseLayer); + + CreateAnyLayer(flatBufferRankLayer.o, serializer::Layer::Layer_RankLayer); +} // Build FlatBuffer for Reshape Layer void SerializerVisitor::VisitReshapeLayer(const armnn::IConnectableLayer* layer, const armnn::ReshapeDescriptor& reshapeDescriptor, @@ -1584,7 +1593,9 @@ flatbuffers::Offset SerializerVisitor::CreateTensorInfo(const armnn tensorInfo.GetQuantizationScales()[0], tensorInfo.GetQuantizationOffset(), m_flatBufferBuilder.CreateVector(tensorInfo.GetQuantizationScales()), - tensorInfo.GetQuantizationDim().value()); + tensorInfo.GetQuantizationDim().value(), + static_cast + (tensorInfo.GetShape().GetDimensionality())); return flatBufferTensorInfo; } @@ -1593,7 +1604,11 @@ flatbuffers::Offset SerializerVisitor::CreateTensorInfo(const armnn m_flatBufferBuilder.CreateVector(shape), GetFlatBufferDataType(tensorInfo.GetDataType()), tensorInfo.GetQuantizationScale(), - tensorInfo.GetQuantizationOffset()); + tensorInfo.GetQuantizationOffset(), + 0, + 0, + static_cast + (tensorInfo.GetShape().GetDimensionality())); return flatBufferTensorInfo; } @@ -1742,4 +1757,4 @@ bool Serializer::SaveSerializedToStream(std::ostream& stream) return !stream.bad(); } -} // namespace armnnSerializer \ No newline at end of file +} // namespace armnnSerializer -- cgit v1.2.1