284 auto layerType = graphPtr->layers()->Get(layerIndex)->layer_type();
288 case Layer::Layer_AbsLayer:
289 return graphPtr->layers()->Get(layerIndex)->layer_as_AbsLayer()->base();
290 case Layer::Layer_ActivationLayer:
291 return graphPtr->layers()->Get(layerIndex)->layer_as_ActivationLayer()->base();
292 case Layer::Layer_AdditionLayer:
293 return graphPtr->layers()->Get(layerIndex)->layer_as_AdditionLayer()->base();
294 case Layer::Layer_ArgMinMaxLayer:
295 return graphPtr->layers()->Get(layerIndex)->layer_as_ArgMinMaxLayer()->base();
296 case Layer::Layer_BatchMatMulLayer:
297 return graphPtr->layers()->Get(layerIndex)->layer_as_BatchMatMulLayer()->base();
298 case Layer::Layer_BatchToSpaceNdLayer:
299 return graphPtr->layers()->Get(layerIndex)->layer_as_BatchToSpaceNdLayer()->base();
300 case Layer::Layer_BatchNormalizationLayer:
301 return graphPtr->layers()->Get(layerIndex)->layer_as_BatchNormalizationLayer()->base();
302 case Layer::Layer_CastLayer:
303 return graphPtr->layers()->Get(layerIndex)->layer_as_CastLayer()->base();
304 case Layer::Layer_ChannelShuffleLayer:
305 return graphPtr->layers()->Get(layerIndex)->layer_as_ChannelShuffleLayer()->base();
306 case Layer::Layer_ComparisonLayer:
307 return graphPtr->layers()->Get(layerIndex)->layer_as_ComparisonLayer()->base();
308 case Layer::Layer_ConcatLayer:
309 return graphPtr->layers()->Get(layerIndex)->layer_as_ConcatLayer()->base();
310 case Layer::Layer_ConstantLayer:
311 return graphPtr->layers()->Get(layerIndex)->layer_as_ConstantLayer()->base();
312 case Layer::Layer_Convolution2dLayer:
313 return graphPtr->layers()->Get(layerIndex)->layer_as_Convolution2dLayer()->base();
314 case Layer::Layer_Convolution3dLayer:
315 return graphPtr->layers()->Get(layerIndex)->layer_as_Convolution3dLayer()->base();
316 case Layer::Layer_DepthToSpaceLayer:
317 return graphPtr->layers()->Get(layerIndex)->layer_as_DepthToSpaceLayer()->base();
318 case Layer::Layer_DepthwiseConvolution2dLayer:
319 return graphPtr->layers()->Get(layerIndex)->layer_as_DepthwiseConvolution2dLayer()->base();
320 case Layer::Layer_DequantizeLayer:
321 return graphPtr->layers()->Get(layerIndex)->layer_as_DequantizeLayer()->base();
322 case Layer::Layer_DetectionPostProcessLayer:
323 return graphPtr->layers()->Get(layerIndex)->layer_as_DetectionPostProcessLayer()->base();
324 case Layer::Layer_DivisionLayer:
325 return graphPtr->layers()->Get(layerIndex)->layer_as_DivisionLayer()->base();
326 case Layer::Layer_EqualLayer:
327 return graphPtr->layers()->Get(layerIndex)->layer_as_EqualLayer()->base();
328 case Layer::Layer_ElementwiseUnaryLayer:
329 return graphPtr->layers()->Get(layerIndex)->layer_as_ElementwiseUnaryLayer()->base();
330 case Layer::Layer_FullyConnectedLayer:
331 return graphPtr->layers()->Get(layerIndex)->layer_as_FullyConnectedLayer()->base();
332 case Layer::Layer_FillLayer:
333 return graphPtr->layers()->Get(layerIndex)->layer_as_FillLayer()->base();
334 case Layer::Layer_FloorLayer:
335 return graphPtr->layers()->Get(layerIndex)->layer_as_FloorLayer()->base();
336 case Layer::Layer_GatherLayer:
337 return graphPtr->layers()->Get(layerIndex)->layer_as_GatherLayer()->base();
338 case Layer::Layer_GatherNdLayer:
339 return graphPtr->layers()->Get(layerIndex)->layer_as_GatherNdLayer()->base();
340 case Layer::Layer_GreaterLayer:
341 return graphPtr->layers()->Get(layerIndex)->layer_as_GreaterLayer()->base();
342 case Layer::Layer_InputLayer:
343 return graphPtr->layers()->Get(layerIndex)->layer_as_InputLayer()->base()->base();
344 case Layer::Layer_InstanceNormalizationLayer:
345 return graphPtr->layers()->Get(layerIndex)->layer_as_InstanceNormalizationLayer()->base();
346 case Layer::Layer_L2NormalizationLayer:
347 return graphPtr->layers()->Get(layerIndex)->layer_as_L2NormalizationLayer()->base();
348 case Layer::Layer_LogicalBinaryLayer:
349 return graphPtr->layers()->Get(layerIndex)->layer_as_LogicalBinaryLayer()->base();
350 case Layer::Layer_LogSoftmaxLayer:
351 return graphPtr->layers()->Get(layerIndex)->layer_as_LogSoftmaxLayer()->base();
352 case Layer::Layer_LstmLayer:
353 return graphPtr->layers()->Get(layerIndex)->layer_as_LstmLayer()->base();
354 case Layer::Layer_MeanLayer:
355 return graphPtr->layers()->Get(layerIndex)->layer_as_MeanLayer()->base();
356 case Layer::Layer_MinimumLayer:
357 return graphPtr->layers()->Get(layerIndex)->layer_as_MinimumLayer()->base();
358 case Layer::Layer_MaximumLayer:
359 return graphPtr->layers()->Get(layerIndex)->layer_as_MaximumLayer()->base();
360 case Layer::Layer_MergeLayer:
361 return graphPtr->layers()->Get(layerIndex)->layer_as_MergeLayer()->base();
362 case Layer::Layer_MergerLayer:
363 return graphPtr->layers()->Get(layerIndex)->layer_as_MergerLayer()->base();
364 case Layer::Layer_MultiplicationLayer:
365 return graphPtr->layers()->Get(layerIndex)->layer_as_MultiplicationLayer()->base();
366 case Layer::Layer_NormalizationLayer:
367 return graphPtr->layers()->Get(layerIndex)->layer_as_NormalizationLayer()->base();
368 case Layer::Layer_OutputLayer:
369 return graphPtr->layers()->Get(layerIndex)->layer_as_OutputLayer()->base()->base();
370 case Layer::Layer_PadLayer:
371 return graphPtr->layers()->Get(layerIndex)->layer_as_PadLayer()->base();
372 case Layer::Layer_PermuteLayer:
373 return graphPtr->layers()->Get(layerIndex)->layer_as_PermuteLayer()->base();
374 case Layer::Layer_Pooling2dLayer:
375 return graphPtr->layers()->Get(layerIndex)->layer_as_Pooling2dLayer()->base();
376 case Layer::Layer_Pooling3dLayer:
377 return graphPtr->layers()->Get(layerIndex)->layer_as_Pooling3dLayer()->base();
378 case Layer::Layer_PreluLayer:
379 return graphPtr->layers()->Get(layerIndex)->layer_as_PreluLayer()->base();
380 case Layer::Layer_QLstmLayer:
381 return graphPtr->layers()->Get(layerIndex)->layer_as_QLstmLayer()->base();
382 case Layer::Layer_QuantizeLayer:
383 return graphPtr->layers()->Get(layerIndex)->layer_as_QuantizeLayer()->base();
384 case Layer::Layer_QuantizedLstmLayer:
385 return graphPtr->layers()->Get(layerIndex)->layer_as_QuantizedLstmLayer()->base();
386 case Layer::Layer_RankLayer:
387 return graphPtr->layers()->Get(layerIndex)->layer_as_RankLayer()->base();
388 case Layer::Layer_ReduceLayer:
389 return graphPtr->layers()->Get(layerIndex)->layer_as_ReduceLayer()->base();
390 case Layer::Layer_ReshapeLayer:
391 return graphPtr->layers()->Get(layerIndex)->layer_as_ReshapeLayer()->base();
392 case Layer::Layer_ResizeBilinearLayer:
393 return graphPtr->layers()->Get(layerIndex)->layer_as_ResizeBilinearLayer()->base();
394 case Layer::Layer_ResizeLayer:
395 return graphPtr->layers()->Get(layerIndex)->layer_as_ResizeLayer()->base();
396 case Layer::Layer_RsqrtLayer:
397 return graphPtr->layers()->Get(layerIndex)->layer_as_RsqrtLayer()->base();
398 case Layer::Layer_ShapeLayer:
399 return graphPtr->layers()->Get(layerIndex)->layer_as_ShapeLayer()->base();
400 case Layer::Layer_SliceLayer:
401 return graphPtr->layers()->Get(layerIndex)->layer_as_SliceLayer()->base();
402 case Layer::Layer_SoftmaxLayer:
403 return graphPtr->layers()->Get(layerIndex)->layer_as_SoftmaxLayer()->base();
404 case Layer::Layer_SpaceToBatchNdLayer:
405 return graphPtr->layers()->Get(layerIndex)->layer_as_SpaceToBatchNdLayer()->base();
406 case Layer::Layer_SpaceToDepthLayer:
407 return graphPtr->layers()->Get(layerIndex)->layer_as_SpaceToDepthLayer()->base();
408 case Layer::Layer_SplitterLayer:
409 return graphPtr->layers()->Get(layerIndex)->layer_as_SplitterLayer()->base();
410 case Layer::Layer_StackLayer:
411 return graphPtr->layers()->Get(layerIndex)->layer_as_StackLayer()->base();
412 case Layer::Layer_StandInLayer:
413 return graphPtr->layers()->Get(layerIndex)->layer_as_StandInLayer()->base();
414 case Layer::Layer_StridedSliceLayer:
415 return graphPtr->layers()->Get(layerIndex)->layer_as_StridedSliceLayer()->base();
416 case Layer::Layer_SubtractionLayer:
417 return graphPtr->layers()->Get(layerIndex)->layer_as_SubtractionLayer()->base();
418 case Layer::Layer_SwitchLayer:
419 return graphPtr->layers()->Get(layerIndex)->layer_as_SwitchLayer()->base();
420 case Layer::Layer_TransposeConvolution2dLayer:
421 return graphPtr->layers()->Get(layerIndex)->layer_as_TransposeConvolution2dLayer()->base();
422 case Layer::Layer_TransposeLayer:
423 return graphPtr->layers()->Get(layerIndex)->layer_as_TransposeLayer()->base();
424 case Layer::Layer_UnidirectionalSequenceLstmLayer:
425 return graphPtr->layers()->Get(layerIndex)->layer_as_UnidirectionalSequenceLstmLayer()->base();
426 case Layer::Layer_NONE:
428 throw ParseException(fmt::format(
"Layer type {} not recognized", layerType));