Skip to content

Latest commit

 

History

History
201 lines (192 loc) · 34.7 KB

arm_opset.md

File metadata and controls

201 lines (192 loc) · 34.7 KB

ARM plugin operation set specification

This specification document based on opset7 operation set supported in OpenVINO. Examples of operation instances are expressed as IR V10 xml snippets. Such IR is generated by the Model Optimizer. The semantics match corresponding nGraph operation classes declared in namespace opset7.

NOTE: ARM plugin doesn't support operations with dynamic shape.

Table of Contents

Layers ARM plugin
Abs Supported
Acos Supported**
Acosh Supported**
Add Supported
Asin Supported**
Asinh Supported**
Assign Not Supported
Atan Supported**
Atanh Supported**
AvgPool Supported***
BatchNormInference Supported
BatchToSpace Supported*
BinaryConvolution Not Supported
Broadcast Supported
Bucketize Supported**
CTCGreedyDecoder Supported**
CTCGreedyDecoderSeqLen Supported**
CTCLoss Supported**
Ceiling Supported
Clamp Supported
Concat Supported
Constant Supported
Convert Supported*
ConvertLike Supported*
Convolution Supported***
ConvolutionBackpropData Supported**
Cos Supported**
Cosh Supported**
CumSum Supported**
DeformableConvolution Not Supported
DeformablePSROIPooling Not Supported
DepthToSpace Supported*
DetectionOutput Supported**
DFT Not Supported
Divide Supported
Elu Supported
EmbeddingBagOffsetsSum Supported**
EmbeddingBagPackedSum Supported**
EmbeddingSegmentsSum Supported**
Equal Supported*
Erf Supported**
Exp Supported
ExperimentalDetectronDetectionOutput_6 Not Supported
ExperimentalDetectronGenerateProposalsSingleImage_6 Not Supported
ExperimentalDetectronPriorGridGenerator_6 Not Supported
ExperimentalDetectronROIFeatureExtractor_6 Not Supported
ExperimentalDetectronTopKROIs_6 Not Supported
ExtractImagePatches Not Supported
FakeQuantize Not Supported
Floor Supported
FloorMod Supported**
Gather Supported*
GatherElements Supported**
GatherND_5 Supported**
GatherTree Supported**
Gelu Supported**
Greater Supported
GreaterEqual Supported
GRN Supported
GroupConvolution Supported***
GroupConvolutionBackpropData Supported**
GRUCell Supported
GRUSequence Supported**
HardSigmoid Supported**
HSigmoid Supported**
HSwish Supported
IDFT Not Supported
Interpolate Supported*
Less Supported*
LessEqual Supported*
Log Supported
LogicalAnd Supported
LogicalNot Supported
LogicalOr Supported
LogicalXor Supported
LogSoftmax Supported
Loop Not Supported
LRN Supported*
LSTMCell Supported
LSTMSequence Supported**
MatMul Supported
MaxPool Supported***
Maximum Supported
Minimum Supported
Mish Supported
Mod Supported*
MVN Supported*
Multiply Supported
Negative Supported
NonMaxSuppression Supported**
NonZero Not Supported
NormalizeL2 Supported*
NotEqual Supported*
OneHot Supported**
Pad Supported*
Parameter Supported
Power Supported
PReLU Supported
PriorBoxClustered Supported
PriorBox Supported
Proposal Supported**
PSROIPooling Supported**
Range Not Supported
ReLU Supported
ReadValue Not Supported
ReduceL1 Supported
ReduceL2 Supported
ReduceLogicalAnd Supported**
ReduceLogicalOr Supported**
ReduceMax Supported
ReduceMean Supported
ReduceMin Supported
ReduceProd Supported
ReduceSum Supported
RegionYolo Supported**
ReorgYolo Supported
Reshape Supported
Result Supported
ReverseSequence Supported**
RNNCell Supported
RNNSequence Supported**
ROIAlign Supported**
ROIPooling Supported**
Roll Not Supported
Round Supported*
ScatterElementsUpdate Supported**
ScatterNDUpdate Supported**
ScatterUpdate Supported**
Select Supported
Selu Supported**
ShapeOf Not Supported
ShuffleChannels Supported
Sigmoid Supported
Sign Supported
Sin Supported
Sinh Supported**
SoftMax Supported
SoftPlus Supported
SpaceToBatch Supported*
SpaceToDepth Supported*
Split Supported
Sqrt Supported
SquaredDifference Supported
Squeeze Supported
StridedSlice Supported*
Subtract Supported
Swish Supported
Tan Supported**
Tanh Supported
TensorIterator Supported
Tile Supported
TopK Supported**
Transpose Supported*
Unsqueeze Supported
VariadicSplit Supported

*- support is limited to the specific parameters. Refer to "Known Layers Limitation" section.

**- support is implemented via ngraph::reference.

***- supports only 4D tensors.

Known Layers Limitations

  • 'BatchToSpace' layer is supported 4D tensors only and constant nodes: block_shape with N = 1 and C= 1, crops_begin with zero values and crops_end with zero values.

  • 'Convert' layer is supported via arm_compute library with configuration: src data type -> dst data type

    • U8 -> U16, S16, S32
    • U16 -> U8, U32
    • S16 -> U8, S32
    • F16 -> F32

    for another cases layer is implemented via ngraph::reference.

  • 'ConvertLike' layer is supported configuration like 'Convert'.

  • 'DepthToSpace' layer is supported 4D tensors only and for BLOCKS_FIRST of 'mode' attribute.

  • 'Equal' doesn't support broadcast for inputs.

  • 'Gather' layer is supported constant scalar or 1D indices axes only.

  • 'Interpolate' layer is supported 4D tensors and zero value of 'pads_begin' and 'pads_end' attributes only.

  • 'Less' doesn't support broadcast for inputs.

  • 'LessEqual' doesn't support broadcast for inputs.

  • 'LRN' layer is supported axes = {1} or axes = {2, 3} only.

  • 'Mod' layer is supported for FP32 only.

  • 'MVN' layer is supported via arm_compute library for 2D inputs and false value of 'normalize_variance' and false value of 'across_channels', for another cases layer is implemented via ngraph::reference.

  • 'Normalize' layer is supported via arm_compute library with MAX value of 'eps_mode' and axes = {2 | 3}, and for ADD value of 'eps_mode' layer uses 'DecomposeNormalizeL2Add', for another cases layer is implemented via ngraph::reference.

  • 'NotEqual'doesn't support broadcast for inputs.

  • 'Pad' layer works with 'pad_mode' = {REFLECT | CONSTANT | SYMMETRIC} parameters only.

  • 'Round' layer is supported via arm_compute library with RoundMode::HALF_AWAY_FROM_ZERO value of mode, for another cases layer is implemented via ngraph::reference.

  • 'SpaceToBatch' layer is supported 4D tensors only and constant nodes: shapes, pads_begin or pads_end with zero paddings for batch or channels and one values shapes for batch and channels.

  • 'SpaceToDepth' layer is supported 4D tensors only and for BLOCKS_FIRST of 'mode' attribute.

  • 'StridedSlice' layer is supported via arm_compute library for tensors with dims < 5 and zero values of ellipsis_mask or zero values of new_axis_mask and shrink_axis_mask, for another cases layer is implemented via ngraph::reference.

  • 'Transpose'layer is supported via arm_compute library for tensors with dims < 5, for another cases layer is implemented via ngraph::reference.