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
Note: Arm NN will be dropping support for Onnx Parser in 24.08.
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
- Add
- AveragePool
- Concat
- Constant
- Clip
- Flatten
- Gather
- GlobalAveragePool
- LeakyRelu
- MaxPool
- Relu
- Reshape
- Shape
- Sigmoid
- Tanh
- Unsqueeze
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
- BROADCAST_TO
- CAST
- CEIL
- 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
- GELU
- 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
- POW
- PRELU
- QUANTIZE
- RELU
- RELU6
- REDUCE_MAX
- REDUCE_MIN
- REDUCE_PROD
- RESHAPE
- RESIZE_BILINEAR
- RESIZE_NEAREST_NEIGHBOR
- REVERSE_V2
- RSQRT
- SCATTER_ND
- SHAPE
- SIN
- SLICE
- SOFTMAX
- SPACE_TO_BATCH
- SPACE_TO_DEPTH
- SPLIT
- SPLIT_V
- SQUEEZE
- SQRT
- SQUARE
- SQUARE_DIFFERENCE
- STRIDED_SLICE
- SUB
- SUM
- TANH
- TILE
- TRANSPOSE
- TRANSPOSE_CONV
- UNIDIRECTIONAL_SEQUENCE_LSTM
- 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.