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

Method SerializeSplitterLayer

src/armnnSerializer/Serializer.cpp:1276–1342  ·  view source on GitHub ↗

Build FlatBuffer for Splitter Layer

Source from the content-addressed store, hash-verified

1274
1275// Build FlatBuffer for Splitter Layer
1276void SerializerStrategy::SerializeSplitterLayer(const armnn::IConnectableLayer* layer,
1277 const armnn::ViewsDescriptor& viewsDescriptor,
1278 const char* name)
1279{
1280 IgnoreUnused(name);
1281
1282 // Create FlatBuffer ViewOrigins
1283 std::vector<flatbuffers::Offset<UintVector>> flatBufferViewOrigins;
1284 flatBufferViewOrigins.reserve(viewsDescriptor.GetNumViews());
1285
1286 for(unsigned int vIdx = 0; vIdx < viewsDescriptor.GetNumViews(); ++vIdx)
1287 {
1288 std::vector<uint32_t> viewOrigin;
1289 viewOrigin.reserve(viewsDescriptor.GetNumDimensions());
1290
1291 // Copy vector
1292 for(unsigned int dIdx = 0; dIdx < viewsDescriptor.GetNumDimensions(); ++dIdx)
1293 {
1294 viewOrigin.push_back(viewsDescriptor.GetViewOrigin(vIdx)[dIdx]);
1295 }
1296
1297 flatBufferViewOrigins.push_back(CreateUintVector(m_flatBufferBuilder,
1298 m_flatBufferBuilder.CreateVector(viewOrigin)));
1299 }
1300
1301 // Create FlatBuffer OriginsDescriptor
1302 auto flatBufferOriginDescriptor = CreateOriginsDescriptor(m_flatBufferBuilder,
1303 viewsDescriptor.GetOrigins().GetConcatAxis(),
1304 viewsDescriptor.GetOrigins().GetNumViews(),
1305 viewsDescriptor.GetOrigins().GetNumDimensions(),
1306 m_flatBufferBuilder.CreateVector(flatBufferViewOrigins));
1307
1308 // Create FlatBuffer ViewOrigins
1309 std::vector<flatbuffers::Offset<UintVector>> flatBufferViewSizes;
1310 flatBufferViewSizes.reserve(viewsDescriptor.GetNumViews());
1311
1312 for(unsigned int vIdx = 0; vIdx < viewsDescriptor.GetNumViews(); ++vIdx)
1313 {
1314 std::vector<uint32_t> viewSize;
1315 viewSize.reserve(viewsDescriptor.GetNumDimensions());
1316
1317 // Copy vector
1318 for(unsigned int dIdx = 0; dIdx < viewsDescriptor.GetNumDimensions(); ++dIdx)
1319 {
1320 viewSize.push_back(viewsDescriptor.GetViewSizes(vIdx)[dIdx]);
1321 }
1322
1323 flatBufferViewSizes.push_back(CreateUintVector(m_flatBufferBuilder,
1324 m_flatBufferBuilder.CreateVector(viewSize)));
1325 }
1326
1327 // Create FlatBuffer ViewsDescriptor
1328 auto flatBufferViewsDescriptor = CreateViewsDescriptor(m_flatBufferBuilder,
1329 flatBufferOriginDescriptor,
1330 m_flatBufferBuilder.CreateVector(flatBufferViewSizes),
1331 viewsDescriptor.HasAxis(),
1332 viewsDescriptor.GetAxis());
1333

Callers

nothing calls this directly

Calls 10

GetNumViewsMethod · 0.80
push_backMethod · 0.80
GetViewOriginMethod · 0.80
GetConcatAxisMethod · 0.80
GetViewSizesMethod · 0.80
HasAxisMethod · 0.80
GetAxisMethod · 0.80
IgnoreUnusedFunction · 0.50
reserveMethod · 0.45
GetNumDimensionsMethod · 0.45

Tested by

no test coverage detected