From db2cd2f701e90cfc3e6895c2f18465865d4c0c10 Mon Sep 17 00:00:00 2001 From: Popova Date: Mon, 9 Aug 2021 10:45:30 +0300 Subject: [PATCH 1/7] Updated list of supported layers. --- .../Supported_Frameworks_Layers.md | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 03a58a23387e24..7fcd8c75505ae6 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -10,8 +10,11 @@ Standard Caffe\* layers: | BN | No | | BatchNorm | No | | Bias | No | +| Binarization (Intel experimental) | No | | Concat | No | | Convolution | No | +| ConvolutionBinary | No | +| Crop | No | | Deconvolution | No | | DetectionOutput | No | | Dropout | Not needed for inference | @@ -21,14 +24,25 @@ Standard Caffe\* layers: | InnerProduct | No | | Input | No | | LRN | No | +| Normalize | No | +| Python | No | | Permute | No | | Pooling | No | | Power | No | +| PReLU | No | +| PriorBox | No | +| PriorBoxClustered | No | +| Proposal | No | +| PSROIPooling | No | | ROIPooling | No | +| RegionYolo | No | +| ReorgYolo | No | | ReLU | No | +| Resample | No | | Reshape | No | | Scale | No | | ShuffleChannel | No | +| Sigmoid | No | | Slice | No | | Softmax | No | | Tile | No | @@ -41,31 +55,44 @@ Standard MXNet\* symbols: | Symbol Name in MXNet\*| Limitations| | :----------| :----------| | _Plus | No | +| _contrib_box_nms | No | +| _contrib_DeformableConvolution | No | +| _contrib_DeformablePSROIPooling | No | | _contrib_MultiBoxDetection | "force_suppress" = 1 is not supported, non-default variances are not supported | | _contrib_MultiBoxPrior | No | | _contrib_Proposal | No | | _copy | Not needed for inference | +| _div_scalar | No | +| _greater_scalar | No | | _minus_scalar | No | | _mul_scalar | No | +| _plus_scalar | No | +| _rnn_param_concat | No | | _arange | No | | _contrib_AdaptiveAvgPooling2D | Converted to the Average Pooling with fixed paddings | | _maximum | No | | _minimum | No | | _np_roll | No | +| _zeros | No | | add_n | No | | arccosh | No | | arcsinh | No | | arctanh | No | | broadcast_add | No | +| broadcast_div | No | | broadcast_mul | No | +| broadcast_sub | No | +| BlockGrad | No | | cumsum | No | | div_scalar | No | | elementwise_sub | No | | elemwise_add | No | | elemwise_mul | No | +| elemwise_sub | No | | exp | No | | expand_dims | No | | greater_scalar | No | +| max | No | | minus_scalar | No | | null | Not needed for inference | | repeat | No | @@ -74,9 +101,11 @@ Standard MXNet\* symbols: | round | No | | sigmoid | No | | slice | No | +| SliceChannel | No | | slice_axis | No | | slice_channel | No | | slice_like | No | +| softmax | No | | stack | No | | swapaxis | No | | tile | No | @@ -100,6 +129,7 @@ Standard MXNet\* symbols: | L2Normalization | only 4D input is supported | | LRN | No | | LeakyReLU | supported "act_type" = "prelu", "elu", "leaky", "gelu" | +| ones_like | No | | Pad | No | | Pooling | No | | ROIPooling | No | @@ -113,6 +143,7 @@ Standard MXNet\* symbols: | Tile | No | | UpSampling | No | | Where | No | +| zeros_like | No | ## TensorFlow\* Supported Operations @@ -123,18 +154,27 @@ Standard TensorFlow\* operations: | Operation Name in TensorFlow\* | Limitations| | :----------| :----------| +| Abs | No | | Acosh | No | | Add | No | | AddV2 | No | | AddN | No | +| All | No | | ArgMax | No | | ArgMin | No | | Asinh | No | +| Assert | No | +| Assign | No | +| AssignSub | No | | Atanh | No | | AvgPool | No | | AvgPoolV2 | Supported only for constant-foldable kernel_size and strides inputs | +| AvgPool3D | No | +| BatchMatMul | No | +| BatchMatMulV2 | No | | BatchToSpaceND | No | | BiasAdd | No | +| BlockLSTM | No | | Bucketize | CPU only | | BroadcastTo | No | | Cast | No | @@ -144,14 +184,20 @@ Standard TensorFlow\* operations: | Const | No | | Conv2D | No | | Conv2DBackpropInput | No | +| Conv3D | No | +| Conv3DBackpropInputV2 | No | | Cos | No | | Cosh | No | | CropAndResize | "method" = "bilinear" only | +| CTCGreedyDecoder | No | +| CTCLoss | No | | CumSum | No | | DepthToSpace| No | | DepthwiseConv2dNative| No | +| Elu | No | | Enter | Supported only when it is fused to the TensorIterator layer | | Equal | No | +| Erf | No | | Exit | Supported only when it is fused to the TensorIterator layer | | Exp | No | | ExpandDims | No | @@ -163,34 +209,43 @@ Standard TensorFlow\* operations: | FFT | Supported only when it is part of a sub-graph of the special form | | FFT2D | Supported only when it is part of a sub-graph of the special form | | FFT3D | Supported only when it is part of a sub-graph of the special form | +| FIFOQueueV2 | Supported only when it is part of a sub-graph of the special form | | Fill | No | | Floor | No | | FloorDiv | No | +| FloorMod | No | | FusedBatchNorm | No | | FusedBatchNormV2 | No | | FusedBatchNormV3 | No | | Gather | No | | GatherNd | No | +| GatherTree | No | | GatherV2 | No | | Greater | No | | GreaterEqual | No | | Identity | Not needed for shape inference | +| IdentityN | No | | IFFT | Supported only when it is part of a sub-graph of the special form | | IFFT2D | Supported only when it is part of a sub-graph of the special form | | IFFT3D | Supported only when it is part of a sub-graph of the special form | +| IteratorGetNext | No | | LRN | No | +| LeakyRelu | No | | Less | No | +| LessEqual | No | | Log | No | | Log1p | No | | LogicalAnd | No | | LogicalOr | No | | LogicalNot | No | | LogSoftmax | No | +| LookupTableInsertV2 | No | | LoopCond | Supported only when it is fused to the TensorIterator layer | | MatMul | No | | Max | No | | MaxPool | No | | MaxPoolV2 | Supported only for constant-foldable kernel_size and strides inputs | +| MaxPool3D | No | | Maximum | No | | Mean | No | | Merge | Supported only when it is fused to the TensorIterator layer | @@ -200,9 +255,11 @@ Standard TensorFlow\* operations: | Mul | No | | Neg | No | | NextIteration | Supported only when it is fused to the TensorIterator layer | +| NonMaxSuppressionV2 | No | | NonMaxSuppressionV3 | No | | NonMaxSuppressionV4 | No | | NonMaxSuppressionV5 | No | +| NotEqual | No | | NoOp | No | | OneHot | No | | Pack | No | @@ -211,9 +268,11 @@ Standard TensorFlow\* operations: | Placeholder | No | | PlaceholderWithDefault | No | | Prod | No | +| QueueDequeueUpToV2 | Supported only when it is part of a sub-graph of the special form | | Range | No | | Rank | No | | RealDiv | No | +| Reciprocal | No | | Relu | No | | Relu6 | No | | Reshape | No | @@ -221,9 +280,12 @@ Standard TensorFlow\* operations: | ResizeNearestNeighbor | No | | ResourceGather| No | | ReverseSequence | No | +| ReverseV2 | No | | Roll | No | | Round | No | +| Pow | No | | Rsqrt | No | +| Select | No | | Shape | No | | Sigmoid | No | | Sin | No | @@ -234,6 +296,10 @@ Standard TensorFlow\* operations: | Softplus | No | | Softsign | No | | SpaceToBatchND | No | +| SpaceToDepth | No | +| SparseFillEmptyRows | No | +| SparseReshape | No | +| SparseSegmentSum | No | | SparseToDense | CPU only | | Split | No | | SplitV | No | @@ -242,11 +308,13 @@ Standard TensorFlow\* operations: | SquaredDifference | No | | Square| No | | Squeeze | The case when squeeze axis is not specified is not supported | +| StatelessWhile | No | | StopGradient | Not needed for shape inference | | StridedSlice | Supported only for constant-foldable begin, end, and strides inputs | | Sub | No | | Sum | No | | Swish | No | +| swish_f32 | No | | Switch | Control flow propagation | | Tan | No | | Tanh | No | @@ -259,7 +327,10 @@ Standard TensorFlow\* operations: | Tile | No | | TopkV2 | No | | Transpose | No | +| Unique | No | | Unpack | No | +| Variable | No | +| VariableV2 | No | | Where | No | | ZerosLike | No | @@ -356,7 +427,10 @@ Standard Kaldi\* Layers: | :----------| :----------| | addshift | No | | affinecomponent | No | +| affinecomponentpreconditionedonline | No | | affinetransform | No | +| backproptruncationcomponent | No | +| batchnormcomponent | No | | clipgradientcomponent | Not needed for inference | | concat | No | | convolutional1dcomponent | No | @@ -383,6 +457,7 @@ Standard Kaldi\* Layers: | rectifiedlinearcomponent | No | | rescale | No | | sigmoid | No | +| sigmoidcomponent | No | | softmax | No | | softmaxComponent | No | | softsign | No | @@ -404,12 +479,14 @@ Standard ONNX\* operators: | Acosh | No | | Add | No | | Affine | No | +| And | No | | ArgMax | No | | ArgMin | No | | Asin | No | | Asinh | No | | Atan | No | | Atanh | No | +| ATen | No | | AveragePool | No | | BatchMatMul | No | | BatchNormalization | No | @@ -426,6 +503,7 @@ Standard ONNX\* operators: | Cosh | No | | Crop | No | | CumSum | No | +| DepthToSpace | No | | DequantizeLinear | No | | DetectionOutput (Intel experimental) | No | | Div | No | @@ -433,7 +511,10 @@ Standard ONNX\* operators: | Elu | No | | Equal | No | | Erf | No | +| Exp | No | | Expand | No | +| ExperimentalDetectronGroupNorm | No | +| ExperimentalDetectronROIFeatureExtractor | No | | FakeQuantize (Intel experimental) | No | | Fill | No | | Flatten | No | @@ -451,6 +532,7 @@ Standard ONNX\* operators: | HardSigmoid | No | | Identity | Not needed for inference | | ImageScaler | No | +| InstanceNormalization | No | | LRN | No | | LSTM | Peepholes are not supported | | LeakyRelu | No | @@ -461,7 +543,9 @@ Standard ONNX\* operators: | LogicalOr | No | | LogSoftmax | No | | Loop | No | +| LpNormalization | No | | MatMul | No | +| Max | No | | MaxPool | No | | MeanVarianceNormalization | Reduction over the batch dimension is not supported, reduction over all dimensions except batch and channel ones is obligatory | | Min | No | @@ -475,6 +559,7 @@ Standard ONNX\* operators: | Pad | No | | Pow | No | | PriorBox (Intel experimental) | No | +| PriorBoxClustered | No | | QuantizeLinear | No | | RNN | No | | ROIAlign | No | @@ -506,6 +591,7 @@ Standard ONNX\* operators: | Softplus | No | | Softsign | No | | SpaceToDepth | No | +| Split | No | | Sqrt | No | | Squeeze | The case when squeeze axis is not specified is not supported | | Sub | No | From a817b5db32bca49e586301b43e6236576913a335 Mon Sep 17 00:00:00 2001 From: Popova Date: Mon, 9 Aug 2021 12:15:39 +0300 Subject: [PATCH 2/7] Removed Crop, softsign from Kaldi list. --- docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 7fcd8c75505ae6..01a72cf7988e0b 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -436,7 +436,6 @@ Standard Kaldi\* Layers: | convolutional1dcomponent | No | | convolutionalcomponent | No | | copy | No | -| Crop | No | | elementwiseproductcomponent | No | | fixedaffinecomponent | No | | fixedbiascomponent | No | @@ -460,7 +459,6 @@ Standard Kaldi\* Layers: | sigmoidcomponent | No | | softmax | No | | softmaxComponent | No | -| softsign | No | | specaugmenttimemaskcomponent | Not needed for inference | | splicecomponent | No | | tanhcomponent | No | From df58a472346531b496ce7c40193822c22ea767d8 Mon Sep 17 00:00:00 2001 From: Popova Date: Mon, 16 Aug 2021 18:10:03 +0300 Subject: [PATCH 3/7] Updated limitations. --- .../Supported_Frameworks_Layers.md | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 01a72cf7988e0b..2fd2da4c8774d3 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -189,8 +189,8 @@ Standard TensorFlow\* operations: | Cos | No | | Cosh | No | | CropAndResize | "method" = "bilinear" only | -| CTCGreedyDecoder | No | -| CTCLoss | No | +| CTCGreedyDecoder | Supported only with decoded indices output in a dense format | +| CTCLoss | Supported only with decoded indices input in a dense format | | CumSum | No | | DepthToSpace| No | | DepthwiseConv2dNative| No | @@ -228,7 +228,7 @@ Standard TensorFlow\* operations: | IFFT | Supported only when it is part of a sub-graph of the special form | | IFFT2D | Supported only when it is part of a sub-graph of the special form | | IFFT3D | Supported only when it is part of a sub-graph of the special form | -| IteratorGetNext | No | +| IteratorGetNext | Supported only when it is part of a sub-graph of the special form | | LRN | No | | LeakyRelu | No | | Less | No | @@ -239,7 +239,7 @@ Standard TensorFlow\* operations: | LogicalOr | No | | LogicalNot | No | | LogSoftmax | No | -| LookupTableInsertV2 | No | +| LookupTableInsertV2 | Supported only when it is part of a sub-graph of the special form | | LoopCond | Supported only when it is fused to the TensorIterator layer | | MatMul | No | | Max | No | @@ -280,7 +280,7 @@ Standard TensorFlow\* operations: | ResizeNearestNeighbor | No | | ResourceGather| No | | ReverseSequence | No | -| ReverseV2 | No | +| ReverseV2 | Supported only when can be converted to ReverseSequence operation | | Roll | No | | Round | No | | Pow | No | @@ -297,9 +297,9 @@ Standard TensorFlow\* operations: | Softsign | No | | SpaceToBatchND | No | | SpaceToDepth | No | -| SparseFillEmptyRows | No | -| SparseReshape | No | -| SparseSegmentSum | No | +| SparseFillEmptyRows | Supported only when it is part of a sub-graph of the special form | +| SparseReshape | Supported only when it is part of a sub-graph of the special form | +| SparseSegmentSum | Supported only when it is part of a sub-graph of the special form | | SparseToDense | CPU only | | Split | No | | SplitV | No | @@ -327,7 +327,6 @@ Standard TensorFlow\* operations: | Tile | No | | TopkV2 | No | | Transpose | No | -| Unique | No | | Unpack | No | | Variable | No | | VariableV2 | No | @@ -484,7 +483,7 @@ Standard ONNX\* operators: | Asinh | No | | Atan | No | | Atanh | No | -| ATen | No | +| ATen | Supported only for 'embedding_bag' operator | | AveragePool | No | | BatchMatMul | No | | BatchNormalization | No | @@ -511,8 +510,12 @@ Standard ONNX\* operators: | Erf | No | | Exp | No | | Expand | No | -| ExperimentalDetectronGroupNorm | No | -| ExperimentalDetectronROIFeatureExtractor | No | +| ExperimentalDetectronDetectionOutput (Intel experimental) | No | +| ExperimentalDetectronGenerateProposalsSingleImage (Intel experimental) | No | +| ExperimentalDetectronGroupNorm (Intel experimental) | No | +| ExperimentalDetectronPriorGridGenerator (Intel experimental) | No | +| ExperimentalDetectronROIFeatureExtractor (Intel experimental) | No | +| ExperimentalDetectronTopKROIs (Intel experimental) | No | | FakeQuantize (Intel experimental) | No | | Fill | No | | Flatten | No | From c11ebb1a6571337e02b43d83559d27d0f2fdc498 Mon Sep 17 00:00:00 2001 From: Popova Date: Tue, 17 Aug 2021 15:27:34 +0300 Subject: [PATCH 4/7] Corrected limitations. --- docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 2fd2da4c8774d3..e4cfab19814b4d 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -25,7 +25,7 @@ Standard Caffe\* layers: | Input | No | | LRN | No | | Normalize | No | -| Python | No | +| Python | Supported only for Python Proposal operation | | Permute | No | | Pooling | No | | Power | No | From 8201e255e74ef70577a6d284fcc8fb9dc9b98d2b Mon Sep 17 00:00:00 2001 From: Popova Date: Tue, 17 Aug 2021 17:20:50 +0300 Subject: [PATCH 5/7] Updated limitations. --- docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index e4cfab19814b4d..b8ebb40cd2a84a 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -163,9 +163,9 @@ Standard TensorFlow\* operations: | ArgMax | No | | ArgMin | No | | Asinh | No | -| Assert | No | -| Assign | No | -| AssignSub | No | +| Assert | Not needed for inference | +| Assign | Not needed for inference | +| AssignSub | Not needed for inference | | Atanh | No | | AvgPool | No | | AvgPoolV2 | Supported only for constant-foldable kernel_size and strides inputs | From e29296c11ecefbce43fd17b341fa392d3b127495 Mon Sep 17 00:00:00 2001 From: Popova Date: Fri, 20 Aug 2021 09:27:22 +0300 Subject: [PATCH 6/7] Added Einsum, corrected Where. --- docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index bcaf5d89c69140..889b6c168f67ce 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -194,6 +194,7 @@ Standard TensorFlow\* operations: | CumSum | No | | DepthToSpace| No | | DepthwiseConv2dNative| No | +| Einsum | Supported only with equation that does not contain repeated labels within subscript | | Elu | No | | Enter | Supported only when it is fused to the TensorIterator layer | | Equal | No | @@ -330,7 +331,7 @@ Standard TensorFlow\* operations: | Unpack | No | | Variable | No | | VariableV2 | No | -| Where | No | +| Where | Supported only when it is part of a sub-graph of the special form | | ZerosLike | No | From 20fefecdbfef7b97771211c7bc31cf1e95a0d3ed Mon Sep 17 00:00:00 2001 From: Anastasia Popova Date: Fri, 20 Aug 2021 13:44:49 +0300 Subject: [PATCH 7/7] Apply suggestions from code review Co-authored-by: Anastasiya Ageeva --- docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md index 889b6c168f67ce..fdda8f40a0b777 100644 --- a/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md +++ b/docs/MO_DG/prepare_model/Supported_Frameworks_Layers.md @@ -25,7 +25,7 @@ Standard Caffe\* layers: | Input | No | | LRN | No | | Normalize | No | -| Python | Supported only for Python Proposal operation | +| Python | Supported only for the Python Proposal operation | | Permute | No | | Pooling | No | | Power | No | @@ -194,7 +194,7 @@ Standard TensorFlow\* operations: | CumSum | No | | DepthToSpace| No | | DepthwiseConv2dNative| No | -| Einsum | Supported only with equation that does not contain repeated labels within subscript | +| Einsum | Supported only with equation that does not contain repeated labels within a subscript | | Elu | No | | Enter | Supported only when it is fused to the TensorIterator layer | | Equal | No | @@ -281,7 +281,7 @@ Standard TensorFlow\* operations: | ResizeNearestNeighbor | No | | ResourceGather| No | | ReverseSequence | No | -| ReverseV2 | Supported only when can be converted to ReverseSequence operation | +| ReverseV2 | Supported only when can be converted to the ReverseSequence operation | | Roll | No | | Round | No | | Pow | No | @@ -484,7 +484,7 @@ Standard ONNX\* operators: | Asinh | No | | Atan | No | | Atanh | No | -| ATen | Supported only for 'embedding_bag' operator | +| ATen | Supported only for the 'embedding_bag' operator | | AveragePool | No | | BatchMatMul | No | | BatchNormalization | No |