6141f27df5f74a8ef779f7daec17f6cbeec42d35
[platform/upstream/armnn.git] / src / armnn / InternalTypes.hpp
1 //
2 // Copyright © 2017 Arm Ltd. All rights reserved.
3 // SPDX-License-Identifier: MIT
4 //
5 #pragma once
6
7 #include <armnn/Types.hpp>
8
9 #include <array>
10
11 namespace armnn
12 {
13
14 enum class LayerType
15 {
16     FirstLayer,
17     Abs = FirstLayer,
18     Activation,
19     Addition,
20     BatchNormalization,
21     BatchToSpaceNd,
22     Concat,
23     Constant,
24     ConvertFp16ToFp32,
25     ConvertFp32ToFp16,
26     Convolution2d,
27     Debug,
28     DepthwiseConvolution2d,
29     Dequantize,
30     DetectionPostProcess,
31     Division,
32     Equal,
33     FakeQuantization,
34     Floor,
35     FullyConnected,
36     Gather,
37     Greater,
38     Input,
39     L2Normalization,
40     Lstm,
41     Maximum,
42     Mean,
43     MemCopy,
44     MemImport,
45     Merge,
46     Minimum,
47     Multiplication,
48     Normalization,
49     Output,
50     Pad,
51     Permute,
52     Pooling2d,
53     PreCompiled,
54     Prelu,
55     Quantize,
56     QuantizedLstm,
57     Reshape,
58     Resize,
59     Rsqrt,
60     Softmax,
61     SpaceToBatchNd,
62     SpaceToDepth,
63     Splitter,
64     Stack,
65     StridedSlice,
66     Subtraction,
67     Switch,
68     // Last layer goes here.
69     LastLayer,
70     TransposeConvolution2d = LastLayer
71 };
72
73 const char* GetLayerTypeAsCString(LayerType type);
74
75 using Coordinates = std::array<unsigned int, MaxNumOfTensorDimensions>;
76 using Dimensions  = std::array<unsigned int, MaxNumOfTensorDimensions>;
77
78 }