| // |
| // Copyright © 2017 Arm Ltd. All rights reserved. |
| // SPDX-License-Identifier: MIT |
| // |
| #pragma once |
| |
| #include <armnn/Types.hpp> |
| |
| #include <array> |
| |
| |
| /// This list uses X macro technique. |
| /// See https://en.wikipedia.org/wiki/X_Macro for more info |
| #define LIST_OF_LAYER_TYPE \ |
| X(Activation) \ |
| X(Addition) \ |
| X(ArgMinMax) \ |
| X(BatchNormalization) \ |
| X(BatchToSpaceNd) \ |
| X(Comparison) \ |
| X(Concat) \ |
| X(Constant) \ |
| X(ConvertBf16ToFp32) \ |
| X(ConvertFp16ToFp32) \ |
| X(ConvertFp32ToBf16) \ |
| X(ConvertFp32ToFp16) \ |
| X(Convolution2d) \ |
| X(Debug) \ |
| X(DepthToSpace) \ |
| X(DepthwiseConvolution2d) \ |
| X(Dequantize) \ |
| X(DetectionPostProcess) \ |
| X(Division) \ |
| X(ElementwiseUnary) \ |
| X(FakeQuantization) \ |
| X(Floor) \ |
| X(FullyConnected) \ |
| X(Gather) \ |
| X(Input) \ |
| X(InstanceNormalization) \ |
| X(L2Normalization) \ |
| X(LogSoftmax) \ |
| X(Lstm) \ |
| X(QLstm) \ |
| X(Maximum) \ |
| X(Mean) \ |
| X(MemCopy) \ |
| X(MemImport) \ |
| X(Merge) \ |
| X(Minimum) \ |
| X(Multiplication) \ |
| X(Normalization) \ |
| X(Output) \ |
| X(Pad) \ |
| X(Permute) \ |
| X(Pooling2d) \ |
| X(PreCompiled) \ |
| X(Prelu) \ |
| X(Quantize) \ |
| X(QuantizedLstm) \ |
| X(Reshape) \ |
| X(Resize) \ |
| X(Slice) \ |
| X(Softmax) \ |
| X(SpaceToBatchNd) \ |
| X(SpaceToDepth) \ |
| X(Splitter) \ |
| X(Stack) \ |
| X(StandIn) \ |
| X(StridedSlice) \ |
| X(Subtraction) \ |
| X(Switch) \ |
| X(Transpose) \ |
| X(TransposeConvolution2d) |
| |
| /// When adding a new layer, adapt also the LastLayer enum value in the |
| /// enum class LayerType below |
| namespace armnn |
| { |
| |
| enum class LayerType |
| { |
| #define X(name) name, |
| LIST_OF_LAYER_TYPE |
| #undef X |
| FirstLayer = Activation, |
| LastLayer = TransposeConvolution2d |
| }; |
| |
| const char* GetLayerTypeAsCString(LayerType type); |
| |
| using Coordinates = std::array<unsigned int, MaxNumOfTensorDimensions>; |
| using Dimensions = std::array<unsigned int, MaxNumOfTensorDimensions>; |
| |
| } |