Lite算子支持

查看源文件

MindSpore Lite支持不同硬件后端的算子列表:

操作名
 

CPU
FP16

CPU
FP32

CPU
Int32

CPU
Int8

CPU
UInt8

CPU
Bool

Mali/Adreno GPU
FP16

Mali/Adreno GPU
FP32

Mali/Adreno GPU
Int32

Mali/Adreno GPU
Int8

麒麟NPU
FP16

英伟达GPU
FP16

昇腾
FP16

Abs

AbsGrad

Activation

ActivationGrad

Adam

AddFusion

AdderFusion

AddGrad

AddN

Affine

All

AllGather

ApplyMomentum

Assert

Assign

ArgmaxFusion

ArgminFusion

AvgPoolFusion

AvgPoolGrad

BatchNorm

BatchNormGrad

BatchToSpace

BatchToSpaceND

BiasAdd

BiasAddGrad

BinaryCrossEntropy

BinaryCrossEntropyGrad

BroadcastTo

Call

Cast

Ceil

Clip

Concat

ConstantOfShape

Conv2DFusion

Conv2DBackpropFilterFusion

Conv2DBackpropInputFusion

Conv2dTransposeFusion

Cos

Crop

CropAndResize

CumSum

CustomExtractFeatures

CustomNormalize

CustomPredict

DEConv2DGradFilter

DepthToSpace

DetectionPostProcess

DivFusion

DivGrad

Dropout

DropoutGrad

DynamicQuant

Eltwise

Elu

Equal

EmbeddingLookupFusion

Erf

ExpFusion

ExpandDims

Fill

Flatten

FlattenGrad

Floor

FloorDiv

FloorMod

FullConnection

FusedBatchNorm

GatherNd

Gather

GatherD

GLU

Greater

GreaterEqual

GroupNormFusion

GRU

HashtableLookup

InstanceNorm

InvertPermutation

IsFinite

L2NormalizeFusion

LayerNormFusion

LayerNormGrad

LeakyReLU

Less

LessEqual

LRN

Log

Log1p

LogGrad

LogicalAnd

LogicalNot

LogicalOr

LogSoftmax

LshProjection

LSTM

LSTMGrad

LSTMGradData

LSTMGradWeight

MatMulFusion

Maximum

MaximumGrad

MaxPoolFusion

MaxPoolGrad

Merge

Minimum

MinimumGrad

Mod

MulFusion

MulGrad

Neg

NegGrad

NLLLoss

NLLLossGrad

NotEqual

NonMaxSupppression

NonZero

OneHot

OnesLike

PadFusion

PartialFusion

PowFusion

PowerGrad

PriorBox

PReLUFusion

QuantDTypeCast

RaggedRange

RandomNormal

RandomStandardNormal

Range

Rank

RealDiv

Reciprocal

ReduceFusion

ReduceScatter

Reshape

Resize

ResizeGrad

ReverseV2

ReverseSequence

ROIPooling

Round

Rsqrt

RsqrtGrad

Select

Selu

ScaleFusion

ScatterNd

ScatterNdUpdate

SGD

Shape

SigmoidCroosEntropyWithLogits

SigmoidCroosEntropyWithLogitsGrad

Sin

Size

SliceFusion

SkipGram

SmoothL1Loss

SmoothL1LossGrad

Softmax

SoftmaxGrad

Softplus

SpaceToBatch

SpaceToBatchND

SpaceToDepth

SparseToDense

SparseSoftmaxCrossEntropyWithLogits

Splice

Split

SplitWithOverlap

Sqrt

SqrtGrad

Square

SquaredDifference

Squeeze

StridedSlice

StridedSliceGrad

Stack

SubFusion

SubGrad

Switch

SwitchLayer

TensorListFromTensor

TensorListGetItem

TensorListReserve

TensorListSetItem

TensorListStack

TensorScatterAdd

TileFusion

TopKFusion

Transpose

UniformReal

Unique

UnsortedSegmentSum

Unsqueeze

Unstack

Where

ZerosLike

MindSpore Lite转换工具支持第三方框架的算子列表:

操作名
 

支持的TensorFlow Lite算子

支持的Caffe算子

支持的Onnx算子

支持的TensorFlow算子

Abs

Abs

Abs

Abs

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

Adam

Adam

Adam

AddFusion

Add

Add, Int8Add

Add, AddV2

AdderFusion

adder_f

AddN

AddN

All

All

All

ApplyMomentum

ApplyMomentum

ApplyMomentum

Assert

Assert

Assign

Assign

Assign

ArgmaxFusion

Argmax

ArgMax

ArgMax

ArgMax

ArgminFusion

Argmin

ArgMin

AvgPoolFusion

MeanPooling

Pooling

AveragePool,
GlobalAveragePool,
Int8AveragePool

AvgPool

BatchNorm

BatchNorm

BatchNormalization

BatchToSpace

BatchToSpace

BatchToSpace

BatchToSpaceND

BatchToSpaceND

BatchToSpaceND

BiasAdd

BiasAdd

BiasAdd

BinaryCrossEntropy

BinaryCrossEntropy

BinaryCrossEntropy

BroadcastTo

BroadcastTo

Expand

BroadcastTo

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

Conv2dTransposeFusion

DeConv2D

Deconvolution

ConvTranspose

Conv2DBackpropInput

Cos

Cos

Cos

Cos

Crop

Crop

CropAndResize

CropAndResize

CumSum

Cumsum

CustomExtractFeatures

ExtractFeatures

CustomNormalize

Normalize

CustomPredict

Predict

DepthToSpace

DepthToSpace

DepthToSpace

DepthToSpace

DetectionPostProcess

Custom

DivFusion

Div, RealDiv

Div

Div, RealDiv

Dropout

Dropout

Dropout

Dropout

DynamicQuant

DynamicQuantizeLinear

Eltwise

Eltwise

Sum, Max[3]

Elu

ELU

Elu,
NonMaxSuppression

NonMaxSuppressionV3

Equal

Equal

Equal

Equal

Erf

Erf

Erf

Erf

ExpFusion

Exp

Exp

Exp

Exp

ExpandDims

ExpandDims

ExpandDims

Fill

Fill

Fill

Flatten

Flatten

Floor

flOOR

Floor

Floor

FloorDiv

FloorDiv

FloorDiv

FloorMod

FloorMod

FloorMod

FullConnection

FullyConnected

InnerProduct

FusedBatchNorm

FusedBatchNorm

FusedBatchNorm,
FusedBatchNormV3

GatherNd

GatherND

GatherNd

Gather

Gather

Gather

GatherV2

Greater

Greater

Greater

Greater

GreaterEqual

GreaterEqual

GreaterEqual

HashtableLookup

HashtableLookup

InstanceNorm

InstanceNorm

InstanceNormalization

InvertPermutation

InvertPermutation

IsFinite

IsFinite

IsFinite

LeakyReLU

LeakyRelu

LeakyRelu

LeakyRelu

Less

Less

Less

Less

LessEqual

LessEqual

LessEqual

LRN

LocalResponseNorm

Lrn, LRN

Log

Log

Log

Log

Log1p

Log1p

Log1p

LogicalAnd

LogicalAnd

And

LogicalAnd

LogicalNot

LogicalNot

Not

LogicalNot

LogicalOr

LogicalOr

Or

LogicalOr

LogSoftmax

LogSoftmax

LogSoftmax

LshProjection

LshProjection

LSTM

LSTM

MatMulFusion

BatchMatMul

MatMul,
Gemm

MatMul,
BatchMatMul,
BatchMatMulV2

Maximum

Maximum

Max

Maximum

MaxPoolFusion

MaxPooling

Pooling

MaxPool,
GlobalMaxPool

MaxPool

Merge

Merge

Minimum

Minimum

Min

Minimum

MinimumGrad

Mod

Mod

Mod

Mod

MulFusion

Mul

Mul

Mul

MulGrad

Neg

Neg

Neg

Neg

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

PowFusion

Pow

Power

Pow[2]

Pow

PReLUFusion

PRELU

PReLU

PRelu

RaggedRange

RaggedRange

RandomNormal

RandomNormal

RandomNormal

RandomNormal

RandomStandardNormal

RandomStandardNormal

Range

Range

Range

Range

Rank

Rank

Rank

Reciprocal

Reciprocal

ReduceFusion

Sum, Mean, ReduceMax, ReduceMin, ReduceProd

Reduction

ReduceMean, ReduceMax, ReduceMin, ReduceProd, ReduceSum, ReduceSumSquare, ReduceL2

Sum, Max, Min, Mean, Prod, All

Reshape

Reshape

Reshape

Reshape,
Flatten

Reshape

Resize

ResizeBilinear,
NearestNeighbor

Interp

Resize, Upsample

ResizeBilinear,
ResizeBicubic,
ResizeNearestNeighbor

ReverseV2

reverse

ReverseV2

ReverseSequence

ReverseSequence

ReverseSequence

Round

Round

Round

Round

Rsqrt

Rsqrt

Rsqrt

Select

Select

Selu

Selu

ScaleFusion

Scale

ScatterNd

ScatterNd

ScatterND

ScatterNdUpdate

ScatterNdUpdate

ScatterNdUpdate

SGD

SGD

SGD

SGD

Shape

Shape

Shape

Shape

Sin

Sin

Sin

Sin

Size

Size

SliceFusion

Slice

Slice

Slice

Slice

SkipGram

SKipGram

Softmax

Softmax

Softmax

Softmax

Softmax

Softplus

Softplus

SpaceToBatch

SpaceToBatch

SpaceToBatchND

SpaceToBatchND

SpaceToBatchND

SpaceToDepth

SpaceToDepth

SpaceToDepth

SparseToDense

SpareToDense

Splice

Splice

Split

Split, SplitV

Split

Split, SplitV

Sqrt

Sqrt

Sqrt

Sqrt

Square

Square

Square

SquaredDifference

SquaredDifference

SquaredDifference

Squeeze

Squeeze

Squeeze

Squeeze

StridedSlice

StridedSlice

Slice,
DynamicSlice

StridedSlice

Stack

Stack

Pack

SubFusion

Sub

Sub

Sub

Switch

Switch

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

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

[5] 当前支持使用环境变量export KEEP_ORIGIN_DTYPE=1来保持数据类型为int64,当使用int32数据类型存在溢出时可以考虑使用该选项,但是目前仅为实验性选项,后续将移除。

[6] 目前MindSpore导出的MindIR中部分算子不支持,对应的MindSpore接口为ops.matmul、ops.dense、ops.max、ops.min。其中Max以及Min算子只在axis参数为None时不支持,其他场景支持。