blob: c8f77e5f28bab006d0a5c3bba8a5de2796437e2b [file] [log] [blame]
surmeh0149b9e102018-05-17 14:11:25 +01001------ ArmNN for Android NNAPI supported operations ------
telsoa015307bc12018-03-09 13:51:08 +00002
Matthew Benthama3e23ca2019-05-13 12:49:59 +01003This release of ArmNN for Android supports use as a driver for the Android Neural Networks API. It implements the
4android.hardware.neuralnetworks@1.0 and android.hardware.neuralnetworks@1.1 HAL interfaces.
telsoa015307bc12018-03-09 13:51:08 +00005
6For more information on the Android Neural Networks API, see https://developer.android.com/ndk/guides/neuralnetworks/index.html
7
8For integration and usage documentation, please see README.md.
9
10--- Support for Android Neural Networks HAL operations ---
11
12The following AndroidNN operations are currently supported.
13
14AndroidNN operator Tensor type supported
Matthew Bentham378333d2018-10-01 16:07:27 +010015ADD (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000016AVERAGE_POOL_2D (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000017BATCH_TO_SPACE_ND (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000018CONCATENATION (FLOAT32)
surmeh0149b9e102018-05-17 14:11:25 +010019CONV_2D (FLOAT32,QUANT8_ASYMM)
20DEPTHWISE_CONV_2D* (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000021DIV (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000022FLOOR (FLOAT32)
Matthew Bentham378333d2018-10-01 16:07:27 +010023FULLY_CONNECTED (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000024L2_NORMALIZATION (FLOAT32)
25L2_POOL_2D (FLOAT32)
26LOCAL_RESPONSE_NORMALIZATION (FLOAT32)
27LOGISTIC (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000028LSTM (FLOAT32)
telsoa015307bc12018-03-09 13:51:08 +000029MAX_POOL_2D (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000030MEAN (FLOAT32,QUANT8_ASYMM)
Matthew Bentham378333d2018-10-01 16:07:27 +010031MUL (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000032PAD (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000033RELU (FLOAT32,QUANT8_ASYMM)
34RELU1 (FLOAT32,QUANT8_ASYMM)
35RELU6 (FLOAT32,QUANT8_ASYMM)
36RESHAPE (FLOAT32,QUANT8_ASYMM)
37RESIZE_BILINEAR (FLOAT32)
38SOFTMAX (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000039SPACE_TO_BATCH_ND (FLOAT32,QUANT8_ASYMM)
saoste01b8471482018-10-10 09:44:51 +010040SQUEEZE (FLOAT32,QUANT8_ASYMM)
Sadik Armagan82fbeb32018-12-20 17:12:26 +000041STRIDED_SLICE (FLOAT32,QUANT8_ASYMM)
Ferran Balaguerd04c0432018-11-15 14:48:05 +000042SUB (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000043TANH (FLOAT32)
saoste01fe463152018-10-18 17:49:56 +010044TRANSPOSE (FLOAT32,QUANT8_ASYMM)
telsoa015307bc12018-03-09 13:51:08 +000045
surmeh0149b9e102018-05-17 14:11:25 +010046* Depthwise convolution only supports a value of 1 for the depth multiplier. In addition, the QUANT8_ASYMM version only supports 3x3 kernels.
telsoa015307bc12018-03-09 13:51:08 +000047
48--- Unsupported operators ---
49
telsoa01ce3e84a2018-08-31 09:31:35 +010050The following AndroidNN 1.0 operations are currently not supported.
telsoa015307bc12018-03-09 13:51:08 +000051
52DEPTH_TO_SPACE
53DEQUANTIZE
54EMBEDDING_LOOKUP
55HASHTABLE_LOOKUP
56LSH_PROJECTION
telsoa015307bc12018-03-09 13:51:08 +000057RNN
58SPACE_TO_DEPTH
59SVDF
60
61Where operations are not supported by the ArmNN Android NN Driver, the driver indicates this to the framework appropriately and the framework implements those operations using a CPU implementation.