Release 18.03
[platform/upstream/armnn.git] / src / armnnTfParser / TensorFlowSupport.md
1 #TensorFlow operators that the Arm NN SDK supports 
2
3 This reference guide provides a list of TensorFlow operators the Arm NN SDK currently supports. 
4
5 The Arm NN SDK TensorFlow parser currently only supports fp32 operators. 
6
7 These are the TensorFlow operators that the Arm NN SDK currently supports:    
8
9 **avg_pool** 
10
11 See the TensorFlow [avg_pool documentation](https://www.tensorflow.org/api_docs/python/tf/nn/avg_pool) for more information. 
12
13 **bias_add**
14
15  See the TensorFlow [bias_add documentation](https://www.tensorflow.org/api_docs/python/tf/nn/bias_add) for more information. 
16
17 **conv2d** 
18
19  See the TensorFlow [conv2d documentation](https://www.tensorflow.org/api_docs/python/tf/nn/conv2d) for more information. 
20
21 **identity** 
22
23 See the TensorFlow [identity documentation](https://www.tensorflow.org/api_docs/python/tf/identity) for more information. 
24
25 **local_response_normalization** 
26
27 See the TensorFlow [local_response_normalization documentation](https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization)  for more information. 
28
29 **max_pool**  
30
31 See the TensorFlow [max_pool documentation](https://www.tensorflow.org/api_docs/python/tf/nn/max_pool) for more information. 
32
33 **relu** 
34
35  See the TensorFlow [relu documentation](https://www.tensorflow.org/api_docs/python/tf/nn/relu) for more information. 
36
37 **relu6** 
38
39  See the TensorFlow [relu6 documentation](https://www.tensorflow.org/api_docs/python/tf/nn/relu6) for more information. 
40
41 **shape** 
42
43  See the TensorFlow [shape documentation](https://www.tensorflow.org/api_docs/python/tf/shape) for more information.  
44
45 **sigmoid** 
46
47  See the TensorFlow [sigmoid documentation](https://www.tensorflow.org/api_docs/python/tf/sigmoid) for more information. 
48
49 **softplus** 
50
51 See the TensorFlow [softplus documentation](https://www.tensorflow.org/api_docs/python/tf/nn/softplus) for more information. 
52
53 **squeeze** 
54
55 See the TensorFlow [squeeze documentation](https://www.tensorflow.org/api_docs/python/tf/squeeze) for more information. 
56
57 **tanh** 
58
59 See the TensorFlow [tanh documentation](https://www.tensorflow.org/api_docs/python/tf/tanh) for more information. 
60
61 The Arm NN SDK TensorFlow parser currently partially supports: 
62
63 **add** 
64
65 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. 
66
67 **depthwise_conv2D_native** 
68
69 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. 
70
71 **fused_batch_norm** 
72
73 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. 
74
75 **matmul** 
76
77 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.  
78
79 **multiply** 
80
81 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. No broadcasting supported on the NEON backend.
82
83 **placeholder** 
84
85  The parser only supports the NHWC data format in the input layer. See the TensorFlow [placeholder documentation](https://www.tensorflow.org/api_docs/python/tf/placeholder) for more information. 
86
87 **reshape** 
88
89 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. 
90
91 **resize_images** 
92
93 The parser only supports `ResizeMethod.BILINEAR`. See the TensorFlow [resize_images documentation](https://www.tensorflow.org/api_docs/python/tf/image/resize_images) for more information. 
94  
95 **softmax** 
96
97 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. 
98
99  
100
101 Arm tests these operators with the following TensorFlow fp32 neural networks:  
102
103 * Cifar10. 
104
105 * Lenet. 
106
107 * mobilenet_v1_1.0_224. The Arm NN SDK only supports the non*_quant 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 _quant networks. 
108
109 * inception_v3. The Arm NN SDK only supports the official inception_v3 transformed model using the GPU acceleration only, but NEON acceleration is not supported at the moment. 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.
110
111 More machine learning operators will be supported in future releases.