aboutsummaryrefslogtreecommitdiff
path: root/src/armnnSerializer/Serializer.cpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2020-06-10 15:53:46 +0100
committerFinn Williams <Finn.Williams@arm.com>2020-07-06 21:50:50 +0100
commit2605b236d103e1ba27069e0d668599042a4761af (patch)
treedc0a408acb5749a1f51544fd5857452377d05aab /src/armnnSerializer/Serializer.cpp
parentc5789ca2e432075e2c92e7e0d99139c5329280e6 (diff)
downloadarmnn-2605b236d103e1ba27069e0d668599042a4761af.tar.gz
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 <Finn.Williams@arm.com> Change-Id: I06e4a468c2a84e79bae2e6c5348596bbbf853b4b
Diffstat (limited to 'src/armnnSerializer/Serializer.cpp')
-rw-r--r--src/armnnSerializer/Serializer.cpp23
1 files changed, 19 insertions, 4 deletions
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 <armnn/Descriptors.hpp>
@@ -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<TensorInfo> SerializerVisitor::CreateTensorInfo(const armnn
tensorInfo.GetQuantizationScales()[0],
tensorInfo.GetQuantizationOffset(),
m_flatBufferBuilder.CreateVector(tensorInfo.GetQuantizationScales()),
- tensorInfo.GetQuantizationDim().value());
+ tensorInfo.GetQuantizationDim().value(),
+ static_cast<unsigned int>
+ (tensorInfo.GetShape().GetDimensionality()));
return flatBufferTensorInfo;
}
@@ -1593,7 +1604,11 @@ flatbuffers::Offset<TensorInfo> SerializerVisitor::CreateTensorInfo(const armnn
m_flatBufferBuilder.CreateVector(shape),
GetFlatBufferDataType(tensorInfo.GetDataType()),
tensorInfo.GetQuantizationScale(),
- tensorInfo.GetQuantizationOffset());
+ tensorInfo.GetQuantizationOffset(),
+ 0,
+ 0,
+ static_cast<unsigned int>
+ (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