TensorFlow operators that the Arm NN SDK supports

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

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

Fully supported

avg_pool

See the TensorFlow avg_pool documentation for more information.

bias_add

See the TensorFlow bias_add documentation for more information.

conv2d

See the TensorFlow conv2d documentation for more information.

expand_dims

See the TensorFlow expand_dims documentation for more information.

gather

See the TensorFlow gather documentation for more information.

identity

See the TensorFlow identity documentation for more information.

local_response_normalization

See the TensorFlow local_response_normalization documentation for more information.

max_pool

See the TensorFlow max_pool documentation for more information.

placeholder

See the TensorFlow placeholder documentation for more information.

reduce_mean

See the TensorFlow reduce_mean documentation for more information.

relu

See the TensorFlow relu documentation for more information.

relu6

See the TensorFlow relu6 documentation for more information.

rsqrt

See the TensorFlow rsqrt documentation for more information.

shape

See the TensorFlow shape documentation for more information.

sigmoid

See the TensorFlow sigmoid documentation for more information.

softplus

See the TensorFlow softplus documentation for more information.

squeeze

See the TensorFlow squeeze documentation for more information.

tanh

See the TensorFlow tanh documentation for more information.

Partially supported

add

The parser does not support all forms of broadcast composition, only broadcasting of scalars and 1D tensors. See the TensorFlow add operator documentation for more information.

add_n

The parser does not support all forms of broadcast composition, only broadcasting of scalars and 1D tensors. See the TensorFlow add operator documentation for more information.

concat

Arm NN supports concatenation along the channel dimension for data formats NHWC and NCHW.

constant

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 for further information.

depthwise_conv2d_native

The parser only supports a dilation rate of (1,1,1,1). See the TensorFlow depthwise_conv2d_native documentation for more information.

equal

The parser does not support all forms of broadcast composition, only broadcasting of 4D and 1D tensors. See the TensorFlow equal operator documentation for more information.

fused_batch_norm

The parser does not support training outputs. See the TensorFlow fused_batch_norm documentation for more information.

greater

The parser does not support all forms of broadcast composition, only broadcasting of 4D and 1D tensors. See the TensorFlow greater operator documentation for more information.

matmul

The parser only supports constant weights in a fully connected layer. See the TensorFlow matmul documentation for more information.

maximum

where maximum is used in one of the following ways

  • max(mul(a, x), x)
  • max(mul(x, a), x)
  • max(x, mul(a, x))
  • max(x, mul(x, a)

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. See the TensorFlow maximum documentation for more information.

minimum

The parser does not support all forms of broadcast composition, only broadcasting of 4D and 1D tensors. See the TensorFlow minimum operator documentation for more information.

multiply

The parser does not support all forms of broadcast composition, only broadcasting of scalars and 1D tensors. See the TensorFlow multiply documentation for more information.

pad

Only supports tf.pad function with mode = ‘CONSTANT’ and constant_values = 0. See the TensorFlow pad documentation for more information.

realdiv

The parser does not support all forms of broadcast composition, only broadcasting of scalars and 1D tensors. See the TensorFlow realdiv documentation for more information.

reshape

The parser does not support reshaping to or from 4D. See the TensorFlow reshape documentation for more information.

resize_images

The parser only supports ResizeMethod.BILINEAR with align_corners=False. See the TensorFlow resize_images documentation for more information.

softmax

The parser only supports 2D inputs and does not support selecting the softmax dimension. See the TensorFlow softmax documentation for more information.

split

Arm NN supports split along the channel dimension for data formats NHWC and NCHW.

subtract

The parser does not support all forms of broadcasting broadcast composition, only broadcasting of scalars and 1D tensors. See the TensorFlow subtract documentation for more information.

Tested networks

Arm tests these operators with the following TensorFlow fp32 neural networks:

  • Cifar10.

  • Lenet

  • Simple MNIST. For more information check out the tutorial on the Arm Developer portal.

  • mobilenet_v1_1.0_224. The Arm NN SDK only supports the non-quantized version of the network. See the MobileNet_v1 documentation for more information on quantized networks.

  • inception_v3. The Arm NN SDK only supports the official inception_v3 transformed model. See the TensorFlow documentation on preparing models for mobile deployment for more information on how to transform the inception_v3 network.

More machine learning operators will be supported in future releases.