/// /// Copyright (c) 2021 Arm Limited. /// /// SPDX-License-Identifier: MIT /// /// Permission is hereby granted, free of charge, to any person obtaining a copy /// of this software and associated documentation files (the "Software"), to /// deal in the Software without restriction, including without limitation the /// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or /// sell copies of the Software, and to permit persons to whom the Software is /// furnished to do so, subject to the following conditions: /// /// The above copyright notice and this permission notice shall be included in all /// copies or substantial portions of the Software. /// /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE /// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, /// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE /// SOFTWARE. /// namespace arm_compute { /** @page operators_list Supported Operators @tableofcontents @section S9_1_operators_list Supported Operators Compute Library supports operators that are listed in below table. Compute Library supports a wide list of data-types, information can been directly found in the documentation of each kernel/function. The main data-types that the Machine Learning functions support are the following: Compute Library supports the following data layouts (fast changing dimension from right to left): where N = batches, C = channels, H = height, W = width
Function Description Equivalent Android NNAPI Op Backends Data Layouts Data Types
ActivationLayer Function to simulate an activation layer with the specified activation function.
  • ANEURALNETWORKS_ELU
  • ANEURALNETWORKS_HARD_SWISH
  • ANEURALNETWORKS_LOGISTIC
  • ANEURALNETWORKS_RELU
  • ANEURALNETWORKS_RELU1
  • ANEURALNETWORKS_RELU6
  • ANEURALNETWORKS_TANH
NEActivationLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16
F16F16
F32F32
CLActivationLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16
F16F16
F32F32
ArgMinMaxLayer Function to calculate the index of the minimum or maximum values in a tensor based on an axis.
  • ANEURALNETWORKS_ARGMAX
  • ANEURALNETWORKS_ARGMIN
NEArgMinMaxLayer
  • All
srcdst
QASYMM8U32, S32
QASYMM8_SIGNEDU32, S32
S32U32, S32
F16U32, S32
F32U32, S32
CLArgMinMaxLayer
  • All
srcdst
QASYMM8U32, S32
QASYMM8_SIGNEDU32, S32
S32U32, S32
F16U32, S32
F32U32, S32
ArithmeticAddition Function to add 2 tensors.
  • ANEURALNETWORKS_ADD
NEArithmeticAddition
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
QSYMM16QSYMM16S32
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
S32S32S32
F16F16F16
F32F32F32
ArithmeticSubtraction Function to substract 2 tensors.
  • ANEURALNETWORKS_SUB
NEArithmeticSubtraction
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
QSYMM16QSYMM16S32
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
S32S32S32
F16F16F16
F32F32F32
BatchNormalizationLayer Function to perform batch normalization.
  • n/a
NEBatchNormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
CLBatchNormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
BatchToSpaceLayer Batch to space transformation.
  • ANEURALNETWORKS_BATCH_TO_SPACE_ND
NEBatchToSpaceLayer
  • NHWC
  • NCHW
src0src1dst
Alls32All
CLBatchToSpaceLayer
  • NHWC
  • NCHW
src0src1dst
Alls32All
BitwiseAnd Function to performe bitwise AND between 2 tensors.
  • ANEURALNETWORKS_LOGICAL_AND
NEBitwiseAnd
  • All
srcdst
U8U8
CLBitwiseAnd
  • All
srcdst
U8U8
BitwiseNot Function to performe bitwise NOT.
  • ANEURALNETWORKS_LOGICAL_NOT
NEBitwiseNot
  • All
srcdst
U8U8
CLBitwiseNot
  • All
srcdst
U8U8
BitwiseOr Function to performe bitwise OR between 2 tensors.
  • ANEURALNETWORKS_LOGICAL_OR
NEBitwiseOr
  • All
srcdst
U8U8
CLBitwiseOr
  • All
srcdst
U8U8
BitwiseXor Function to performe bitwise XOR between 2 tensors.
  • n/a
NEBitwiseXor
  • All
srcdst
U8U8
CLBitwiseXor
  • All
srcdst
U8U8
BoundingBoxTransform Transform proposal bounding boxes to target bounding box using bounding box deltas.
  • n/a
NEBoundingBoxTransform
  • NHWC
  • NCHW
src0src1dst
QASYMM16QASYMM8QASYMM16
F16F16F16
F32F32F32
CLBoundingBoxTransform
  • NHWC
  • NCHW
src0src1dst
QASYMM16QASYMM8QASYMM16
F16F16F16
F32F32F32
Cast Function to cast a tensor.
  • ANEURALNETWORKS_CAST
NECast
  • All
srcdst
QASYMM8_SIGNEDS16, S32, F32, F16
QASYMM8U16, S16, S32, F32, F16
U8U16, S16, S32, F32, F16
U16U8, U32
S16QASYMM8_SIGNED, U8, S32
F16QASYMM8_SIGNED, QASYMM8, F32, S32, U8
S32QASYMM8_SIGNED, QASYMM8, F16, F32, U8
F32QASYMM8_SIGNED, QASYMM8, BFLOAT16, F16, S32, U8
CLCast
  • All
srcdst
U8S8, U16, S16, U32, S32, F16, F32
U16U8, S8, S16, U32, S32, F16, F32
S16U8, S8, U16, U32, S32, F16, F32
U32U8, S8, U16, S16, S32, F16, F32
S32U8, S8, U16, S16, U32, F16, F32
F16U8, S8, U16, S16, U32, F32
F32U8, S8, U16, S16, U32, F16
ChannelShuffleLayer Function to shuffle the channels of the input tensor.
  • ANEURALNETWORKS_CHANNEL_SHUFFLE
NEChannelShuffleLayer
  • NCHW
srcdst
AllAll
CLChannelShuffleLayer
  • NCHW
srcdst
AllAll
Comparison Function to compare 2 tensors.
  • ANEURALNETWORKS_EQUAL
  • ANEURALNETWORKS_GREATER
  • ANEURALNETWORKS_GREATER_EQUAL
  • ANEURALNETWORKS_LESS
  • ANEURALNETWORKS_LESS_EQUAL
  • ANEURALNETWORKS_NOT_EQUAL
CLComparison
  • All
src0src1dst
AllAllU8
ConcatenateLayer Function to concatenate tensors along a given axis.
  • ANEURALNETWORKS_CONCATENATION
NEConcatenateLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLConcatenateLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
ConvertFullyConnectedWeights Function to tranpose the wieghts for the fully connected layer.
  • n/a
NEConvertFullyConnectedWeights
  • NHWC
  • NCHW
srcdst
AllAll
CLConvertFullyConnectedWeights
  • NHWC
  • NCHW
srcdst
AllAll
ConvolutionLayer Function to compute a convolution layer.
  • ANEURALNETWORKS_CONV_2D
NEConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
CLConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
Copy Function to copy a tensor.
  • n/a
NECopy
  • All
srcdst
AllAll
CLCopy
  • All
srcdst
AllAll
Crop Performs a copy of input tensor to the output tensor.
  • n/a
CLCrop
  • NHWC
srcdst
AllF32
CropResize Function to perform cropping and resizing.
  • n/a
NECropResize
  • NHWC
src0src1src2dst
AllF32F32F32
CLCropResize
  • NHWC
src0src1src2dst
AllF32F32F32
DeconvolutionLayer Function to compute a deconvolution or tranpose convolution.
  • ANEURALNETWORKS_TRANSPOSE_CONV_2D
NEDeconvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
CLDeconvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
DeconvolutionLayerUpsample Function to execute deconvolution upsample on OpenCL.
  • ANEURALNETWORKS_TRANSPOSE_CONV_2D
CLDeconvolutionLayerUpsample
  • NHWC
  • NCHW
srcdst
AllAll
DepthConvertLayer Performs a down-scaling depth conversion.
  • n/a
NEDepthConvertLayer
  • All
srcdst
QASYMM8F16, F32
U8U16, S16, S32
U16U8, U32
S16U8, S32
BFLOAT16F32
F16QASYMM8, F32
F32QASYMM8, F16, BFLOAT16
CLDepthConvertLayer
  • All
srcdst
U8S8, U16, S16, U32, S32, F16, F32
U16U8, S8, S16, U32, S32, F16, F32
S16U8, S8, U16, U32, S32, F16, F32
U32U8, S8, U16, S16, S32, F16, F32
S32U8, S8, U16, S16, U32, F16, F32
F16U8, S8, U16, S16, U32, F32
F32U8, S8, U16, S16, U32, F16
DepthToSpaceLayer Depth to Space transformation.
  • ANEURALNETWORKS_DEPTH_TO_SPACE
NEDepthToSpaceLayer
  • NHWC
  • NCHW
srcdst
AllAll
CLDepthToSpaceLayer
  • NHWC
  • NCHW
srcdst
AllAll
DepthwiseConvolutionLayer Function to perform depthwise separable convolution.
  • ANEURALNETWORKS_DEPTHWISE_CONV_2D
NEDepthwiseConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
CLDepthwiseConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
DequantizationLayer Function to dequantize the values in a tensor.
  • ANEURALNETWORKS_DEQUANTIZE
NEDequantizationLayer
  • All
srcdst
QASYMM8F16, F32
QASYMM8_SIGNEDF16, F32
QSYMM8_PER_CHANNELF16, F32
QSYMM8F16, F32
QSYMM16F16, F32
CLDequantizationLayer
  • All
srcdst
QASYMM8F16, F32
QASYMM8_SIGNEDF16, F32
QSYMM8_PER_CHANNELF16, F32
QSYMM8F16, F32
QSYMM16F16, F32
DetectionPostProcessLayer Function to generate the detection output based on center size encoded boxes, class prediction and anchors by doing non maximum suppression (NMS).
  • ANEURALNETWORKS_DETECTION_POSTPROCESSING
NEDetectionPostProcessLayer
  • All
src0 - src2dst0 - dst3
QASYMM8F32
QASYMM8_SIGNEDF32
F32F32
DirectConvolutionLayer Function to compute direct convolution.
  • ANEURALNETWORKS_CONV_2D
NEDirectConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
CLDirectConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
DirectDeconvolutionLayer Function to run the deconvolution layer.
  • ANEURALNETWORKS_TRANSPOSE_CONV_2D
CLDirectDeconvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
ElementWiseOperations Function to perform in Cpu: - Div - Max - Min - Pow - SquaredDiff - Comparisons (Equal, greater, greater_equal, less, less_equal, not_equal) Function to perform in CL: - Add - Sub - Div - Max - Min - Pow - SquaredDiff
  • ANEURALNETWORKS_MAXIMUM
  • ANEURALNETWORKS_MINIMUM
  • ANEURALNETWORKS_POW
  • ANEURALNETWORKS_DIV
  • ANEURALNETWORKS_ADD
  • ANEURALNETWORKS_SUB
  • ANEURALNETWORKS_EQUAL
  • ANEURALNETWORKS_GREATER
  • ANEURALNETWORKS_GREATER_EQUAL
  • ANEURALNETWORKS_LESS
  • ANEURALNETWORKS_LESS_EQUAL
  • ANEURALNETWORKS_NOT_EQUAL
NEElementwiseMax
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
S32S32S32
S16S16S16
F16F16F16
F32F32F32
NEElementwiseMin
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
S32S32S32
S16S16S16
F16F16F16
F32F32F32
NEElementwiseSquaredDiff
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
S32S32S32
S16S16S16
F16F16F16
F32F32F32
NEElementwiseDivision
  • All
src0src1dst
F16F16F16
F32F32F32
NEElementwisePower
  • All
src0src1dst
F16F16F16
F32F32F32
NEElementwiseComparison
  • All
src0src1dst
QASYMM8QASYMM8U8
QASYMM8_SIGNEDQASYMM8_SIGNEDU8
S32S32U8
U8U8U8
S16S16U8
F16F16U8
F32F32U8
CLArithmeticAddition
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
S32S32S32
F16F16F16
F32F32F32
CLArithmeticSubtraction
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
S32S32S32
F16F16F16
F32F32F32
CLArithmeticDivision
  • All
src0src1dst
F16F16F16
F32F32F32
CLElementwiseMax
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
U8U8U8
S16S16S16
S32S32S32
U32U32U32
F16F16F16
F32F32F32
CLElementwiseMin
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
U8U8U8
S16S16S16
S32S32S32
U32U32U32
F16F16F16
F32F32F32
CLElementwiseSquaredDiff
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
U8U8U8
S16S16S16
F16F16F16
F32F32F32
CLElementwisePower
  • All
src0src1dst
F16F16F16
F32F32F32
ElementwiseUnaryLayer Function to perform: - Rsqrt - Exp - Neg - Log - Abs - Round - Sin
  • ANEURALNETWORKS_ABS
  • ANEURALNETWORKS_EXP
  • ANEURALNETWORKS_LOG
  • ANEURALNETWORKS_NEG
  • ANEURALNETWORKS_RSQRT
  • ANEURALNETWORKS_SIN
NEElementwiseUnaryLayer
  • All
srcdst
F16F16
F32F32
S32S32
CLRsqrtLayer
  • All
srcdst
F16F16
F32F32
CLExpLayer
  • All
srcdst
F16F16
F32F32
CLNegLayer
  • All
srcdst
F16F16
F32F32
CLSinLayer
  • All
srcdst
F16F16
F32F32
CLLogLayer
  • All
srcdst
F16F16
F32F32
CLAbsLayer
  • All
srcdst
F16F16
F32F32
CLRoundLayer
  • All
srcdst
F16F16
F32F32
FFT1D Fast Fourier Transform 1D.
  • n/a
NEFFT1D
  • All
srcdst
F32F32
CLFFT1D
  • All
srcdst
F32F32
F16F16
FFT2D Fast Fourier Transform 2D.
  • n/a
NEFFT2D
  • All
srcdst
F32F32
CLFFT2D
  • All
srcdst
F32F32
F16F16
FFTConvolutionLayer Fast Fourier Transform Convolution.
  • ANEURALNETWORKS_CONV_2D
NEFFTConvolutionLayer
  • All
srcdst
F32F32
CLFFTConvolutionLayer
  • All
srcdst
F32F32
F16F16
Fill Set the values of a tensor with a given value.
  • ANEURALNETWORKS_FILL
NEFill
  • All
srcdst
AllAll
CLFill
  • All
srcdst
AllAll
FillBorder Function to .
  • n/a
NEFillBorder
  • All
srcdst
AllAll
CLFillBorder
  • All
srcdst
AllAll
FlattenLayer Reshape a tensor to be 1D
  • ANEURALNETWORKS_RESHAPE
NEFlattenLayer
  • All
srcdst
AllAll
CLFlattenLayer
  • All
srcdst
AllAll
Floor Round the value to the lowest number.
  • ANEURALNETWORKS_FLOOR
NEFloor
  • All
srcdst
F32F32
F16F16
CLFloor
  • All
srcdst
F32F32
F16F16
FullyConnectedLayer Function to perform a fully connected / dense layer.
  • ANEURALNETWORKS_FULLY_CONNECTED
NEFullyConnectedLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
CLFullyConnectedLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
FuseBatchNormalization Function to fuse the batch normalization node to a preceding convolution node.
  • n/a
NEFuseBatchNormalization
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
CLFuseBatchNormalization
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
Gather Performs the Gather operation along the chosen axis.
  • ANEURALNETWORKS_GATHER
NEGather
  • All
srcdst
AllAll
CLGather
  • All
srcdst
AllAll
GEMM General Matrix Multiplication.
  • n/a
NEGEMM
  • All
src0src1src2dst
F32F32F32F32
F16F16F16F16
BFLOAT16BFLOAT16BFLOAT16BFLOAT16
CLGEMM
  • All
src0src1src2dst
F32F32F32F32
F16F16F16F16
GEMMConv2D General Matrix Multiplication.
  • ANEURALNETWORKS_CONV_2D
NEGEMMConv2d
  • All
src0src1src2dst
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
F16F16F16F16
F32F32F32F32
BFLOAT16BFLOAT16BFLOAT16BFLOAT16
GEMMConvolutionLayer General Matrix Multiplication.
  • ANEURALNETWORKS_CONV_2D
NEGEMMConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
BFLOAT16BFLOAT16BFLOAT16BFLOAT16
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
CLGEMMConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
GEMMDeconvolutionLayer General Matrix Multiplication.
  • ANEURALNETWORKS_TRANSPOSE_CONV_2D
CLGEMMDeconvolutionLayer
  • NHWC
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QASYMM8S32QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
GEMMLowpMatrixMultiplyCore General Matrix Multiplication.
  • n/a
NEGEMMLowpMatrixMultiplyCore
  • NHWC
  • NCHW
src0src1src2dst
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8QSYMM8S32QASYMM8
QASYMM8QASYMM8S32S32
QASYMM8QSYMM8_PER_CHANNELS32S32
QASYMM8QSYMM8S32S32
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8S32QASYMM8_SIGNED
QASYMM8_SIGNEDQASYMM8_SIGNEDS32S32
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32S32
QASYMM8_SIGNEDQSYMM8S32S32
CLGEMMLowpMatrixMultiplyCore
  • NHWC
  • NCHW
src0src1src2dst
QASYMM8QASYMM8S32QASYMM8
QASYMM8QSYMM8_PER_CHANNELS32QASYMM8
QASYMM8QSYMM8S32QASYMM8
QASYMM8QASYMM8S32S32
QASYMM8QSYMM8_PER_CHANNELS32S32
QASYMM8QSYMM8S32S32
QASYMM8_SIGNEDQASYMM8_SIGNEDS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32QASYMM8_SIGNED
QASYMM8_SIGNEDQSYMM8S32QASYMM8_SIGNED
QASYMM8_SIGNEDQASYMM8_SIGNEDS32S32
QASYMM8_SIGNEDQSYMM8_PER_CHANNELS32S32
QASYMM8_SIGNEDQSYMM8S32S32
GEMMLowpOutputStage General Matrix Multiplication.
  • n/a
NEGEMMLowpOutputStage
  • All
src0src1dst
S32S32QASYMM8
S32S32QASYMM8_SIGNED
S32S32QSYMM16
CLGEMMLowpOutputStage
  • All
src0src1dst
S32S32QASYMM8
S32S32QASYMM8_SIGNED
S32S32QSYMM16
GenerateProposalsLayer Function to generate proposals for a RPN (Region Proposal Network).
  • ANEURALNETWORKS_GENERATE_PROPOSALS
NEGenerateProposalsLayer
  • All
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QSYMM8QSYMM16QASYMM8
CLGenerateProposalsLayer
  • All
src0src1src2dst
F16F16F16F16
F32F32F32F32
QASYMM8QSYMM8QSYMM16QASYMM8
InstanceNormalizationLayer Function to perform a Instance normalization on a given axis.
  • ANEURALNETWORKS_INSTANCE_NORMALIZATION
NEInstanceNormalizationLayer
  • NHWC
  • NCHW
srcdst
F16F16
F32F32
CLInstanceNormalizationLayer
  • NHWC
  • NCHW
srcdst
F16F16
F32F32
L2NormalizeLayer Function to perform a L2 normalization on a given axis.
  • ANEURALNETWORKS_L2_NORMALIZATION
NEL2NormalizeLayer
  • NHWC
  • NCHW
srcdst
F16F16
F32F32
CLL2NormalizeLayer
  • NHWC
  • NCHW
srcdst
F16F16
F32F32
Logical Function to perform: - Logical AND - Logical OR - Logical NOT
  • n/a
NELogicalAnd
  • All
src0src1dst
U8U8U8
NELogicalOr
  • All
src0src1dst
U8U8U8
NELogicalNot
  • All
srcdst
U8U8
LogicalAnd Function to perform Logical AND.
  • n/a
CLLogicalAnd
  • All
src0src1dst
U8U8U8
LogicalOr Function to perform Logical OR.
  • n/a
CLLogicalOr
  • All
src0src1dst
U8U8U8
LogicalNot Function to perform Logical NOT.
  • n/a
CLLogicalNot
  • All
srcdst
U8U8
LSTMLayer Function to perform a single time step in a Long Short-Term Memory (LSTM) layer.
  • ANEURALNETWORKS_LSTM
NELSTMLayer
  • All
src0 - src13dst0 - dst3
F16F16
F32F32
CLLSTMLayer
  • All
src0 - src13dst0 - dst3
F16F16
F32F32
LSTMLayerQuantized Function to perform quantized LSTM (Long Short-Term Memory)
  • ANEURALNETWORKS_QUANTIZED_LSTM
  • ANEURALNETWORKS_QUANTIZED_16BIT_LSTM
NELSTMLayerQuantized
  • All
src0 - src8src9 - src12src13src14dst0dst1
QASYMM8S32QSYMM16QASYMM8QSYMM16QASYMM8
CLLSTMLayerQuantized
  • All
src0 - src8src9 - src12src13src14dst0dst1
QASYMM8S32QSYMM16QASYMM8QSYMM16QASYMM8
MaxUnpoolingLayer Function to perform MaxUnpooling.
  • n/a
NEMaxUnpoolingLayer
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLMaxUnpoolingLayer
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
MeanStdDevNormalizationLayer Function to execute mean and standard deviation normalization.
  • n/a
NEMeanStdDevNormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
CLMeanStdDevNormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
NormalizationLayer Function to compute normalization layer.
  • ANEURALNETWORKS_LOCAL_RESPONSE_NORMALIZATION
NENormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
CLNormalizationLayer
  • NHWC
  • NCHW
srcdst
F32F32
F16F16
PadLayer Function to pad a tensor.
  • ANEURALNETWORKS_PAD
  • ANEURALNETWORKS_PAD_V2
NEPadLayer
  • NHWC
  • NCHW
srcdst
AllAll
CLPadLayer
  • NHWC
  • NCHW
srcdst
AllAll
Permute Function to transpose an ND tensor.
  • ANEURALNETWORKS_TRANSPOSE
NEPermute
  • NHWC
  • NCHW
srcdst
AllAll
CLPermute
  • NHWC
  • NCHW
srcdst
AllAll
PixelWiseMultiplication Function to performe a multiplication.
  • ANEURALNETWORKS_MUL
NEPixelWiseMultiplication
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
QSYMM16QSYMM16S32
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
F16F16F16
F32S32F32
CLPixelWiseMultiplication
  • All
src0src1dst
QASYMM8QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNEDQASYMM8_SIGNED
QSYMM16QSYMM16QASYMM16
QSYMM16QSYMM16S32
U8U8U8
U8U8S16
U8S16S16
S16U8S16
S16S16S16
F16F16F16
F32S32F32
PoolingLayer Function to performe pooling with the specified pooling operation.
  • ANEURALNETWORKS_AVERAGE_POOL_2D
  • ANEURALNETWORKS_L2_POOL_2D
  • ANEURALNETWORKS_MAX_POOL_2D
NEPoolingLayer
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLPoolingLayer
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
PReluLayer Function to compute the activation layer with the PRELU activation function.
  • ANEURALNETWORKS_PRELU
NEPReluLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLPReluLayer
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
PriorBoxLayer Function to compute prior boxes and clip.
  • n/a
NEPriorBoxLayer
  • NHWC
  • NCHW
src0src1dst
F32F32F32
CLPriorBoxLayer
  • NHWC
  • NCHW
src0src1dst
F32F32F32
QLSTMLayer Function to perform quantized LSTM (Long Short-Term Memory).
  • ANEURALNETWORKS_QUANTIZED_LSTM
  • ANEURALNETWORKS_QUANTIZED_16BIT_LSTM
NEQLSTMLayer
  • All
src0src1 - src6src7 -src9src10src11dst0dst1 - dst2
QASYMM8_SIGNEDQASYMM8S32QSYMM16QASYMM8_SIGNEDQSYMM16QASYMM8_SIGNED
CLQLSTMLayer
  • All
src0src1 - src6src7 -src9src10src11dst0dst1 - dst2
QASYMM8_SIGNEDQASYMM8S32QSYMM16QASYMM8_SIGNEDQSYMM16QASYMM8_SIGNED
QuantizationLayer Function to perform quantization layer
  • ANEURALNETWORKS_QUANTIZE
NEQuantizationLayer
  • All
srcdst
QASYMM8QASYMM8, QASYMM8_SIGNED, QASYMM16
QASYMM8_SIGNEDQASYMM8, QASYMM8_SIGNED, QASYMM16
F16QASYMM8, QASYMM8_SIGNED, QASYMM16
F32QASYMM8, QASYMM8_SIGNED, QASYMM16
CLQuantizationLayer
  • All
srcdst
QASYMM8QASYMM8, QASYMM8_SIGNED, QASYMM16
QASYMM8_SIGNEDQASYMM8, QASYMM8_SIGNED, QASYMM16
F16QASYMM8, QASYMM8_SIGNED, QASYMM16
F32QASYMM8, QASYMM8_SIGNED, QASYMM16
Range Function to generates a sequence of numbers starting from START and extends by increments of 'STEP' up to but not including 'END'.
  • n/a
NERange
  • All
dst
U8
S8
U16
S16
U32
S32
F16
F32
CLRange
  • All
dst
U8
S8
QASYMM8
U16
S16
U32
S32
F16
F32
ReduceMean Function to performe reduce mean operation.
  • ANEURALNETWORKS_MEAN
NEReduceMean
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLReduceMean
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
ReductionOperation Function to performe reduce with the following operations - ARG_IDX_MAX: Index of the max value - ARG_IDX_MIN: Index of the min value - MEAN_SUM: Mean of sum - PROD: Product - SUM_SQUARE: Sum of squares - SUM: Sum - MIN: Min - MAX: Max
  • ANEURALNETWORKS_REDUCE_ALL
  • ANEURALNETWORKS_REDUCE_ANY
  • ANEURALNETWORKS_REDUCE_MAX
  • ANEURALNETWORKS_REDUCE_MIN
  • ANEURALNETWORKS_REDUCE_PROD
  • ANEURALNETWORKS_REDUCE_SUM
NEReductionOperation
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
S32S32
CLReductionOperation
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
S32S32
ReorgLayer Performs a reorganization layer of input tensor to the output tensor.
  • n/a
NEReorgLayer
  • NHWC
  • NCHW
srcdst
AllAll
CLReorgLayer
  • NHWC
  • NCHW
srcdst
AllAll
ReshapeLayer Function to reshape a tensor.
  • ANEURALNETWORKS_RESHAPE
  • ANEURALNETWORKS_SQUEEZE
NEReshapeLayer
  • All
srcdst
AllAll
CLReshapeLayer
  • All
srcdst
AllAll
Reverse Function to reverse tensor according to axis.
  • n/a
NEReverse
  • All
src0src1dst
AllU32All
CLReverse
  • All
src0src1dst
AllU32All
RNNLayer Function to perform recurrent neural network layer.
  • ANEURALNETWORKS_RNN
NERNNLayer
  • NHWC
  • NCHW
src0src1src2src3dst0dst1
F16F16F16F16F16F16
F32F32F32F32F32F32
CLRNNLayer
  • NHWC
  • NCHW
src0src1src2src3dst0dst1
F16F16F16F16F16F16
F32F32F32F32F32F32
ROIAlignLayer Function to perform ROI alignment.
  • ANEURALNETWORKS_ROI_ALIGN
NEROIAlignLayer
  • All
src0src1dst
F16F16F16
F32F32F32
QASYMM8QASYMM16QASYMM8
QASYMM8_SIGNEDQASYMM16QASYMM8_SIGNED
CLROIAlignLayer
  • All
src0src1dst
F16F16F16
F32F32F32
QASYMM8QASYMM16QASYMM8
QASYMM8_SIGNEDQASYMM16QASYMM8_SIGNED
ROIPoolingLayer Function to perform ROI pooling.
  • ANEURALNETWORKS_ROI_POOLING
NEROIPoolingLayer
  • All
src0src1dst
F32U16F32
QASYMM8U16QASYMM8
CLROIPoolingLayer
  • All
src0src1dst
F16U16F16
F32U16F32
QASYMM8U16QASYMM8
Scale Function to perform resize a tensor using to interpolate: - Bilinear - Nearest neighbor
  • ANEURALNETWORKS_RESIZE_BILINEAR
  • ANEURALNETWORKS_RESIZE_NEAREST_NEIGHBOR
NEScale
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
U8U8
S16S16
CLScale
  • NHWC
  • NCHW
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
U8U8
S16S16
Select Function to select values from 2 tensors depending on an input tensor of booleans.
  • ANEURALNETWORKS_SELECT
NESelect
  • All
src0src1src2dst
U8AllAllAll
CLSelect
  • All
src0src1src2dst
U8AllAllAll
Slice Function to perform tensor slicing.
  • ANEURALNETWORKS_SLICE
NESlice
  • All
srcdst
AllAll
CLSlice
  • All
srcdst
AllAll
SoftmaxLayer Function to compute a SoftmaxLayer and a Log SoftmaxLayer.
  • ANEURALNETWORKS_LOG_SOFTMAX
  • ANEURALNETWORKS_SOFTMAX
NESoftmaxLayerGeneric
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
CLSoftmaxLayerGeneric
  • All
srcdst
QASYMM8QASYMM8
QASYMM8_SIGNEDQASYMM8_SIGNED
F16F16
F32F32
SpaceToBatchLayer Function to divide a tensor spatially.
  • ANEURALNETWORKS_SPACE_TO_BATCH_ND
NESpaceToBatchLayer
  • NHWC
  • NCHW
src0src1src2dst
AllS32S32All
CLSpaceToBatchLayer
  • NHWC
  • NCHW
src0src1src2dst
AllS32S32All
SpaceToDepthLayer Function to rearrange blocks of spatial data into depth.
  • ANEURALNETWORKS_SPACE_TO_DEPTH
NESpaceToDepthLayer
  • NHWC
  • NCHW
srcdst
AllAll
CLSpaceToDepthLayer
  • NHWC
  • NCHW
srcdst
AllAll
Split Function to split a tensor along a given axis.
  • ANEURALNETWORKS_SPLIT
NESplit
  • All
srcdst
AllAll
CLSplit
  • All
srcdst
AllAll
StackLayer Function to stack tensors along an axis.
  • n/a
NEStackLayer
  • All
srcdst
AllAll
CLStackLayer
  • All
srcdst
AllAll
StridedSlice Function to extract a strided slice of a tensor.
  • ANEURALNETWORKS_STRIDED_SLICE
NEStridedSlice
  • All
srcdst
AllAll
CLStridedSlice
  • All
srcdst
AllAll
Tile Function to construct a tensor by tiling a given tensor.
  • ANEURALNETWORKS_TILE
NETile
  • All
srcdst
AllAll
CLTile
  • All
srcdst
AllAll
Transpose Function to transpose a 2D tensor.
  • ANEURALNETWORKS_TRANSPOSE
NETranspose
  • All
srcdst
AllAll
CLTranspose
  • All
srcdst
AllAll
Unstack Function to unpack a rank-R tensor into rank-(R-1) tensors.
  • n/a
NEUnstack
  • All
srcdst
AllAll
CLUnstack
  • All
srcdst
AllAll
WinogradConvolutionLayer Function to do Winograd Convolution.
  • ANEURALNETWORKS_CONV_2D
NEWinogradConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
CLWinogradConvolutionLayer
  • NHWC
  • NCHW
src0src1src2dst
F16F16F16F16
F32F32F32F32
WinogradInputTransform Function to.
  • n/a
CLWinogradInputTransform
  • NHWC
  • NCHW
srcdst
F16F16
F32F32
*/ } // namespace