blob: d192ec4e046e7fb6cb2a1cbb0f8f70c3dd483f07 [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/**
27@page serializers The ArmNN Serializer and Deserializer
28@tableofcontents
29
30@section S8_serializer The ArmNN Serializer
31
32The `armnnSerializer` is a library for serializing an Arm NN network to a stream.
33
34## The layers that ArmNN SDK Serializer currently supports.
35
36This reference guide provides a list of layers which can be serialized currently by the Arm NN SDK.
37
38## Fully supported
39
40The Arm NN SDK Serializer currently supports the following layers:
41
42- Activation
43- Addition
44- ArgMinMax
45- BatchToSpaceNd
46- BatchNormalization
47- Comparison
48- Concat
49- Constant
50- Convolution2d
51- DepthToSpace
52- DepthwiseConvolution2d
53- Dequantize
54- DetectionPostProcess
55- Division
56- ElementwiseUnary
57- Floor
58- FullyConnected
59- Gather
60- Input
61- InstanceNormalization
62- L2Normalization
James Ward590f3f72020-12-02 10:20:48 +000063- Logical
Ryan OSheaf3a43232020-02-12 16:15:27 +000064- LogSoftmax
65- Lstm
66- Maximum
67- Mean
68- Merge
69- Minimum
70- Multiplication
71- Normalization
72- Output
73- Pad
74- Permute
75- Pooling2d
76- Prelu
James Ward590f3f72020-12-02 10:20:48 +000077- QLstm
Ryan OSheaf3a43232020-02-12 16:15:27 +000078- Quantize
79- QuantizedLstm
James Ward590f3f72020-12-02 10:20:48 +000080- Rank
Ryan OSheaf3a43232020-02-12 16:15:27 +000081- Reshape
82- Resize
83- Slice
84- Softmax
85- SpaceToBatchNd
86- SpaceToDepth
87- Splitter
88- Stack
89- StandIn
90- StridedSlice
91- Subtraction
92- Switch
James Ward590f3f72020-12-02 10:20:48 +000093- Transpose
Ryan OSheaf3a43232020-02-12 16:15:27 +000094- TransposeConvolution2d
95
96More machine learning layers will be supported in future releases.
97
98## Deprecated layers
99
100Some 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:
101
102- Equal will deserialize as Comparison
103- Merger will deserialize as Concat
104- Greater will deserialize as Comparison
105- ResizeBilinear will deserialize as Resize
106- Abs will deserialize as ElementwiseUnary
107- Rsqrt will deserialize as ElementwiseUnary
108<br/><br/><br/><br/>
109
110@section S9_deserializer The ArmNN Deserializer
111
112The `armnnDeserializer` is a library for loading neural networks defined by Arm NN FlatBuffers files
113into the Arm NN runtime.
114
115## The layers that ArmNN SDK Deserializer currently supports.
116
117This reference guide provides a list of layers which can be deserialized currently by the Arm NN SDK.
118
119## Fully supported
120
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
James Ward590f3f72020-12-02 10:20:48 +0000160- QLstm
Ryan OSheaf3a43232020-02-12 16:15:27 +0000161- Quantize
162- 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
Ryan OSheaf3a43232020-02-12 16:15:27 +0000166- Rsqrt
167- Slice
168- Softmax
169- SpaceToBatchNd
170- SpaceToDepth
171- Splitter
172- Stack
173- StandIn
174- StridedSlice
175- Subtraction
176- Switch
177- TransposeConvolution2d
Ryan OSheaf3a43232020-02-12 16:15:27 +0000178
179More machine learning layers will be supported in future releases.
180
181## Deprecated layers
182
183Some 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:
184
185- Equal will deserialize as Comparison
186- Merger will deserialize as Concat
187- Greater will deserialize as Comparison
188- ResizeBilinear will deserialize as Resize
189
190**/
191}