ArmNN
 23.02
Parsers

Execute models from different machine learning platforms efficiently with our parsers. Simply choose a parser according to the model you want to run e.g. If you've got a model in onnx format (<model_name>.onnx) use our onnx-parser.

If you would like to run a Tensorflow Lite (TfLite) model you probably also want to take a look at our TfLite Delegate.

All parsers are written in C++ but it is also possible to use them in python. For more information on our python bindings take a look into the PyArmNN section.



Arm NN Onnx Parser

armnnOnnxParser is a library for loading neural networks defined in ONNX protobuf files into the Arm NN runtime.

ONNX operators that the Arm NN SDK supports

This reference guide provides a list of ONNX operators the Arm NN SDK currently supports.

The Arm NN SDK ONNX parser currently only supports fp32 operators.

Fully supported

Partially supported

  • Conv
    • The parser only supports 2D convolutions with a group = 1 or group = #Nb_of_channel (depthwise convolution)
  • BatchNormalization
  • Gemm
    • The parser only supports constant bias or non-constant bias where bias dimension = 1. See the ONNX Gemm documentation for more information.
  • MatMul
    • The parser only supports constant weights in a fully connected layer. See the ONNX MatMul documentation for more information.

Tested networks

Arm tested these operators with the following ONNX fp32 neural networks:

More machine learning operators will be supported in future releases.



Arm NN Tf Lite Parser

armnnTfLiteParser is a library for loading neural networks defined by TensorFlow Lite FlatBuffers files into the Arm NN runtime.

TensorFlow Lite operators that the Arm NN SDK supports

This reference guide provides a list of TensorFlow Lite operators the Arm NN SDK currently supports.

Fully supported

The Arm NN SDK TensorFlow Lite parser currently supports the following operators:

  • ABS
  • ADD
  • ARG_MAX
  • ARG_MIN
  • AVERAGE_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • BATCH_TO_SPACE
  • CONCATENATION, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • CONV_3D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • DEPTH_TO_SPACE
  • DEPTHWISE_CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • DEQUANTIZE
  • DIV
  • ELU
  • EQUAL
  • EXP
  • EXPAND_DIMS
  • FLOOR_DIV
  • FULLY_CONNECTED, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • GATHER
  • GATHER_ND
  • GREATER
  • GREATER_EQUAL
  • HARD_SWISH
  • LEAKY_RELU
  • LESS
  • LESS_EQUAL
  • LOG
  • LOGICAL_NOT
  • LOGISTIC
  • LOG_SOFTMAX
  • L2_NORMALIZATION
  • MAX_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
  • MAXIMUM
  • MEAN
  • MINIMUM
  • MIRROR_PAD
  • MUL
  • NEG
  • NOT_EQUAL
  • PACK
  • PAD
  • PADV2
  • PRELU
  • QUANTIZE
  • RELU
  • RELU6
  • REDUCE_MAX
  • REDUCE_MIN
  • REDUCE_PROD
  • RESHAPE
  • RESIZE_BILINEAR
  • RESIZE_NEAREST_NEIGHBOR
  • RSQRT
  • SHAPE
  • SIN
  • SLICE
  • SOFTMAX
  • SPACE_TO_BATCH
  • SPLIT
  • SPLIT_V
  • SQUEEZE
  • SQRT
  • STRIDED_SLICE
  • SUB
  • SUM
  • TANH
  • TRANSPOSE
  • TRANSPOSE_CONV
  • UNPACK

Custom Operator

  • TFLite_Detection_PostProcess

Tested networks

Arm tested these operators with the following TensorFlow Lite neural network:

More machine learning operators will be supported in future releases.