MCPcopy Create free account
hub / github.com/ARM-software/armnn / SerializeConcatLayer

Method SerializeConcatLayer

src/armnnSerializer/Serializer.cpp:881–914  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

879}
880
881void SerializerStrategy::SerializeConcatLayer(const armnn::IConnectableLayer* layer,
882 const armnn::ConcatDescriptor& concatDescriptor,
883 const char* name)
884{
885 IgnoreUnused(name);
886
887 auto flatBufferConcatBaseLayer = CreateLayerBase(layer, serializer::LayerType::LayerType_Concat);
888
889 std::vector<flatbuffers::Offset<UintVector>> views;
890 for (unsigned int v = 0; v < concatDescriptor.GetNumViews(); ++v)
891 {
892 const uint32_t* origin = concatDescriptor.GetViewOrigin(v);
893 std::vector<uint32_t> origins;
894 for (unsigned int d = 0; d < concatDescriptor.GetNumDimensions(); ++d)
895 {
896 origins.push_back(origin[d]);
897 }
898 auto view = m_flatBufferBuilder.CreateVector(origins);
899 auto uintVector = CreateUintVector(m_flatBufferBuilder, view);
900 views.push_back(uintVector);
901 }
902
903 auto flatBufferConcatDescriptor = CreateOriginsDescriptor(m_flatBufferBuilder,
904 concatDescriptor.GetConcatAxis(),
905 concatDescriptor.GetNumViews(),
906 concatDescriptor.GetNumDimensions(),
907 m_flatBufferBuilder.CreateVector(views));
908
909 auto flatBufferLayer = CreateConcatLayer(m_flatBufferBuilder,
910 flatBufferConcatBaseLayer,
911 flatBufferConcatDescriptor);
912
913 CreateAnyLayer(flatBufferLayer.o, serializer::Layer::Layer_ConcatLayer);
914}
915
916void SerializerStrategy::SerializeMultiplicationLayer(const armnn::IConnectableLayer* layer, const char* name)
917{

Callers

nothing calls this directly

Calls 6

GetNumViewsMethod · 0.80
GetViewOriginMethod · 0.80
push_backMethod · 0.80
GetConcatAxisMethod · 0.80
IgnoreUnusedFunction · 0.50
GetNumDimensionsMethod · 0.45

Tested by

no test coverage detected