ArmNN
 20.11
InternalTypes.hpp
Go to the documentation of this file.
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,
90 #undef X
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 }
#define LIST_OF_LAYER_TYPE
This list uses X macro technique.
std::array< unsigned int, MaxNumOfTensorDimensions > Coordinates
Copyright (c) 2020 ARM Limited.
char const * GetLayerTypeAsCString(LayerType type)
std::array< unsigned int, MaxNumOfTensorDimensions > Dimensions