26.01
Loading...
Searching...
No Matches
LayersFwd.hpp
Go to the documentation of this file.
1
//
2
// Copyright © 2017-2024 Arm Ltd and Contributors. All rights reserved.
3
// SPDX-License-Identifier: MIT
4
//
5
#pragma once
6
7
#include "
InternalTypes.hpp
"
8
9
#include "
layers/ActivationLayer.hpp
"
10
#include "
layers/AdditionLayer.hpp
"
11
#include "
layers/ArgMinMaxLayer.hpp
"
12
#include "
layers/BatchMatMulLayer.hpp
"
13
#include "
layers/BatchNormalizationLayer.hpp
"
14
#include "
layers/BatchToSpaceNdLayer.hpp
"
15
#include "
layers/BroadcastToLayer.hpp
"
16
#include "
layers/CastLayer.hpp
"
17
#include "
layers/ChannelShuffleLayer.hpp
"
18
#include "
layers/ComparisonLayer.hpp
"
19
#include "
layers/ConcatLayer.hpp
"
20
#include "
layers/ConstantLayer.hpp
"
21
#include "
layers/ConvertFp16ToFp32Layer.hpp
"
22
#include "
layers/ConvertFp32ToFp16Layer.hpp
"
23
#include "
layers/Convolution2dLayer.hpp
"
24
#include "
layers/Convolution3dLayer.hpp
"
25
#include "
layers/DebugLayer.hpp
"
26
#include "
layers/DepthToSpaceLayer.hpp
"
27
#include "
layers/DepthwiseConvolution2dLayer.hpp
"
28
#include "
layers/DequantizeLayer.hpp
"
29
#include "
layers/DetectionPostProcessLayer.hpp
"
30
#include "
layers/DivisionLayer.hpp
"
31
#include "
layers/ElementwiseBinaryLayer.hpp
"
32
#include "
layers/ElementwiseUnaryLayer.hpp
"
33
#include "
layers/FakeQuantizationLayer.hpp
"
34
#include "
layers/FillLayer.hpp
"
35
#include "
layers/FloorLayer.hpp
"
36
#include "
layers/FullyConnectedLayer.hpp
"
37
#include "
layers/FusedLayer.hpp
"
38
#include "
layers/GatherLayer.hpp
"
39
#include "
layers/GatherNdLayer.hpp
"
40
#include "
layers/InputLayer.hpp
"
41
#include "
layers/InstanceNormalizationLayer.hpp
"
42
#include "
layers/L2NormalizationLayer.hpp
"
43
#include "
layers/LogicalBinaryLayer.hpp
"
44
#include "
layers/LogSoftmaxLayer.hpp
"
45
#include "
layers/LstmLayer.hpp
"
46
#include "
layers/MapLayer.hpp
"
47
#include "
layers/MaximumLayer.hpp
"
48
#include "
layers/MeanLayer.hpp
"
49
#include "
layers/MemCopyLayer.hpp
"
50
#include "
layers/MemImportLayer.hpp
"
51
#include "
layers/MergeLayer.hpp
"
52
#include "
layers/MinimumLayer.hpp
"
53
#include "
layers/MultiplicationLayer.hpp
"
54
#include "
layers/NormalizationLayer.hpp
"
55
#include "
layers/OutputLayer.hpp
"
56
#include "
layers/PadLayer.hpp
"
57
#include "
layers/PermuteLayer.hpp
"
58
#include "
layers/Pooling2dLayer.hpp
"
59
#include "
layers/Pooling3dLayer.hpp
"
60
#include "
layers/PreCompiledLayer.hpp
"
61
#include "
layers/PreluLayer.hpp
"
62
#include "
layers/QuantizeLayer.hpp
"
63
#include "
layers/QLstmLayer.hpp
"
64
#include "
layers/QuantizedLstmLayer.hpp
"
65
#include "
layers/RankLayer.hpp
"
66
#include "
layers/ReduceLayer.hpp
"
67
#include "
layers/ReshapeLayer.hpp
"
68
#include "
layers/ResizeLayer.hpp
"
69
#include "
layers/ReverseV2Layer.hpp
"
70
#include "
layers/ScatterNdLayer.hpp
"
71
#include "
layers/ShapeLayer.hpp
"
72
#include "
layers/SliceLayer.hpp
"
73
#include "
layers/SoftmaxLayer.hpp
"
74
#include "
layers/SpaceToBatchNdLayer.hpp
"
75
#include "
layers/SpaceToDepthLayer.hpp
"
76
#include "
layers/SplitterLayer.hpp
"
77
#include "
layers/StackLayer.hpp
"
78
#include "
layers/StandInLayer.hpp
"
79
#include "
layers/StridedSliceLayer.hpp
"
80
#include "
layers/SubtractionLayer.hpp
"
81
#include "
layers/SwitchLayer.hpp
"
82
#include "
layers/TileLayer.hpp
"
83
#include "
layers/TransposeConvolution2dLayer.hpp
"
84
#include "
layers/TransposeLayer.hpp
"
85
#include "
layers/UnidirectionalSequenceLstmLayer.hpp
"
86
#include "
layers/UnmapLayer.hpp
"
87
88
namespace
armnn
89
{
90
91
template
<LayerType Type>
92
struct
LayerTypeOfImpl
;
93
94
template
<LayerType Type>
95
using
LayerTypeOf
=
typename
LayerTypeOfImpl<Type>::Type
;
96
97
template
<
typename
T>
98
constexpr
LayerType
LayerEnumOf
(
const
T* =
nullptr
);
99
100
#define DECLARE_LAYER_IMPL(_, LayerName) \
101
class LayerName##Layer; \
102
template <> \
103
struct LayerTypeOfImpl<LayerType::_##LayerName> \
104
{ \
105
using Type = LayerName##Layer; \
106
}; \
107
template <> \
108
constexpr LayerType LayerEnumOf(const LayerName##Layer*) \
109
{ \
110
return LayerType::_##LayerName; \
111
}
112
113
#define DECLARE_LAYER(LayerName) DECLARE_LAYER_IMPL(, LayerName)
114
115
DECLARE_LAYER
(
Activation
)
116
DECLARE_LAYER
(
Addition
)
117
DECLARE_LAYER
(
ArgMinMax
)
118
DECLARE_LAYER
(
BatchMatMul
)
119
DECLARE_LAYER
(
BatchNormalization
)
120
DECLARE_LAYER
(
BatchToSpaceNd
)
121
DECLARE_LAYER
(
BroadcastTo
)
122
DECLARE_LAYER
(
Cast
)
123
DECLARE_LAYER
(
ChannelShuffle
)
124
DECLARE_LAYER
(
Comparison
)
125
DECLARE_LAYER
(
Concat
)
126
DECLARE_LAYER
(
Constant
)
127
DECLARE_LAYER
(
ConvertFp16ToFp32
)
128
DECLARE_LAYER
(
ConvertFp32ToFp16
)
129
DECLARE_LAYER
(
Convolution2d
)
130
DECLARE_LAYER
(
Convolution3d
)
131
DECLARE_LAYER
(
Debug
)
132
DECLARE_LAYER
(
DepthToSpace
)
133
DECLARE_LAYER
(
DepthwiseConvolution2d
)
134
DECLARE_LAYER
(
Dequantize
)
135
DECLARE_LAYER
(
DetectionPostProcess
)
136
DECLARE_LAYER
(
Division
)
137
DECLARE_LAYER
(
ElementwiseBinary
)
138
DECLARE_LAYER
(
ElementwiseUnary
)
139
DECLARE_LAYER
(
FakeQuantization
)
140
DECLARE_LAYER
(
Fill
)
141
DECLARE_LAYER
(
Floor
)
142
DECLARE_LAYER
(
FullyConnected
)
143
DECLARE_LAYER
(
Fused
)
144
DECLARE_LAYER
(
Gather
)
145
DECLARE_LAYER
(
GatherNd
)
146
DECLARE_LAYER
(
Input
)
147
DECLARE_LAYER
(
InstanceNormalization
)
148
DECLARE_LAYER
(
L2Normalization
)
149
DECLARE_LAYER
(
LogicalBinary
)
150
DECLARE_LAYER
(
LogSoftmax
)
151
DECLARE_LAYER
(
Lstm
)
152
DECLARE_LAYER
(
Map
)
153
DECLARE_LAYER
(
Maximum
)
154
DECLARE_LAYER
(
Mean
)
155
DECLARE_LAYER
(
MemCopy
)
156
DECLARE_LAYER
(
MemImport
)
157
DECLARE_LAYER
(
Merge
)
158
DECLARE_LAYER
(
Minimum
)
159
DECLARE_LAYER
(
Multiplication
)
160
DECLARE_LAYER
(
Normalization
)
161
DECLARE_LAYER
(
Output
)
162
DECLARE_LAYER
(
Pad
)
163
DECLARE_LAYER
(
Permute
)
164
DECLARE_LAYER
(
Pooling2d
)
165
DECLARE_LAYER
(
Pooling3d
)
166
DECLARE_LAYER
(
PreCompiled
)
167
DECLARE_LAYER
(
Prelu
)
168
DECLARE_LAYER
(
Quantize
)
169
DECLARE_LAYER
(
QLstm
)
170
DECLARE_LAYER
(
QuantizedLstm
)
171
DECLARE_LAYER
(
Rank
)
172
DECLARE_LAYER
(
Reduce
)
173
DECLARE_LAYER
(
Reshape
)
174
DECLARE_LAYER
(
Resize
)
175
DECLARE_LAYER
(
ReverseV2
)
176
DECLARE_LAYER
(
ScatterNd
)
177
DECLARE_LAYER
(
Shape
)
178
DECLARE_LAYER
(
Slice
)
179
DECLARE_LAYER
(
Softmax
)
180
DECLARE_LAYER
(
SpaceToBatchNd
)
181
DECLARE_LAYER
(
SpaceToDepth
)
182
DECLARE_LAYER
(
Splitter
)
183
DECLARE_LAYER
(
Stack
)
184
DECLARE_LAYER
(
StandIn
)
185
DECLARE_LAYER
(
StridedSlice
)
186
DECLARE_LAYER
(
Subtraction
)
187
DECLARE_LAYER
(
Switch
)
188
DECLARE_LAYER
(
Tile
)
189
DECLARE_LAYER
(
Transpose
)
190
DECLARE_LAYER
(
TransposeConvolution2d
)
191
DECLARE_LAYER
(
UnidirectionalSequenceLstm
)
192
DECLARE_LAYER
(
Unmap
)
193
}
ActivationLayer.hpp
AdditionLayer.hpp
ArgMinMaxLayer.hpp
BatchMatMulLayer.hpp
BatchNormalizationLayer.hpp
BatchToSpaceNdLayer.hpp
BroadcastToLayer.hpp
CastLayer.hpp
ChannelShuffleLayer.hpp
ComparisonLayer.hpp
ConcatLayer.hpp
ConstantLayer.hpp
ConvertFp16ToFp32Layer.hpp
ConvertFp32ToFp16Layer.hpp
Convolution2dLayer.hpp
Convolution3dLayer.hpp
DebugLayer.hpp
DepthToSpaceLayer.hpp
DepthwiseConvolution2dLayer.hpp
DequantizeLayer.hpp
DetectionPostProcessLayer.hpp
DivisionLayer.hpp
ElementwiseBinaryLayer.hpp
ElementwiseUnaryLayer.hpp
FakeQuantizationLayer.hpp
FillLayer.hpp
FloorLayer.hpp
FullyConnectedLayer.hpp
FusedLayer.hpp
GatherLayer.hpp
GatherNdLayer.hpp
InputLayer.hpp
InstanceNormalizationLayer.hpp
InternalTypes.hpp
L2NormalizationLayer.hpp
DECLARE_LAYER
#define DECLARE_LAYER(LayerName)
Definition
LayersFwd.hpp:113
LogSoftmaxLayer.hpp
LogicalBinaryLayer.hpp
LstmLayer.hpp
MapLayer.hpp
MaximumLayer.hpp
MeanLayer.hpp
MemCopyLayer.hpp
MemImportLayer.hpp
MergeLayer.hpp
MinimumLayer.hpp
MultiplicationLayer.hpp
NormalizationLayer.hpp
OutputLayer.hpp
PadLayer.hpp
PermuteLayer.hpp
Pooling2dLayer.hpp
Pooling3dLayer.hpp
PreCompiledLayer.hpp
PreluLayer.hpp
QLstmLayer.hpp
QuantizeLayer.hpp
QuantizedLstmLayer.hpp
RankLayer.hpp
ReduceLayer.hpp
ReshapeLayer.hpp
ResizeLayer.hpp
ReverseV2Layer.hpp
ScatterNdLayer.hpp
ShapeLayer.hpp
SliceLayer.hpp
SoftmaxLayer.hpp
SpaceToBatchNdLayer.hpp
SpaceToDepthLayer.hpp
SplitterLayer.hpp
StackLayer.hpp
StandInLayer.hpp
StridedSliceLayer.hpp
SubtractionLayer.hpp
SwitchLayer.hpp
TileLayer.hpp
TransposeConvolution2dLayer.hpp
TransposeLayer.hpp
UnidirectionalSequenceLstmLayer.hpp
UnmapLayer.hpp
armnn::BatchMatMul
Definition
BatchMatMulImpl.hpp:16
armnn
Copyright (c) 2021 ARM Limited and Contributors.
Definition
01_00_quick_start.dox:7
armnn::LayerEnumOf
constexpr LayerType LayerEnumOf(const T *=nullptr)
armnn::PaddingMode::Constant
@ Constant
armnn::LayerType
LayerType
When adding a new layer, adapt also the LastLayer enum value in the enum class LayerType below.
Definition
Types.hpp:494
armnn::LayerType::Rank
@ Rank
armnn::LayerType::Lstm
@ Lstm
armnn::LayerType::Prelu
@ Prelu
armnn::LayerType::ChannelShuffle
@ ChannelShuffle
armnn::LayerType::MemImport
@ MemImport
armnn::LayerType::L2Normalization
@ L2Normalization
armnn::LayerType::PreCompiled
@ PreCompiled
armnn::LayerType::DetectionPostProcess
@ DetectionPostProcess
armnn::LayerType::ArgMinMax
@ ArgMinMax
armnn::LayerType::Stack
@ Stack
armnn::LayerType::InstanceNormalization
@ InstanceNormalization
armnn::LayerType::Multiplication
@ Multiplication
armnn::LayerType::Output
@ Output
armnn::LayerType::Pooling3d
@ Pooling3d
armnn::LayerType::UnidirectionalSequenceLstm
@ UnidirectionalSequenceLstm
armnn::LayerType::Division
@ Division
armnn::LayerType::GatherNd
@ GatherNd
armnn::LayerType::Softmax
@ Softmax
armnn::LayerType::Input
@ Input
armnn::LayerType::SpaceToBatchNd
@ SpaceToBatchNd
armnn::LayerType::FakeQuantization
@ FakeQuantization
armnn::LayerType::Splitter
@ Splitter
armnn::LayerType::Map
@ Map
armnn::LayerType::Unmap
@ Unmap
armnn::LayerType::Cast
@ Cast
armnn::LayerType::MemCopy
@ MemCopy
armnn::LayerType::Convolution3d
@ Convolution3d
armnn::LayerType::SpaceToDepth
@ SpaceToDepth
armnn::LayerType::Merge
@ Merge
armnn::LayerType::ElementwiseBinary
@ ElementwiseBinary
armnn::LayerType::Subtraction
@ Subtraction
armnn::LayerType::BatchToSpaceNd
@ BatchToSpaceNd
armnn::LayerType::TransposeConvolution2d
@ TransposeConvolution2d
armnn::LayerType::DepthToSpace
@ DepthToSpace
armnn::LayerType::ScatterNd
@ ScatterNd
armnn::LayerType::Addition
@ Addition
armnn::LayerType::Shape
@ Shape
armnn::LayerType::QuantizedLstm
@ QuantizedLstm
armnn::LayerType::ConvertFp16ToFp32
@ ConvertFp16ToFp32
armnn::LayerType::QLstm
@ QLstm
armnn::LayerType::StandIn
@ StandIn
armnn::LayerType::Dequantize
@ Dequantize
armnn::LayerType::Resize
@ Resize
armnn::LayerType::StridedSlice
@ StridedSlice
armnn::LayerType::Debug
@ Debug
armnn::LayerType::Reshape
@ Reshape
armnn::LayerType::Activation
@ Activation
armnn::LayerType::Normalization
@ Normalization
armnn::LayerType::Gather
@ Gather
armnn::LayerType::Transpose
@ Transpose
armnn::LayerType::Switch
@ Switch
armnn::LayerType::ElementwiseUnary
@ ElementwiseUnary
armnn::LayerType::LogSoftmax
@ LogSoftmax
armnn::LayerType::Tile
@ Tile
armnn::LayerType::Quantize
@ Quantize
armnn::LayerType::FullyConnected
@ FullyConnected
armnn::LayerType::Slice
@ Slice
armnn::LayerType::Pooling2d
@ Pooling2d
armnn::LayerType::Convolution2d
@ Convolution2d
armnn::LayerType::Fill
@ Fill
armnn::LayerType::ConvertFp32ToFp16
@ ConvertFp32ToFp16
armnn::LayerType::Pad
@ Pad
armnn::LayerType::Concat
@ Concat
armnn::LayerType::BatchNormalization
@ BatchNormalization
armnn::LayerType::Reduce
@ Reduce
armnn::LayerType::LogicalBinary
@ LogicalBinary
armnn::LayerType::Fused
@ Fused
armnn::LayerType::Comparison
@ Comparison
armnn::LayerType::BroadcastTo
@ BroadcastTo
armnn::LayerType::DepthwiseConvolution2d
@ DepthwiseConvolution2d
armnn::LayerType::ReverseV2
@ ReverseV2
armnn::LayerType::Permute
@ Permute
armnn::LayerTypeOf
typename LayerTypeOfImpl< Type >::Type LayerTypeOf
Definition
LayersFwd.hpp:95
armnn::ReduceOperation::Mean
@ Mean
armnn::BinaryOperation::Maximum
@ Maximum
armnn::BinaryOperation::Minimum
@ Minimum
armnn::OutputShapeRounding::Floor
@ Floor
armnn::LayerTypeOfImpl
Definition
LayersFwd.hpp:92
src
armnn
LayersFwd.hpp
Generated on Fri Jan 23 2026 10:38:47 for Arm NN by
1.10.0