Lite算子支持

查看源文件

本文列举MindSpore Lite支持的算子。

操作名
 

CPU
FP16

CPU
FP32

CPU
Int32

CPU
Int8

CPU
UInt8

CPU
Bool

GPU
FP16

GPU
FP32

GPU
Int32

GPU
Int8

NPU
 

TensorRT
 

Ascend
(Ascend310)

支持的TensorFlow Lite算子

支持的Caffe算子

支持的Onnx算子

支持的TensorFlow算子

Abs

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Abs

Abs

Abs

AbsGrad

✅

Activation

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Activation, ReLU, ReLU6, PReLU,
LeakyReLU, Tanh, HardSwish, Logistic

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,
GlobalAveragePool,
Int8AveragePool

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,
QUANTIZE,
DEQUANTIZE

Cast

Cast

Ceil

✅

✅

✅

✅

✅

✅

✅

✅

Ceil

Ceil

Ceil

Clip

✅

✅

Clip

Clip

Clip

Concat

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

✅

Concat

Concat

Concat

ConcatV2

ConstantOfShape

✅

✅

✅

ConstantOfShape

Conv2DFusion

✅

✅

✅

✅

✅

✅

✅

✅

✅

Conv2D

Convolution

Conv, Int8Conv,
ConvRelu,
Int8ConvRelu

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,
NonMaxSuppression

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,
FusedBatchNormV3

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,
Gemm

MatMul,
BatchMatMul,
BatchMatMulV2

Maximum

✅

✅

✅

✅

✅

✅

✅

Maximum

Max

Maximum

MaximumGrad

✅

✅

MaxPoolFusion

✅

✅

✅

✅

✅

✅

✅

✅

✅

MaxPooling

Pooling

MaxPool,
GlobalMaxPool

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,
Flatten

Reshape

Resize

✅

✅

✅

✅

✅

✅

✅

✅

ResizeBilinear,
NearestNeighbor

Interp

Resize, Upsample

ResizeBilinear,
ResizeBicubic,
ResizeNearestNeighbor

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,
DynamicSlice

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,
Atan, Asin, Tan,
Loop, Dropout, If, Identity,
Int8GivenIntTensorFill,
Int8GivenTensorFill,
Int8Quantize,
Int8Dequantize,
LpNormalization

Dropout, Enter,
Exit, If,
LinSpace,
LoopCond,
NextIteration,
StatelessIf,
StatelessWhile,
TensorArrayGatherV3,
TensorArrayReadV3,
TensorArrayScatterV3,
TensorArraySizeV3,
TensorArrayV3,
TensorArrayWriteV3,
While

[1] Clip:仅支持将clip(0, 6)转换为Relu6。

[2] Pow:仅支持指数为单个常数。

[3] Sum与Max:仅支持输入个数为2。

[4] 转换工具支持,但不需要具体实现的算子,一般这类算子在转化工具中被优化而消失,如被融合掉或者使用其他算子代替。