blob: e61d4a14413da1f53296702e04e6d24e496108b9 [file] [log] [blame]
Ryan OShea2bbfaa72020-02-12 16:15:27 +00001/// Copyright (c) 2020 ARM Limited.
Ryan OSheaf3a43232020-02-12 16:15:27 +00002///
3/// SPDX-License-Identifier: MIT
4///
5/// Permission is hereby granted, free of charge, to any person obtaining a copy
6/// of this software and associated documentation files (the "Software"), to deal
7/// in the Software without restriction, including without limitation the rights
8/// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9/// copies of the Software, and to permit persons to whom the Software is
10/// furnished to do so, subject to the following conditions:
11///
12/// The above copyright notice and this permission notice shall be included in all
13/// copies or substantial portions of the Software.
14///
15/// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16/// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17/// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18/// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19/// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20/// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21/// SOFTWARE.
22///
23
24namespace armnn
25{
26/**
Jan Eilers1ed388f2021-01-28 14:45:09 +000027@page serializer Serializer
Ryan OSheaf3a43232020-02-12 16:15:27 +000028@tableofcontents
29
Ryan OSheaf3a43232020-02-12 16:15:27 +000030The `armnnSerializer` is a library for serializing an Arm NN network to a stream.
31
Jan Eilers1ed388f2021-01-28 14:45:09 +000032@section serializersupport Supported Layers
Ryan OSheaf3a43232020-02-12 16:15:27 +000033
Jan Eilers1ed388f2021-01-28 14:45:09 +000034This reference guide provides a list of layers which can be serialized by the Arm NN SDK.
Ryan OSheaf3a43232020-02-12 16:15:27 +000035
Jan Eilers1ed388f2021-01-28 14:45:09 +000036@subsection serializersupportflully Fully supported
Ryan OSheaf3a43232020-02-12 16:15:27 +000037
38The Arm NN SDK Serializer currently supports the following layers:
39
40- Activation
41- Addition
42- ArgMinMax
43- BatchToSpaceNd
44- BatchNormalization
45- Comparison
46- Concat
47- Constant
48- Convolution2d
49- DepthToSpace
50- DepthwiseConvolution2d
51- Dequantize
52- DetectionPostProcess
53- Division
54- ElementwiseUnary
Jan Eilers1ed388f2021-01-28 14:45:09 +000055- Fill
Ryan OSheaf3a43232020-02-12 16:15:27 +000056- Floor
57- FullyConnected
58- Gather
59- Input
60- InstanceNormalization
61- L2Normalization
James Ward590f3f72020-12-02 10:20:48 +000062- Logical
Ryan OSheaf3a43232020-02-12 16:15:27 +000063- LogSoftmax
64- Lstm
65- Maximum
66- Mean
67- Merge
68- Minimum
69- Multiplication
70- Normalization
71- Output
72- Pad
73- Permute
74- Pooling2d
75- Prelu
James Ward590f3f72020-12-02 10:20:48 +000076- QLstm
Ryan OSheaf3a43232020-02-12 16:15:27 +000077- Quantize
78- QuantizedLstm
James Ward590f3f72020-12-02 10:20:48 +000079- Rank
Ryan OSheaf3a43232020-02-12 16:15:27 +000080- Reshape
81- Resize
82- Slice
83- Softmax
84- SpaceToBatchNd
85- SpaceToDepth
86- Splitter
87- Stack
88- StandIn
89- StridedSlice
90- Subtraction
91- Switch
James Ward590f3f72020-12-02 10:20:48 +000092- Transpose
Ryan OSheaf3a43232020-02-12 16:15:27 +000093- TransposeConvolution2d
94
95More machine learning layers will be supported in future releases.
96
Jan Eilers1ed388f2021-01-28 14:45:09 +000097@subsection serializersupportdeprecated Deprecated layers
Ryan OSheaf3a43232020-02-12 16:15:27 +000098
99Some layers have been deprecated and replaced by others layers. In order to maintain backward compatibility, serializations of these deprecated layers will deserialize to the layers that have replaced them, as follows:
100
Ryan OSheaf3a43232020-02-12 16:15:27 +0000101- Abs will deserialize as ElementwiseUnary
Jan Eilers1ed388f2021-01-28 14:45:09 +0000102- Equal will deserialize as Comparison
103- Greater will deserialize as Comparison
104- Merger will deserialize as Concat
105- ResizeBilinear will deserialize as Resize
Ryan OSheaf3a43232020-02-12 16:15:27 +0000106- Rsqrt will deserialize as ElementwiseUnary
107<br/><br/><br/><br/>
108
Jan Eilers1ed388f2021-01-28 14:45:09 +0000109@page deserializer Deserializer
110@tableofcontents
Ryan OSheaf3a43232020-02-12 16:15:27 +0000111
112The `armnnDeserializer` is a library for loading neural networks defined by Arm NN FlatBuffers files
113into the Arm NN runtime.
114
Jan Eilers1ed388f2021-01-28 14:45:09 +0000115@section deserializersupport Supported Layers
Ryan OSheaf3a43232020-02-12 16:15:27 +0000116
Jan Eilers1ed388f2021-01-28 14:45:09 +0000117This reference guide provides a list of layers which can be deserialized by the Arm NN SDK.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000118
Jan Eilers1ed388f2021-01-28 14:45:09 +0000119@subsection deserializersupportfully Fully supported
Ryan OSheaf3a43232020-02-12 16:15:27 +0000120
121The Arm NN SDK Deserialize parser currently supports the following layers:
122
123- Abs
124- Activation
125- Addition
126- ArgMinMax
127- BatchToSpaceNd
128- BatchNormalization
129- Concat
130- Comparison
131- Constant
132- Convolution2d
133- DepthToSpace
134- DepthwiseConvolution2d
135- Dequantize
136- DetectionPostProcess
137- Division
James Ward590f3f72020-12-02 10:20:48 +0000138- ElementwiseUnary
139- Fill
Ryan OSheaf3a43232020-02-12 16:15:27 +0000140- Floor
141- FullyConnected
142- Gather
143- Input
144- InstanceNormalization
145- L2Normalization
James Ward590f3f72020-12-02 10:20:48 +0000146- Logical
Ryan OSheaf3a43232020-02-12 16:15:27 +0000147- LogSoftmax
148- Lstm
149- Maximum
150- Mean
151- Merge
152- Minimum
153- Multiplication
154- Normalization
155- Output
156- Pad
157- Permute
158- Pooling2d
159- Prelu
160- Quantize
Jan Eilers1ed388f2021-01-28 14:45:09 +0000161- QLstm
Ryan OSheaf3a43232020-02-12 16:15:27 +0000162- QuantizedLstm
James Ward590f3f72020-12-02 10:20:48 +0000163- Rank
Ryan OSheaf3a43232020-02-12 16:15:27 +0000164- Reshape
James Ward590f3f72020-12-02 10:20:48 +0000165- Resize
Jan Eilers1ed388f2021-01-28 14:45:09 +0000166- ResizeBilinear
Ryan OSheaf3a43232020-02-12 16:15:27 +0000167- Rsqrt
168- Slice
169- Softmax
170- SpaceToBatchNd
171- SpaceToDepth
172- Splitter
173- Stack
174- StandIn
175- StridedSlice
176- Subtraction
177- Switch
178- TransposeConvolution2d
Ryan OSheaf3a43232020-02-12 16:15:27 +0000179
180More machine learning layers will be supported in future releases.
181
Jan Eilers1ed388f2021-01-28 14:45:09 +0000182@subsection deserializersupportdeprecated Deprecated layers
Ryan OSheaf3a43232020-02-12 16:15:27 +0000183
184Some layers have been deprecated and replaced by others layers. In order to maintain backward compatibility, serializations of these deprecated layers will deserialize to the layers that have replaced them, as follows:
185
186- Equal will deserialize as Comparison
187- Merger will deserialize as Concat
188- Greater will deserialize as Comparison
189- ResizeBilinear will deserialize as Resize
190
191**/
192}