blob: 05e1225f9365a8dfe27f805dd10d6ee5fb340733 [file] [log] [blame]
Jan Eilers31a7c892021-01-29 14:18:13 +00001/// Copyright (c) 2021 ARM Limited and Contributors. All rights reserved.
Ryan OSheaf3a43232020-02-12 16:15:27 +00002///
3/// SPDX-License-Identifier: MIT
4///
Ryan OSheaf3a43232020-02-12 16:15:27 +00005
6namespace armnn
7{
8/**
9@page parsers Parsers
10
11@tableofcontents
Jan Eilersb6578192021-01-28 09:13:24 +000012Execute models from different machine learning platforms efficiently with our parsers. Simply choose a parser according
13to the model you want to run e.g. If you've got a model in tensorflow format (<model_name>.pb) use our tensorflow-parser.
14
Jan Eilers53ca2e52021-02-02 13:18:09 +000015If you would like to run a Tensorflow Lite (TfLite) model you probably also want to take a look at our @ref delegate.
Jan Eilers31a7c892021-01-29 14:18:13 +000016
17All parsers are written in C++ but it is also possible to use them in python. For more information on our python
Jan Eilers53ca2e52021-02-02 13:18:09 +000018bindings take a look into the @ref md_python_pyarmnn_README section.
Jan Eilers31a7c892021-01-29 14:18:13 +000019
Jan Eilers31a7c892021-01-29 14:18:13 +000020
Jan Eilers53ca2e52021-02-02 13:18:09 +000021
22@section S4_caffe_parser Arm NN Caffe Parser
Ryan OSheaf3a43232020-02-12 16:15:27 +000023
24`armnnCaffeParser` is a library for loading neural networks defined in Caffe protobuf files into the Arm NN runtime.
25
Jan Eilers53ca2e52021-02-02 13:18:09 +000026Please note that certain deprecated Caffe features are not supported by the armnnCaffeParser. If you think that Arm NN
27should be able to load your model according to the list of supported layers, but you are getting strange error
28messages, then try upgrading your model to the latest format using Caffe, either by saving it to a new file or using
29the upgrade utilities in `caffe/tools`.
30
Jan Eilers8548e9c2021-02-18 12:33:17 +000031\b NOTE: The Arm NN Caffe Parser is deprecated in Arm NN 21.02 and will be removed in 21.05.
32
Jan Eilersb6578192021-01-28 09:13:24 +000033## Caffe layers supported by the Arm NN SDK
Ryan OSheaf3a43232020-02-12 16:15:27 +000034This reference guide provides a list of Caffe layers the Arm NN SDK currently supports.
35
Jan Eilers53ca2e52021-02-02 13:18:09 +000036### Although some other neural networks might work, Arm tests the Arm NN SDK with Caffe implementations of the following neural networks:
Ryan OSheaf3a43232020-02-12 16:15:27 +000037
38- AlexNet.
Ryan OShea2bbfaa72020-02-12 16:15:27 +000039- Cifar10.
Ryan OSheaf3a43232020-02-12 16:15:27 +000040- Inception-BN.
41- Resnet_50, Resnet_101 and Resnet_152.
42- VGG_CNN_S, VGG_16 and VGG_19.
43- Yolov1_tiny.
44- Lenet.
45- MobileNetv1.
James Ward590f3f72020-12-02 10:20:48 +000046- SqueezeNet v1.0 and SqueezeNet v1.1
Ryan OSheaf3a43232020-02-12 16:15:27 +000047
Jan Eilers53ca2e52021-02-02 13:18:09 +000048### The Arm NN SDK supports the following machine learning layers for Caffe networks:
Ryan OSheaf3a43232020-02-12 16:15:27 +000049
Jan Eilers53ca2e52021-02-02 13:18:09 +000050- Argmax, excluding the top_k and out_max_val parameters.
Ryan OSheaf3a43232020-02-12 16:15:27 +000051- BatchNorm, in inference mode.
Jan Eilers53ca2e52021-02-02 13:18:09 +000052- Convolution, excluding Weight Filler, Bias Filler, Engine, Force nd_im2col, and Axis parameters.
53- Deconvolution, excluding the Dilation Size, Weight Filler, Bias Filler, Engine, Force nd_im2col, and Axis parameters.
54
Ryan OSheaf3a43232020-02-12 16:15:27 +000055 Caffe doesn't support depthwise convolution, the equivalent layer is implemented through the notion of groups. ArmNN supports groups this way:
56 - when group=1, it is a normal conv2d
57 - when group=#input_channels, we can replace it by a depthwise convolution
58 - when group>1 && group<#input_channels, we need to split the input into the given number of groups, apply a separate convolution and then merge the results
59- Concat, along the channel dimension only.
60- Dropout, in inference mode.
Jan Eilers53ca2e52021-02-02 13:18:09 +000061- Eltwise, excluding the coeff parameter.
Ryan OSheaf3a43232020-02-12 16:15:27 +000062- Inner Product, excluding the Weight Filler, Bias Filler, Engine, and Axis parameters.
63- Input.
Jan Eilers53ca2e52021-02-02 13:18:09 +000064- LRN, excluding the Engine parameter.
Ryan OSheaf3a43232020-02-12 16:15:27 +000065- Pooling, excluding the Stochastic Pooling and Engine parameters.
66- ReLU.
67- Scale.
68- Softmax, excluding the Axis and Engine parameters.
69- Split.
70
71More machine learning layers will be supported in future releases.
72
Ryan OSheaf3a43232020-02-12 16:15:27 +000073<br/><br/><br/><br/>
74
Jan Eilers53ca2e52021-02-02 13:18:09 +000075
76
77
Ryan OSheaf3a43232020-02-12 16:15:27 +000078@section S5_onnx_parser ArmNN Onnx Parser
79
80`armnnOnnxParser` is a library for loading neural networks defined in ONNX protobuf files into the Arm NN runtime.
81
82## ONNX operators that the Arm NN SDK supports
83
84This reference guide provides a list of ONNX operators the Arm NN SDK currently supports.
85
86The Arm NN SDK ONNX parser currently only supports fp32 operators.
87
Jan Eilers53ca2e52021-02-02 13:18:09 +000088### Fully supported
Ryan OSheaf3a43232020-02-12 16:15:27 +000089
90- Add
91 - See the ONNX [Add documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Add) for more information
Ryan OSheab23b9992020-04-23 15:45:04 +010092
Ryan OShea2bbfaa72020-02-12 16:15:27 +000093- AveragePool
Ryan OSheaf3a43232020-02-12 16:15:27 +000094 - See the ONNX [AveragePool documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#AveragePool) for more information.
Ryan OSheab23b9992020-04-23 15:45:04 +010095
Ryan OSheaf3a43232020-02-12 16:15:27 +000096- Constant
97 - See the ONNX [Constant documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Constant) for more information.
Ryan OSheab23b9992020-04-23 15:45:04 +010098
99- Clip
100 - See the ONNX [Clip documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Clip) for more information.
101
102- Flatten
103 - See the ONNX [Flatten documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Flatten) for more information.
104
Ryan OSheaf3a43232020-02-12 16:15:27 +0000105- GlobalAveragePool
106 - See the ONNX [GlobalAveragePool documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#GlobalAveragePool) for more information.
Ryan OSheab23b9992020-04-23 15:45:04 +0100107
108- LeakyRelu
109 - See the ONNX [LeakyRelu documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#LeakyRelu) for more information.
110
Ryan OSheaf3a43232020-02-12 16:15:27 +0000111- MaxPool
112 - See the ONNX [max_pool documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#MaxPool) for more information.
Ryan OSheab23b9992020-04-23 15:45:04 +0100113
Ryan OSheaf3a43232020-02-12 16:15:27 +0000114- Relu
115 - See the ONNX [Relu documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Relu) for more information.
Ryan OSheab23b9992020-04-23 15:45:04 +0100116
Ryan OSheaf3a43232020-02-12 16:15:27 +0000117- Reshape
118 - See the ONNX [Reshape documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Reshape) for more information.
119
Ryan OSheab23b9992020-04-23 15:45:04 +0100120- Sigmoid
121 - See the ONNX [Sigmoid documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Sigmoid) for more information.
122
123- Tanh
124 - See the ONNX [Tanh documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#Tanh) for more information.
125
126
Jan Eilers53ca2e52021-02-02 13:18:09 +0000127### Partially supported
Ryan OSheaf3a43232020-02-12 16:15:27 +0000128
129- Conv
Jan Eilers1121c6b2021-02-19 09:38:03 +0000130 - The parser only supports 2D convolutions with a group = 1 or group = #Nb_of_channel (depthwise convolution)
Ryan OSheaf3a43232020-02-12 16:15:27 +0000131- BatchNormalization
132 - The parser does not support training mode. See the ONNX [BatchNormalization documentation](https://github.com/onnx/onnx/blob/master/docs/Operators.md#BatchNormalization) for more information.
133- MatMul
134 - The parser only supports constant weights in a fully connected layer.
135
136## Tested networks
137
138Arm tested these operators with the following ONNX fp32 neural networks:
Jan Eilers53ca2e52021-02-02 13:18:09 +0000139- Mobilenet_v2. See the ONNX [MobileNet documentation](https://github.com/onnx/models/tree/master/vision/classification/mobilenet) for more information.
140- Simple MNIST. This is no longer directly documented by ONNX. The model and test data may be downloaded [from the ONNX model zoo](https://onnxzoo.blob.core.windows.net/models/opset_8/mnist/mnist.tar.gz).
Ryan OSheaf3a43232020-02-12 16:15:27 +0000141
142More machine learning operators will be supported in future releases.
143<br/><br/><br/><br/>
144
Jan Eilers53ca2e52021-02-02 13:18:09 +0000145
146
147
Ryan OSheaf3a43232020-02-12 16:15:27 +0000148@section S6_tf_lite_parser ArmNN Tf Lite Parser
149
150`armnnTfLiteParser` is a library for loading neural networks defined by TensorFlow Lite FlatBuffers files
151into the Arm NN runtime.
152
153## TensorFlow Lite operators that the Arm NN SDK supports
154
155This reference guide provides a list of TensorFlow Lite operators the Arm NN SDK currently supports.
156
Jan Eilers53ca2e52021-02-02 13:18:09 +0000157### Fully supported
Ryan OSheaf3a43232020-02-12 16:15:27 +0000158The Arm NN SDK TensorFlow Lite parser currently supports the following operators:
159
160- ADD
Matthew Sloyan28f177c2021-04-09 14:38:52 +0100161- ARG_MAX
162_ ARG_MIN
Ryan OSheaf3a43232020-02-12 16:15:27 +0000163- AVERAGE_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
164- BATCH_TO_SPACE
165- CONCATENATION, Supported Fused Activation: RELU , RELU6 , TANH, NONE
166- CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
Jan Eilers53ca2e52021-02-02 13:18:09 +0000167- DEPTH_TO_SPACE
Ryan OSheaf3a43232020-02-12 16:15:27 +0000168- DEPTHWISE_CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
James Ward590f3f72020-12-02 10:20:48 +0000169- DEQUANTIZE
Darshan Patel42b3d7d2020-05-25 22:30:07 +0530170- DIV
Jan Eilers53ca2e52021-02-02 13:18:09 +0000171- ELU
Ryan OSheaeb1f9cf2020-05-21 17:07:40 +0100172- EXP
Ryan OSheaf3a43232020-02-12 16:15:27 +0000173- FULLY_CONNECTED, Supported Fused Activation: RELU , RELU6 , TANH, NONE
Jan Eilers53ca2e52021-02-02 13:18:09 +0000174- GATHER
175- HARD_SWISH
176- LEAKY_RELU
Ryan OSheaf3a43232020-02-12 16:15:27 +0000177- LOGISTIC
178- L2_NORMALIZATION
179- MAX_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
180- MAXIMUM
181- MEAN
182- MINIMUM
Jan Eilers1121c6b2021-02-19 09:38:03 +0000183- MUL
Darshan Patel83fcf982020-05-26 22:22:42 +0530184- NEG
Ryan OSheaf3a43232020-02-12 16:15:27 +0000185- PACK
186- PAD
James Ward590f3f72020-12-02 10:20:48 +0000187- QUANTIZE
Ryan OSheaf3a43232020-02-12 16:15:27 +0000188- RELU
189- RELU6
Jan Eilers1121c6b2021-02-19 09:38:03 +0000190- REDUCE_MAX
191- REDUCE_MIN
Ryan OSheaf3a43232020-02-12 16:15:27 +0000192- RESHAPE
193- RESIZE_BILINEAR
James Ward590f3f72020-12-02 10:20:48 +0000194- RESIZE_NEAREST_NEIGHBOR
Ryan OSheaf3a43232020-02-12 16:15:27 +0000195- SLICE
196- SOFTMAX
197- SPACE_TO_BATCH
198- SPLIT
Ryan OShea86704732020-05-26 11:41:04 +0100199- SPLIT_V
Ryan OSheaf3a43232020-02-12 16:15:27 +0000200- SQUEEZE
201- STRIDED_SLICE
202- SUB
Jan Eilers1121c6b2021-02-19 09:38:03 +0000203- SUM
Ryan OSheaf3a43232020-02-12 16:15:27 +0000204- TANH
205- TRANSPOSE
206- TRANSPOSE_CONV
207- UNPACK
208
Jan Eilers53ca2e52021-02-02 13:18:09 +0000209### Custom Operator
Ryan OSheaf3a43232020-02-12 16:15:27 +0000210- TFLite_Detection_PostProcess
211
212## Tested networks
Ryan OSheaf3a43232020-02-12 16:15:27 +0000213Arm tested these operators with the following TensorFlow Lite neural network:
214- [Quantized MobileNet](http://download.tensorflow.org/models/mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224_quant.tgz)
215- [Quantized SSD MobileNet](http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18.tar.gz)
216- DeepSpeech v1 converted from [TensorFlow model](https://github.com/mozilla/DeepSpeech/releases/tag/v0.4.1)
217- DeepSpeaker
James Ward590f3f72020-12-02 10:20:48 +0000218- [DeepLab v3+](https://www.tensorflow.org/lite/models/segmentation/overview)
219- FSRCNN
220- EfficientNet-lite
221- RDN converted from [TensorFlow model](https://github.com/hengchuan/RDN-TensorFlow)
222- Quantized RDN (CpuRef)
223- [Quantized Inception v3](http://download.tensorflow.org/models/tflite_11_05_08/inception_v3_quant.tgz)
224- [Quantized Inception v4](http://download.tensorflow.org/models/inception_v4_299_quant_20181026.tgz) (CpuRef)
225- Quantized ResNet v2 50 (CpuRef)
226- Quantized Yolo v3 (CpuRef)
Ryan OSheaf3a43232020-02-12 16:15:27 +0000227
228More machine learning operators will be supported in future releases.
229<br/><br/><br/><br/>
230
Jan Eilers53ca2e52021-02-02 13:18:09 +0000231
232
233
Ryan OSheaf3a43232020-02-12 16:15:27 +0000234@section S7_tf_parser ArmNN Tensorflow Parser
235
236`armnnTfParser` is a library for loading neural networks defined by TensorFlow protobuf files into the Arm NN runtime.
237
Jan Eilers8548e9c2021-02-18 12:33:17 +0000238\b NOTE: The Arm NN Tensorflow Parser is deprecated in Arm NN 21.02 and will be removed in 21.05.
239
Ryan OSheaf3a43232020-02-12 16:15:27 +0000240## TensorFlow operators that the Arm NN SDK supports
241
242This reference guide provides a list of TensorFlow operators the Arm NN SDK currently supports.
243
244The Arm NN SDK TensorFlow parser currently only supports fp32 operators.
245
Jan Eilers53ca2e52021-02-02 13:18:09 +0000246### Fully supported
Ryan OSheaf3a43232020-02-12 16:15:27 +0000247
248- avg_pool
249 - See the TensorFlow [avg_pool documentation](https://www.tensorflow.org/api_docs/python/tf/nn/avg_pool) for more information.
250- bias_add
251 - See the TensorFlow [bias_add documentation](https://www.tensorflow.org/api_docs/python/tf/nn/bias_add) for more information.
252- conv2d
253 - See the TensorFlow [conv2d documentation](https://www.tensorflow.org/api_docs/python/tf/nn/conv2d) for more information.
254- expand_dims
255 - See the TensorFlow [expand_dims documentation](https://www.tensorflow.org/api_docs/python/tf/expand_dims) for more information.
256- gather
257 - See the TensorFlow [gather documentation](https://www.tensorflow.org/api_docs/python/tf/gather) for more information.
258- identity
259 - See the TensorFlow [identity documentation](https://www.tensorflow.org/api_docs/python/tf/identity) for more information.
260- local_response_normalization
261 - See the TensorFlow [local_response_normalization documentation](https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization) for more information.
262- max_pool
263 - See the TensorFlow [max_pool documentation](https://www.tensorflow.org/api_docs/python/tf/nn/max_pool) for more information.
264- placeholder
265 - See the TensorFlow [placeholder documentation](https://www.tensorflow.org/api_docs/python/tf/placeholder) for more information.
266- reduce_mean
Ryan OShea2bbfaa72020-02-12 16:15:27 +0000267 - See the TensorFlow [reduce_mean documentation](https://www.tensorflow.org/api_docs/python/tf/reduce_mean) for more information.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000268- relu
269 - See the TensorFlow [relu documentation](https://www.tensorflow.org/api_docs/python/tf/nn/relu) for more information.
270- relu6
271 - See the TensorFlow [relu6 documentation](https://www.tensorflow.org/api_docs/python/tf/nn/relu6) for more information.
272- rsqrt
273 - See the TensorFlow [rsqrt documentation](https://www.tensorflow.org/api_docs/python/tf/math/rsqrt) for more information.
274- shape
275 - See the TensorFlow [shape documentation](https://www.tensorflow.org/api_docs/python/tf/shape) for more information.
276- sigmoid
277 - See the TensorFlow [sigmoid documentation](https://www.tensorflow.org/api_docs/python/tf/sigmoid) for more information.
278- softplus
279 - See the TensorFlow [softplus documentation](https://www.tensorflow.org/api_docs/python/tf/nn/softplus) for more information.
280- squeeze
281 - See the TensorFlow [squeeze documentation](https://www.tensorflow.org/api_docs/python/tf/squeeze) for more information.
282- tanh
283 - See the TensorFlow [tanh documentation](https://www.tensorflow.org/api_docs/python/tf/tanh) for more information.
James Ward590f3f72020-12-02 10:20:48 +0000284- transpose
285 - See the TensorFlow [transpose documentation](https://www.tensorflow.org/api_docs/python/tf/transpose) for more information.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000286
Jan Eilers53ca2e52021-02-02 13:18:09 +0000287### Partially supported
Ryan OSheaf3a43232020-02-12 16:15:27 +0000288
289- add
290 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of scalars and 1D tensors. See the TensorFlow [add operator documentation](https://www.tensorflow.org/api_docs/python/tf/add) for more information.
291- add_n
292 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of scalars and 1D tensors. See the TensorFlow [add operator documentation](https://www.tensorflow.org/api_docs/python/tf/add_n) for more information.
293- concat
294 - Arm NN supports concatenation along the channel dimension for data formats NHWC and NCHW.
295- constant
296 - The parser does not support the optional `shape` argument. It always infers the shape of the output tensor from `value`. See the TensorFlow [constant documentation](https://www.tensorflow.org/api_docs/python/tf/constant) for further information.
297- depthwise_conv2d_native
298 - The parser only supports a dilation rate of (1,1,1,1). See the TensorFlow [depthwise_conv2d_native documentation](https://www.tensorflow.org/api_docs/python/tf/nn/depthwise_conv2d_native) for more information.
299- equal
300 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of 4D and 1D tensors. See the TensorFlow [equal operator documentation](https://www.tensorflow.org/api_docs/python/tf/math/equal) for more information.
301- fused_batch_norm
302 - The parser does not support training outputs. See the TensorFlow [fused_batch_norm documentation](https://www.tensorflow.org/api_docs/python/tf/nn/fused_batch_norm) for more information.
303- greater
304 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of 4D and 1D tensors. See the TensorFlow [greater operator documentation](https://www.tensorflow.org/api_docs/python/tf/math/greater) for more information.
305- matmul
306 - The parser only supports constant weights in a fully connected layer. See the TensorFlow [matmul documentation](https://www.tensorflow.org/api_docs/python/tf/matmul) for more information.
307- maximum
308 where maximum is used in one of the following ways
309 - max(mul(a, x), x)
310 - max(mul(x, a), x)
311 - max(x, mul(a, x))
312 - max(x, mul(x, a)
313 This is interpreted as a ActivationLayer with a LeakyRelu activation function. Any other usage of max will result in the insertion of a simple maximum layer. The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting). See the TensorFlow [maximum documentation](https://www.tensorflow.org/api_docs/python/tf/maximum) for more information.
314- minimum
315 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of 4D and 1D tensors. See the TensorFlow [minimum operator documentation](https://www.tensorflow.org/api_docs/python/tf/math/minimum) for more information.
316- multiply
317 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of scalars and 1D tensors. See the TensorFlow [multiply documentation](https://www.tensorflow.org/api_docs/python/tf/multiply) for more information.
James Ward590f3f72020-12-02 10:20:48 +0000318- pack/stack
319 - See the TensorFlow [stack documentation](https://www.tensorflow.org/api_docs/python/tf/stack) for more information.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000320- pad
321 - Only supports tf.pad function with mode = 'CONSTANT' and constant_values = 0. See the TensorFlow [pad documentation](https://www.tensorflow.org/api_docs/python/tf/pad) for more information.
322- realdiv
323 - The parser does not support all forms of [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of scalars and 1D tensors. See the TensorFlow [realdiv documentation](https://www.tensorflow.org/api_docs/python/tf/realdiv) for more information.
324- reshape
325 - The parser does not support reshaping to or from 4D. See the TensorFlow [reshape documentation](https://www.tensorflow.org/api_docs/python/tf/reshape) for more information.
326- resize_images
327 - The parser only supports `ResizeMethod.BILINEAR` with `align_corners=False`. See the TensorFlow [resize_images documentation](https://www.tensorflow.org/api_docs/python/tf/image/resize_images) for more information.
328- softmax
329 - The parser only supports 2D inputs and does not support selecting the `softmax` dimension. See the TensorFlow [softmax documentation](https://www.tensorflow.org/api_docs/python/tf/nn/softmax) for more information.
330- split
331 - Arm NN supports split along the channel dimension for data formats NHWC and NCHW.
James Ward590f3f72020-12-02 10:20:48 +0000332- strided_slice
333 - See the TensorFlow [strided_slice documentation](https://www.tensorflow.org/api_docs/python/tf/strided_slice) for more information.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000334- subtract
335 - The parser does not support all forms of broadcasting [broadcast composition](https://www.tensorflow.org/performance/xla/broadcasting), only broadcasting of scalars and 1D tensors. See the TensorFlow [subtract documentation](https://www.tensorflow.org/api_docs/python/tf/math/subtract) for more information.
336
James Ward590f3f72020-12-02 10:20:48 +0000337
Ryan OSheaf3a43232020-02-12 16:15:27 +0000338## Tested networks
339
340Arm tests these operators with the following TensorFlow fp32 neural networks:
341- Lenet
342- mobilenet_v1_1.0_224. The Arm NN SDK only supports the non-quantized version of the network. See the [MobileNet_v1 documentation](https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md) for more information on quantized networks.
343- inception_v3. The Arm NN SDK only supports the official inception_v3 transformed model. See the TensorFlow documentation on [preparing models for mobile deployment](https://www.tensorflow.org/mobile/prepare_models) for more information on how to transform the inception_v3 network.
Ryan OSheaf3a43232020-02-12 16:15:27 +0000344- Simple MNIST. For more information check out the [tutorial](https://developer.arm.com/technologies/machine-learning-on-arm/developer-material/how-to-guides/deploying-a-tensorflow-mnist-model-on-arm-nn) on the Arm Developer portal.
Jan Eilers53ca2e52021-02-02 13:18:09 +0000345- ResNet v2 50 implementation from the [TF Slim model zoo](https://github.com/tensorflow/models/tree/master/research/slim)
Ryan OSheaf3a43232020-02-12 16:15:27 +0000346
347More machine learning operators will be supported in future releases.
348
349**/
350}
Ryan OShea2bbfaa72020-02-12 16:15:27 +0000351