Supported Framework Layers

Caffe* Supported Layers

Standard Caffe* layers:

Layer Name in Caffe* Limitations
Axpy No
BN No
BatchNorm No
Bias No
Concat No
Convolution No
Deconvolution No
DetectionOutput No
Dropout Not needed for inference
Eltwise No
Flatten No
GlobalInput No
InnerProduct No
Input No
LRN No
Permute No
Pooling No
Power No
ROIPooling No
ReLU No
Reshape No
Scale No
ShuffleChannel No
Slice No
Softmax No
Tile No

MXNet* Supported Symbols

Standard MXNet* symbols:

Symbol Name in MXNet* Limitations
_Plus 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
_minus_scalar No
_mul_scalar No
_arange No
_contrib_AdaptiveAvgPooling2D Converted to the Average Pooling with fixed paddings
_maximum No
_minimum No
_np_roll No
add_n No
arccosh No
arcsinh No
arctanh No
broadcast_add No
broadcast_mul No
cumsum No
div_scalar No
elementwise_sub No
elemwise_add No
elemwise_mul No
exp No
expand_dims No
greater_scalar No
minus_scalar No
null Not needed for inference
repeat No
rnn No
rnn_param_concat No
round No
sigmoid No
slice No
slice_axis No
slice_channel No
slice_like No
stack No
swapaxis No
tile No
transpose No
zeros No
Activation supported "act_type" = "relu", "sigmoid", "softrelu" or "tanh"
BatchNorm No
Concat No
Convolution No
Crop "center_crop" = 1 is not supported
Custom Custom Layers in the Model Optimizer
Deconvolution No
DeformableConvolution No
DeformablePSROIPooling No
Dropout Not needed for inference
ElementWiseSum No
Embedding No
Flatten No
FullyConnected No
InstanceNorm No
L2Normalization only 4D input is supported
LRN No
LeakyReLU supported "act_type" = "prelu", "elu", "leaky", "gelu"
Pad No
Pooling No
ROIPooling No
ReLU No
Reshape No
ScaleShift No
SoftmaxActivation No
SoftmaxOutput No
SoftSign No
Take The attribute 'mode' is not supported
Tile No
UpSampling No
Where No

TensorFlow* Supported Operations

Some TensorFlow* operations do not match to any Inference Engine layer, but are still supported by the Model Optimizer and can be used on constant propagation path. These layers are labeled 'Constant propagation' in the table.

Standard TensorFlow* operations:

Operation Name in TensorFlow* Limitations
Acosh No
Add No
AddV2 No
AddN No
ArgMax No
ArgMin No
Asinh No
Atanh No
AvgPool No
AvgPoolV2 Supported only for constant-foldable kernel_size and strides inputs
BatchToSpaceND No
BiasAdd No
Bucketize CPU only
BroadcastTo No
Cast No
Ceil No
Concat No
ConcatV2 No
Const No
Conv2D No
Conv2DBackpropInput No
Cos No
Cosh No
CropAndResize "method" = "bilinear" only
CumSum No
DepthToSpace No
DepthwiseConv2dNative No
Enter Supported only when it is fused to the TensorIterator layer
Equal No
Exit Supported only when it is fused to the TensorIterator layer
Exp No
ExpandDims No
ExperimentalSparseWeightedSum CPU only
ExtractImagePatches No
EuclideanNorm No
FakeQuantWithMinMaxVars No
FakeQuantWithMinMaxVarsPerChannel No
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
Fill No
Floor No
FloorDiv No
FusedBatchNorm No
FusedBatchNormV2 No
FusedBatchNormV3 No
Gather No
GatherNd No
GatherV2 No
Greater No
GreaterEqual No
Identity Not needed for shape inference
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
LRN No
Less No
Log No
Log1p No
LogicalAnd No
LogicalOr No
LogicalNot No
LogSoftmax 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
Maximum No
Mean No
Merge Supported only when it is fused to the TensorIterator layer
Min No
Minimum No
MirrorPad No
Mul No
Neg No
NextIteration Supported only when it is fused to the TensorIterator layer
NonMaxSuppressionV3 No
NonMaxSuppressionV4 No
NonMaxSuppressionV5 No
NoOp No
OneHot No
Pack No
Pad No
PadV2 No
Placeholder No
PlaceholderWithDefault No
Prod No
Range No
Rank No
RealDiv No
Relu No
Relu6 No
Reshape No
ResizeBilinear No
ResizeNearestNeighbor No
ResourceGather No
ReverseSequence No
Roll No
Round No
Rsqrt No
Shape No
Sigmoid No
Sin No
Sinh No
Size No
Slice No
Softmax No
Softplus No
Softsign No
SpaceToBatchND No
SparseToDense CPU only
Split No
SplitV No
Sqrt No
Square No
SquaredDifference No
Square No
Squeeze The case when squeeze axis is not specified is not supported
StopGradient Not needed for shape inference
StridedSlice Supported only for constant-foldable begin, end, and strides inputs
Sub No
Sum No
Swish No
Switch Control flow propagation
Tan No
Tanh No
TensorArrayGatherV3 Supported only when it is fused to the TensorIterator layer
TensorArrayReadV3 Supported only when it is fused to the TensorIterator layer
TensorArrayScatterV3 Supported only when it is fused to the TensorIterator layer
TensorArraySizeV3 Supported only when it is fused to the TensorIterator layer
TensorArrayV3 Supported only when it is fused to the TensorIterator layer
TensorArrayWriteV3 Supported only when it is fused to the TensorIterator layer
Tile No
TopkV2 No
Transpose No
Unpack No
Where No
ZerosLike No

TensorFlow 2 Keras* Supported Operations

Standard TensorFlow 2 Keras* operations:

Operation Name in TensorFlow 2 Keras* Limitations
ActivityRegularization No
Add No
AdditiveAttention No
AlphaDropout No
Attention No
Average No
AveragePooling1D No
AveragePooling2D No
AveragePooling3D No
BatchNormalization No
Bidirectional No
Concatenate No
Conv1D No
Conv1DTranspose Not supported if dilation is not equal to 1
Conv2D No
Conv2DTranspose No
Conv3D No
Conv3DTranspose No
Cropping1D No
Cropping2D No
Cropping3D No
Dense No
DenseFeatures Not supported for categorical and crossed features
DepthwiseConv2D No
Dot No
Dropout No
ELU No
Embedding No
Flatten No
GRU No
GRUCell No
GaussianDropout No
GaussianNoise No
GlobalAveragePooling1D No
GlobalAveragePooling2D No
GlobalAveragePooling3D No
GlobalMaxPool1D No
GlobalMaxPool2D No
GlobalMaxPool3D No
LSTM No
LSTMCell No
Lambda No
LayerNormalization No
LeakyReLU No
LocallyConnected1D No
LocallyConnected2D No
MaxPool1D No
MaxPool2D No
MaxPool3D No
Maximum No
Minimum No
Multiply No
PReLU No
Permute No
RNN Not supported for some custom cells
ReLU No
RepeatVector No
Reshape No
Roll No
SeparableConv1D No
SeparableConv2D No
SimpleRNN No
SimpleRNNCell No
Softmax No
SpatialDropout1D No
SpatialDropout2D No
SpatialDropout3D No
StackedRNNCells No
Subtract No
ThresholdedReLU No
TimeDistributed No
UpSampling1D No
UpSampling2D No
UpSampling3D No
ZeroPadding1D No
ZeroPadding2D No
ZeroPadding3D No

Kaldi* Supported Layers

Standard Kaldi* Layers:

Symbol Name in Kaldi* Limitations
addshift No
affinecomponent No
affinetransform No
clipgradientcomponent Not needed for inference
concat No
convolutional1dcomponent No
convolutionalcomponent No
copy No
Crop No
elementwiseproductcomponent No
fixedaffinecomponent No
fixedbiascomponent No
fixedscalecomponent No
generaldropoutcomponent Not needed for inference
linearcomponent No
logsoftmaxcomponent No
lstmnonlinearitycomponent No
lstmprojected No
lstmprojectedstreams No
maxpoolingcomponent No
naturalgradientaffinecomponent No
naturalgradientperelementscalecomponent No
noopcomponent Not needed for inference
normalizecomponent No
parallelcomponent No
pnormcomponent No
rectifiedlinearcomponent No
rescale No
sigmoid No
softmax No
softmaxComponent No
softsign No
specaugmenttimemaskcomponent Not needed for inference
splicecomponent No
tanhcomponent No
tdnncomponent No
timeheightconvolutioncomponent No

ONNX* Supported Operators

Standard ONNX* operators:

Symbol Name in ONNX* Limitations
Abs No
Acos No
Acosh No
Add No
Affine No
ArgMax No
ArgMin No
Asin No
Asinh No
Atan No
Atanh No
AveragePool No
BatchMatMul No
BatchNormalization No
Cast No
Ceil No
Clip No
Concat No
Constant No
ConstantFill No
ConstantOfShape No
Conv No
ConvTranspose
Cos No
Cosh No
Crop No
CumSum No
DequantizeLinear No
DetectionOutput (Intel experimental) No
Div No
Dropout Not needed for inference
Elu No
Equal No
Erf No
Expand No
FakeQuantize (Intel experimental) No
Fill No
Flatten No
Floor No
GRU No
Gather No
GatherElements Doesn't work with negative indices
GatherND No
GatherTree No
Gemm No
GlobalAveragePool No
GlobalMaxPool No
Greater No
GreaterEqual No
HardSigmoid No
Identity Not needed for inference
ImageScaler No
LRN No
LSTM Peepholes are not supported
LeakyRelu No
Less No
LessEqual No
Log No
LogicalAnd No
LogicalOr No
LogSoftmax No
Loop No
MatMul 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
Mul No
Neg No
NonMaxSuppression No
NonZero No
Not No
NotEqual No
OneHot No
Pad No
Pow No
PriorBox (Intel experimental) No
QuantizeLinear No
RNN No
ROIAlign No
Range No
Reciprocal No
ReduceL1 No
ReduceL2 No
ReduceMax No
ReduceMean No
ReduceMin No
ReduceProd No
ReduceSum No
Relu No
Reshape No
Resize Coordinate transformation mode tf_crop_and_resize is not supported, nearest mode is not supported for 5D+ inputs.
ReverseSequence No
Round No
Scatter Supported if fuse-able to ScatterUpdate. MYRIAD only
ScatterND No
ScatterElements Supported if fuse-able to ScatterUpdate. MYRIAD only
Select No
Shape No
Sigmoid No
Sign No
Sin No
Size No
Slice No
Softmax No
Softplus No
Softsign No
SpaceToDepth No
Sqrt No
Squeeze The case when squeeze axis is not specified is not supported
Sub No
Sum No
Tan No
Tanh No
ThresholdedRelu No
TopK No
Transpose No
Unsqueeze No
Upsample No
Where No
Xor No