Lite算子支持
本文列举MindSpore Lite支持的算子。
操作名 |
CPU |
CPU |
CPU |
CPU |
CPU |
CPU |
GPU |
GPU |
GPU |
GPU |
NPU |
TensorRT |
Ascend |
支持的TensorFlow Lite算子 |
支持的Caffe算子 |
支持的Onnx算子 |
支持的TensorFlow算子 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Abs |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Abs |
Abs |
Abs |
||||
AbsGrad |
✅ |
||||||||||||||||
Activation |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Activation, ReLU, ReLU6, PReLU, |
ReLU, ReLU6, Sigmoid, TanH, Elu |
Relu, LeakyRelu, PRelu, Elu, Tanh, Sigmoid, HardSigmoid, Softplus |
Activation, Elu, Relu, Relu6, Sigmoid, Tanh, Selu, LeakyRelu, Softplus |
|||
ActivationGrad |
✅ |
✅ |
|||||||||||||||
Adam |
✅ |
Adam |
Adam |
||||||||||||||
AddFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Add |
Add, Int8Add |
Add, AddV2 |
||
AdderFusion |
✅ |
adder_f |
|||||||||||||||
AddGrad |
✅ |
||||||||||||||||
AddN |
✅ |
✅ |
AddN |
||||||||||||||
Affine |
✅ |
✅ |
|||||||||||||||
All |
✅ |
✅ |
All |
All |
|||||||||||||
AllGather |
✅ |
✅ |
|||||||||||||||
ApplyMomentum |
✅ |
✅ |
ApplyMomentum |
ApplyMomentum |
|||||||||||||
Assert |
✅ |
✅ |
✅ |
Assert |
|||||||||||||
Assign |
✅ |
✅ |
Assign |
Assign |
|||||||||||||
ArgmaxFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Argmax |
ArgMax |
ArgMax |
ArgMax |
||||
ArgminFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Argmin |
ArgMin |
||||||||
AvgPoolFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
MeanPooling |
Pooling |
AveragePool, |
AvgPool |
||||
AvgPoolGrad |
✅ |
✅ |
|||||||||||||||
BatchNorm |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
BatchNorm |
BatchNormalization |
||||||||
BatchNormGrad |
✅ |
✅ |
|||||||||||||||
BatchToSpace |
✅ |
✅ |
✅ |
✅ |
✅ |
BatchToSpace |
BatchToSpace |
||||||||||
BatchToSpaceND |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
BatchToSpaceND |
BatchToSpaceND |
|||||||||
BiasAdd |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
BiasAdd |
BiasAdd |
|||||||
BiasAddGrad |
✅ |
✅ |
|||||||||||||||
BinaryCrossEntropy |
✅ |
✅ |
BinaryCrossEntropy |
BinaryCrossEntropy |
|||||||||||||
BinaryCrossEntropyGrad |
✅ |
||||||||||||||||
BroadcastTo |
✅ |
✅ |
✅ |
✅ |
BroadcastTo |
Expand |
BroadcastTo |
||||||||||
Call |
✅ |
✅ |
✅ |
✅ |
✅ |
||||||||||||
Cast |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Cast, |
Cast |
Cast |
|||
Ceil |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Ceil |
Ceil |
Ceil |
||||||
Clip |
✅ |
✅ |
Clip |
Clip |
Clip |
||||||||||||
Concat |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Concat |
Concat |
Concat |
ConcatV2 |
|
ConstantOfShape |
✅ |
✅ |
✅ |
ConstantOfShape |
|||||||||||||
Conv2DFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Conv2D |
Convolution |
Conv, Int8Conv, |
Conv2D |
||||
Conv2DBackpropFilterFusion |
✅ |
✅ |
|||||||||||||||
Conv2DBackpropInputFusion |
✅ |
✅ |
|||||||||||||||
Conv2dTransposeFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
DeConv2D |
Deconvolution |
ConvTranspose |
Conv2DBackpropInput |
||||
Cos |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Cos |
Cos |
Cos |
||||||
Crop |
✅ |
✅ |
✅ |
✅ |
✅ |
Crop |
|||||||||||
CropAndResize |
✅ |
✅ |
CropAndResize |
||||||||||||||
CumSum |
✅ |
✅ |
Cumsum |
||||||||||||||
CustomExtractFeatures |
✅ |
ExtractFeatures |
|||||||||||||||
CustomNormalize |
✅ |
Normalize |
|||||||||||||||
CustomPredict |
✅ |
✅ |
Predict |
||||||||||||||
DEConv2DGradFilter |
✅ |
||||||||||||||||
DepthToSpace |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
DepthToSpace |
DepthToSpace |
DepthToSpace |
||||||||
DetectionPostProcess |
✅ |
✅ |
✅ |
Custom |
|||||||||||||
DivFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Div, RealDiv |
Div |
Div, RealDiv |
||||
DivGrad |
✅ |
||||||||||||||||
Dropout |
✅ |
✅ |
Dropout |
Dropout |
Dropout |
||||||||||||
DropoutGrad |
✅ |
✅ |
|||||||||||||||
DynamicQuant |
✅ |
DynamicQuantizeLinear |
|||||||||||||||
Eltwise |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Eltwise |
Sum, Max[3] |
||||||
Elu |
✅ |
✅ |
✅ |
ELU |
Elu, |
NonMaxSuppressionV3 |
|||||||||||
Equal |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Equal |
Equal |
Equal |
||||
EmbeddingLookupFusion |
✅ |
||||||||||||||||
Erf |
✅ |
✅ |
✅ |
Erf |
Erf |
Erf |
|||||||||||
ExpFusion |
✅ |
✅ |
✅ |
✅ |
Exp |
Exp |
Exp |
Exp |
|||||||||
ExpandDims |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
ExpandDims |
ExpandDims |
|||
Fill |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Fill |
Fill |
||||||||
Flatten |
✅ |
✅ |
✅ |
✅ |
✅ |
Flatten |
|||||||||||
FlattenGrad |
✅ |
✅ |
|||||||||||||||
Floor |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
flOOR |
Floor |
Floor |
||||||
FloorDiv |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
FloorDiv |
FloorDiv |
|||||||||
FloorMod |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
FloorMod |
FloorMod |
|||||||||
FullConnection |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
FullyConnected |
InnerProduct |
||||||
FusedBatchNorm |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
FusedBatchNorm |
FusedBatchNorm, |
|||||||||
GatherNd |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
GatherND |
GatherNd |
||||||
Gather |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Gather |
Gather |
GatherV2 |
||
GatherD |
✅ |
✅ |
✅ |
✅ |
✅ |
||||||||||||
GLU |
✅ |
||||||||||||||||
Greater |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Greater |
Greater |
Greater |
|||||
GreaterEqual |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
GreaterEqual |
GreaterEqual |
||||||
GroupNormFusion |
✅ |
||||||||||||||||
GRU |
✅ |
✅ |
|||||||||||||||
HashtableLookup |
✅ |
✅ |
HashtableLookup |
||||||||||||||
InstanceNorm |
✅ |
✅ |
✅ |
InstanceNorm |
InstanceNormalization |
||||||||||||
InvertPermutation |
✅ |
✅ |
✅ |
InvertPermutation |
|||||||||||||
IsFinite |
✅ |
✅ |
IsFinite |
IsFinite |
|||||||||||||
L2NormalizeFusion |
✅ |
✅ |
✅ |
||||||||||||||
LayerNormFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
||||||||||||
LayerNormGrad |
✅ |
✅ |
|||||||||||||||
LeakyReLU |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
LeakyRelu |
LeakyRelu |
LeakyRelu |
||||||
Less |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Less |
Less |
Less |
||||||
LessEqual |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
LessEqual |
LessEqual |
|||||||
LRN |
✅ |
LocalResponseNorm |
Lrn, LRN |
||||||||||||||
Log |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Log |
Log |
Log |
|||||||
Log1p |
✅ |
✅ |
Log1p |
Log1p |
|||||||||||||
LogGrad |
✅ |
✅ |
|||||||||||||||
LogicalAnd |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
LogicalAnd |
And |
LogicalAnd |
|||||||
LogicalNot |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
LogicalNot |
Not |
LogicalNot |
||||||
LogicalOr |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
LogicalOr |
Or |
LogicalOr |
||||||||
LogSoftmax |
✅ |
✅ |
LogSoftmax |
LogSoftmax |
|||||||||||||
LshProjection |
✅ |
LshProjection |
|||||||||||||||
LSTM |
✅ |
✅ |
LSTM |
||||||||||||||
LSTMGrad |
✅ |
||||||||||||||||
LSTMGradData |
✅ |
||||||||||||||||
LSTMGradWeight |
✅ |
||||||||||||||||
MatMulFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
BatchMatMul |
MatMul, |
MatMul, |
|||||
Maximum |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Maximum |
Max |
Maximum |
|||||||
MaximumGrad |
✅ |
✅ |
|||||||||||||||
MaxPoolFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
MaxPooling |
Pooling |
MaxPool, |
MaxPool |
||||
MaxPoolGrad |
✅ |
✅ |
|||||||||||||||
Merge |
✅ |
✅ |
Merge |
||||||||||||||
Minimum |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Minimum |
Min |
Minimum |
|||||||
MinimumGrad |
✅ |
✅ |
|||||||||||||||
Mod |
✅ |
✅ |
✅ |
Mod |
Mod |
Mod |
|||||||||||
MulFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Mul |
Mul |
Mul |
||||
MulGrad |
✅ |
||||||||||||||||
Neg |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Neg |
Neg |
Neg |
||||||||
NegGrad |
✅ |
✅ |
|||||||||||||||
NLLLoss |
✅ |
✅ |
|||||||||||||||
NLLLossGrad |
✅ |
||||||||||||||||
NotEqual |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
NotEqual |
NotEqual |
|||||||
NonMaxSupppression |
✅ |
✅ |
NonMaxSupppression |
NonMaxSupppression |
NonMaxSupppression |
||||||||||||
NonZero |
✅ |
✅ |
NonZero |
NonZero |
NonZero |
||||||||||||
OneHot |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
OneHot |
OneHot |
OneHot |
||||||||
OnesLike |
✅ |
✅ |
✅ |
✅ |
✅ |
OnesLike |
OnesLike |
||||||||||
PadFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Pad, MirrorPad, PadV2 |
Pad |
MirrorPad, Pad, PadV2 |
|||||
PartialFusion |
✅ |
✅ |
✅ |
✅ |
|||||||||||||
PowFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Pow |
Power |
Pow[2] |
Pow |
|||||
PowerGrad |
✅ |
||||||||||||||||
PriorBox |
✅ |
✅ |
✅ |
✅ |
|||||||||||||
PReLUFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
PRELU |
PReLU |
PRelu |
|||||||||
QuantDTypeCast |
✅ |
✅ |
✅ |
✅ |
|||||||||||||
RaggedRange |
✅ |
✅ |
✅ |
RaggedRange |
|||||||||||||
RandomNormal |
✅ |
✅ |
RandomNormal |
RandomNormal |
RandomNormal |
||||||||||||
RandomStandardNormal |
✅ |
✅ |
RandomStandardNormal |
||||||||||||||
Range |
✅ |
✅ |
✅ |
Range |
Range |
Range |
|||||||||||
Rank |
✅ |
✅ |
Rank |
Rank |
|||||||||||||
RealDiv |
✅ |
✅ |
✅ |
||||||||||||||
Reciprocal |
✅ |
✅ |
✅ |
✅ |
Reciprocal |
||||||||||||
ReduceFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Sum, Mean, ReduceMax, ReduceMin, ReduceProd |
Reduction |
ReduceMean, ReduceMax, ReduceMin, ReduceProd, ReduceSum, ReduceSumSquare, ReduceL2 |
Sum, Max, Min, Mean, Prod, All |
|||
ReduceScatter |
✅ |
✅ |
|||||||||||||||
Reshape |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Reshape |
Reshape |
Reshape, |
Reshape |
|
Resize |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
ResizeBilinear, |
Interp |
Resize, Upsample |
ResizeBilinear, |
|||||
ResizeGrad |
✅ |
✅ |
|||||||||||||||
ReverseV2 |
✅ |
✅ |
reverse |
ReverseV2 |
|||||||||||||
ReverseSequence |
✅ |
ReverseSequence |
ReverseSequence |
||||||||||||||
ROIPooling |
✅ |
✅ |
|||||||||||||||
Round |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Round |
Round |
Round |
||||||
Rsqrt |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Rsqrt |
Rsqrt |
||||||||
RsqrtGrad |
✅ |
✅ |
|||||||||||||||
Select |
✅ |
✅ |
Select |
||||||||||||||
Selu |
Selu |
||||||||||||||||
ScaleFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Scale |
|||||||
ScatterNd |
✅ |
✅ |
✅ |
ScatterNd |
ScatterND |
||||||||||||
ScatterNdUpdate |
✅ |
✅ |
✅ |
ScatterNdUpdate |
ScatterNdUpdate |
||||||||||||
SGD |
✅ |
✅ |
SGD |
SGD |
SGD |
||||||||||||
Shape |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Shape |
Shape |
Shape |
|||||
SigmoidCroosEntropyWithLogits |
✅ |
✅ |
|||||||||||||||
SigmoidCroosEntropyWithLogitsGrad |
✅ |
✅ |
|||||||||||||||
Sin |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Sin |
Sin |
Sin |
||||||
Size |
✅ |
✅ |
✅ |
Size |
|||||||||||||
SliceFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Slice |
Slice |
Slice |
Slice |
|||||
SkipGram |
✅ |
SKipGram |
|||||||||||||||
SmoothL1Loss |
✅ |
✅ |
|||||||||||||||
SmoothL1LossGrad |
✅ |
✅ |
|||||||||||||||
Softmax |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Softmax |
Softmax |
Softmax |
Softmax |
||||
SoftmaxGrad |
✅ |
||||||||||||||||
Softplus |
✅ |
✅ |
Softplus |
||||||||||||||
SpaceToBatch |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
SpaceToBatch |
||||||||||
SpaceToBatchND |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
SpaceToBatchND |
SpaceToBatchND |
|||||||||
SpaceToDepth |
✅ |
✅ |
✅ |
✅ |
SpaceToDepth |
SpaceToDepth |
|||||||||||
SparseToDense |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
SpareToDense |
||||||||||
SparseSoftmaxCrossEntropyWithLogits |
✅ |
✅ |
|||||||||||||||
Splice |
✅ |
✅ |
Splice |
||||||||||||||
Split |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Split, SplitV |
Split |
Split, SplitV |
||||||
SplitWithOverlap |
✅ |
✅ |
|||||||||||||||
Sqrt |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Sqrt |
Sqrt |
Sqrt |
|||||
SqrtGrad |
✅ |
✅ |
|||||||||||||||
Square |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Square |
Square |
|||||||
SquaredDifference |
✅ |
✅ |
✅ |
✅ |
SquaredDifference |
SquaredDifference |
|||||||||||
Squeeze |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Squeeze |
Squeeze |
Squeeze |
||||
StridedSlice |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
StridedSlice |
Slice, |
StridedSlice |
||||
StridedSliceGrad |
✅ |
✅ |
|||||||||||||||
Stack |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Stack |
Pack |
|||||||||
SubFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Sub |
Sub |
Sub |
||||
SubGrad |
✅ |
||||||||||||||||
Switch |
✅ |
✅ |
✅ |
✅ |
Switch |
||||||||||||
SwitchLayer |
✅ |
✅ |
✅ |
✅ |
|||||||||||||
TensorListFromTensor |
✅ |
✅ |
✅ |
TensorListFromTensor |
|||||||||||||
TensorListGetItem |
✅ |
✅ |
✅ |
TensorListGetItem |
|||||||||||||
TensorListReserve |
✅ |
✅ |
✅ |
TensorListReserve |
|||||||||||||
TensorListSetItem |
✅ |
✅ |
✅ |
TensorListSetItem |
|||||||||||||
TensorListStack |
✅ |
✅ |
✅ |
TensorListStack |
|||||||||||||
TensorScatterAdd |
✅ |
✅ |
TensorScatterAdd |
TensorScatterAdd |
|||||||||||||
TileFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
Tile |
Tile |
Tile |
Tile |
||||||||
TopKFusion |
✅ |
✅ |
✅ |
✅ |
✅ |
TopKV2 |
TopK |
TopKV2 |
|||||||||
Transpose |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Transpose |
Permute |
Transpose, Int8Transpose |
Transpose |
|||
UniformReal |
✅ |
✅ |
|||||||||||||||
Unique |
✅ |
✅ |
✅ |
Unique |
|||||||||||||
UnsortedSegmentSum |
✅ |
✅ |
✅ |
UnsortedSegmentSum |
|||||||||||||
Unsqueeze |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
✅ |
Unsqueeze |
|||||
Unstack |
✅ |
✅ |
✅ |
Unstack |
|||||||||||||
Where |
✅ |
✅ |
✅ |
✅ |
Where |
NonZero, Where |
Where |
||||||||||
ZerosLike |
✅ |
✅ |
✅ |
ZerosLike |
ZerosLike |
||||||||||||
转换工具支持的其他算子[4] |
Constant, |
Dropout, Enter, |
[1] Clip:仅支持将clip(0, 6)转换为Relu6。
[2] Pow:仅支持指数为单个常数。
[3] Sum与Max:仅支持输入个数为2。
[4] 转换工具支持,但不需要具体实现的算子,一般这类算子在转化工具中被优化而消失,如被融合掉或者使用其他算子代替。