1 // 2 // Copyright © 2017 Arm Ltd and Contributors. All rights reserved. 3 // SPDX-License-Identifier: MIT 4 // 5 #pragma once 6 7 #include <armnn/Types.hpp> 8 9 #include <array> 10 11 12 /// This list uses X macro technique. 13 /// See https://en.wikipedia.org/wiki/X_Macro for more info 14 #define LIST_OF_LAYER_TYPE \ 15 X(Activation) \ 16 X(Addition) \ 17 X(ArgMinMax) \ 18 X(BatchNormalization) \ 19 X(BatchToSpaceNd) \ 20 X(Comparison) \ 21 X(Concat) \ 22 X(Constant) \ 23 X(ConvertBf16ToFp32) \ 24 X(ConvertFp16ToFp32) \ 25 X(ConvertFp32ToBf16) \ 26 X(ConvertFp32ToFp16) \ 27 X(Convolution2d) \ 28 X(Debug) \ 29 X(DepthToSpace) \ 30 X(DepthwiseConvolution2d) \ 31 X(Dequantize) \ 32 X(DetectionPostProcess) \ 33 X(Division) \ 34 X(ElementwiseUnary) \ 35 X(FakeQuantization) \ 36 X(Fill) \ 37 X(Floor) \ 38 X(FullyConnected) \ 39 X(Gather) \ 40 X(Input) \ 41 X(InstanceNormalization) \ 42 X(L2Normalization) \ 43 X(LogicalBinary) \ 44 X(LogSoftmax) \ 45 X(Lstm) \ 46 X(QLstm) \ 47 X(Map) \ 48 X(Maximum) \ 49 X(Mean) \ 50 X(MemCopy) \ 51 X(MemImport) \ 52 X(Merge) \ 53 X(Minimum) \ 54 X(Multiplication) \ 55 X(Normalization) \ 56 X(Output) \ 57 X(Pad) \ 58 X(Permute) \ 59 X(Pooling2d) \ 60 X(PreCompiled) \ 61 X(Prelu) \ 62 X(Quantize) \ 63 X(QuantizedLstm) \ 64 X(Reshape) \ 65 X(Rank) \ 66 X(Resize) \ 67 X(Slice) \ 68 X(Softmax) \ 69 X(SpaceToBatchNd) \ 70 X(SpaceToDepth) \ 71 X(Splitter) \ 72 X(Stack) \ 73 X(StandIn) \ 74 X(StridedSlice) \ 75 X(Subtraction) \ 76 X(Switch) \ 77 X(Transpose) \ 78 X(TransposeConvolution2d) \ 79 X(Unmap) 80 81 /// When adding a new layer, adapt also the LastLayer enum value in the 82 /// enum class LayerType below 83 namespace armnn 84 { 85 86 enum class LayerType 87 { 88 #define X(name) name, 89 LIST_OF_LAYER_TYPE 90 #undef X 91 FirstLayer = Activation, 92 LastLayer = Unmap 93 }; 94 95 const char* GetLayerTypeAsCString(LayerType type); 96 97 using Coordinates = std::array<unsigned int, MaxNumOfTensorDimensions>; 98 using Dimensions = std::array<unsigned int, MaxNumOfTensorDimensions>; 99 100 } 101