blob: 9d926275a8d18414d928c9de103790a0c3a33221 [file] [log] [blame]
Teresa Charlinb1f5f702022-07-12 14:16:24 +01001/// Copyright (c) 2022 ARM Limited and Contributors. All rights reserved.
Jan Eilers31a7c892021-01-29 14:18:13 +00002///
3/// SPDX-License-Identifier: MIT
4///
5
6namespace armnn
7{
8/**
9@page delegate TfLite Delegate
10@tableofcontents
11
12
13@section delegateintro About the delegate
14'armnnDelegate' is a library for accelerating certain TensorFlow Lite (TfLite) operators on Arm hardware. It can be
15integrated in TfLite using its delegation mechanism. TfLite will then delegate the execution of operators supported by
16Arm NN to Arm NN.
17
18The main difference to our @ref S6_tf_lite_parser is the amount of operators you can run with it. If none of the active
19backends support an operation in your model you won't be able to execute it with our parser. In contrast to that, TfLite
20only delegates operations to the armnnDelegate if it does support them and otherwise executes them itself. In other
21words, every TfLite model can be executed and every operation in your model that we can accelerate will be accelerated.
22That is the reason why the armnnDelegate is our recommended way to accelerate TfLite models.
23
24If you need help building the armnnDelegate, please take a look at our [build guide](delegate/BuildGuideNative.md).
25An example how to setup TfLite to integrate the armnnDelegate can be found in this
26guide: [Integrate the delegate into python](delegate/IntegrateDelegateIntoPython.md)
27
28
29@section delegatesupport Supported Operators
30This reference guide provides a list of TensorFlow Lite operators the Arm NN SDK currently supports.
31
32@subsection delegatefullysupported Fully supported
33
34The Arm NN SDK TensorFlow Lite delegate currently supports the following operators:
35
36- ABS
37
38- ADD
39
40- ARGMAX
41
42- ARGMIN
43
44- AVERAGE_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
45
Ryan OShead21abaf2022-06-10 14:49:11 +010046- AVERAGE_POOL_3D
47
Ryan OShea49ed0df2022-09-21 16:09:41 +010048- BATCH_MATMUL
49
Matthew Sloyana35b40b2021-02-05 17:22:28 +000050- BATCH_TO_SPACE_ND
51
Sadik Armagan937565b2021-04-21 14:03:28 +010052- CAST
53
Jan Eilers31a7c892021-01-29 14:18:13 +000054- CONCATENATION, Supported Fused Activation: RELU , RELU6 , TANH, NONE
55
56- CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
57
Matthew Sloyan81ec9942021-10-12 10:26:30 +010058- CONV_3D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
59
Jan Eilers31a7c892021-01-29 14:18:13 +000060- DEPTH_TO_SPACE
61
62- DEPTHWISE_CONV_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
63
64- DEQUANTIZE
65
66- DIV
67
68- EQUAL
69
70- ELU
71
72- EXP
73
74- FULLY_CONNECTED, Supported Fused Activation: RELU , RELU6 , TANH, NONE
75
Sadik Armagan788e2c62021-02-10 16:26:44 +000076- FLOOR
77
Jan Eilers31a7c892021-01-29 14:18:13 +000078- GATHER
79
Teresa Charlind5c0ed22022-04-25 18:23:41 +010080- GATHER_ND
81
Jan Eilers31a7c892021-01-29 14:18:13 +000082- GREATER
83
84- GREATER_OR_EQUAL
85
86- HARD_SWISH
87
88- LESS
89
90- LESS_OR_EQUAL
91
92- LOCAL_RESPONSE_NORMALIZATION
93
Teresa Charlinb1f5f702022-07-12 14:16:24 +010094- LOG
95
Jan Eilers31a7c892021-01-29 14:18:13 +000096- LOGICAL_AND
Jan Eilers1121c6b2021-02-19 09:38:03 +000097
Jan Eilers31a7c892021-01-29 14:18:13 +000098- LOGICAL_NOT
Jan Eilers1121c6b2021-02-19 09:38:03 +000099
Jan Eilers31a7c892021-01-29 14:18:13 +0000100- LOGICAL_OR
101
102- LOGISTIC
103
104- LOG_SOFTMAX
105
Jan Eilers1121c6b2021-02-19 09:38:03 +0000106- LSTM
107
Jan Eilers31a7c892021-01-29 14:18:13 +0000108- L2_NORMALIZATION
109
110- L2_POOL_2D
111
112- MAXIMUM
113
114- MAX_POOL_2D, Supported Fused Activation: RELU , RELU6 , TANH, NONE
115
Ryan OShead21abaf2022-06-10 14:49:11 +0100116- MAX_POOL_3D
117
Jan Eilers31a7c892021-01-29 14:18:13 +0000118- MEAN
119
120- MINIMUM
121
Matthew Sloyanaf3a4ef2021-10-22 15:48:12 +0100122- MIRROR_PAD
123
Jan Eilers31a7c892021-01-29 14:18:13 +0000124- MUL
125
126- NEG
127
128- NOT_EQUAL
129
Kevin Mayc7bd7e82021-05-10 12:46:40 +0100130- PACK
131
Jan Eilers31a7c892021-01-29 14:18:13 +0000132- PAD
133
Jan Eilers1121c6b2021-02-19 09:38:03 +0000134- PRELU
135
Jan Eilers31a7c892021-01-29 14:18:13 +0000136- QUANTIZE
137
Jan Eilers1121c6b2021-02-19 09:38:03 +0000138- RANK
139
140- REDUCE_MAX
141
142- REDUCE_MIN
143
Jan Eilers31a7c892021-01-29 14:18:13 +0000144- RESHAPE
145
146- RESIZE_BILINEAR
147
148- RESIZE_NEAREST_NEIGHBOR
149
150- RELU
151
152- RELU6
153
154- RSQRT
155
Matthew Sloyane369dbd2021-08-19 12:05:44 +0100156- SHAPE
157
Teresa Charlinb1f5f702022-07-12 14:16:24 +0100158- SIN
159
Jan Eilers31a7c892021-01-29 14:18:13 +0000160- SOFTMAX
161
Matthew Sloyana35b40b2021-02-05 17:22:28 +0000162- SPACE_TO_BATCH_ND
163
Jan Eilers31a7c892021-01-29 14:18:13 +0000164- SPACE_TO_DEPTH
165
166- SPLIT
167
168- SPLIT_V
169
170- SQRT
171
Jan Eilers1121c6b2021-02-19 09:38:03 +0000172- STRIDED_SLICE
173
Jan Eilers31a7c892021-01-29 14:18:13 +0000174- SUB
175
Jan Eilers1121c6b2021-02-19 09:38:03 +0000176- SUM
177
Jan Eilers31a7c892021-01-29 14:18:13 +0000178- TANH
179
180- TRANSPOSE
181
182- TRANSPOSE_CONV
183
Narumol Prangnawaratbd575b22021-08-31 16:53:54 +0100184- UNIDIRECTIONAL_SEQUENCE_LSTM
185
Kevin Mayc7bd7e82021-05-10 12:46:40 +0100186- UNPACK
187
Jan Eilers31a7c892021-01-29 14:18:13 +0000188More machine learning operators will be supported in future releases.
Colm Donelan09026932022-09-14 18:04:00 +0100189
190@section delegateoptions Delegate Options
191
192The general list of runtime options are described in @subpage runtimeoptions
193
Jan Eilers31a7c892021-01-29 14:18:13 +0000194**/
195}