MindSpore Lite支持的硬件后端列表

查看源文件

算子名称

算子功能

CPU

Kirin NPU

GPU(Mali/Adreno)

Ascend

Abs

逐元素计算绝对值

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

AbsGrad

计算绝对值函数的梯度

FP32

-

-

Activation

激活函数

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

ActivationGrad

计算特定激活函数的梯度

FP16
FP32

-

-

Adam

执行Adam优化器的一次参数更新步骤

FP32

-

-

AddFusion

逐元素计算加法

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int8

FP16

AdderFusion

基于加法的卷积运算

FP32

-

-

AddGrad

计算加法操作的梯度

FP32

-

-

AddN

对N个相同形状和数据类型的输入张量进行逐元素相加

FP16
FP32

-

-

Affine

对输入张量执行仿射变换

FP32

-

-

FP16

All

判断张量中所有元素在指定维度上是否都为True(非零)

FP32

-

-

AllGather

分布式集合通信操作

FP32

-

-

ApplyMomentum

执行带动量的随机梯度下降的一次参数更新步骤

FP32

-

-

FP16

Assert

断言

FP16
FP32
Bool

-

-

Assign

将一个值赋值给一个变量

FP32

-

-

FP16

ArgmaxFusion

求某一维度最大值

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

ArgminFusion

求某一维度最小值

FP16
FP32
Int8
UInt8

-

FP16
FP32

FP16

AvgPoolFusion

平均池化

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

AvgPoolGrad

计算平均池化层的梯度

FP16
FP32

-

-

BatchNorm

批量归一化

FP16
FP32
Int8
UInt8

-

FP16
FP32

FP16

BatchNormGrad

计算批量归一化层的梯度

FP16
FP32

-

-

BatchToSpace

空间到批次变换的逆操作

FP32
Int8
UInt8

-

FP16
FP32

BatchToSpaceND

BatchToSpace的ND通用版本

FP16
FP32
Int8
UInt8

-

FP16
FP32

BiasAdd

将偏置向量添加到输入张量

FP16
FP32
Int8
UInt8

-

FP16
FP32

FP16

BiasAddGrad

计算BiasAdd操作的梯度

FP16
FP32

-

-

BinaryCrossEntropy

计算二元交叉熵损失

FP32

-

-

FP16

BinaryCrossEntropyGrad

计算二元交叉熵损失函数的梯度

FP32

-

-

BroadcastTo

扩维

FP16
FP32
Int32
Bool

-

-

Call

调用一个子计算图或函数

FP16
FP32
Int32
Bool

-

-

FP16

Cast

数据类型转换

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32

FP16

Ceil

向上取整

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Clip

限制元素范围

FP32
Int32

-

-

FP16

Concat

拼接张量

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int32

FP16

ConstantOfShape

生成一个与输入形状相同的张量,并用指定常量填充

FP16
FP32
Int32

-

-

Conv2DFusion

2D卷积

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Conv2DBackpropFilterFusion

计算普通卷积操作对卷积核的梯度

FP16
FP32

-

-

Conv2DBackpropInputFusion

计算普通卷积操作对输入数据的梯度

FP16
FP32

-

-

Conv2dTransposeFusion

执行转置卷积运算

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Cos

逐元素计算余弦

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Crop

从输入图像或特征图中裁剪出一个指定区域

FP16
FP32
Int32
Int8
UInt8

-

-

CropAndResize

从输入图像中根据一组边界框裁剪出区域,然后将每个区域缩放到统一大小

FP32

FP16

-

CumSum

累计元素和

FP32
Int32

-

-

FP16

CustomExtractFeatures

自定义特征提取算子

FP32

-

-

CustomNormalize

自定义归一化算子

FP32

-

-

CustomPredict

自定义预测算子

FP32
Int32

-

-

DEConv2DGradFilter

计算转置卷积对卷积核的梯度

FP32

-

DepthToSpace

将深度数据重新排列到空间维度中

FP16
FP32
Int8
UInt8

-

FP16
FP32

DetectionPostProcess

目标检测后处理

FP32
Int8
UInt8

-

-

DivFusion

逐元素除法

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

DivGrad

计算除法操作的梯度

FP32

-

-

Dropout

随机将输入张量的部分元素置 0

FP16
FP32

-

-

FP16

DropoutGrad

计算Dropout操作的梯度

FP16
FP32

-

-

DynamicQuant

动态将浮点张量量化为uint8类型

FP32

-

-

Eltwise

元素级运算

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Elu

激活函数,对负输入使用指数修正

FP16
FP32

-

-

FP16

Equal

判断输入是否相等

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

EmbeddingLookupFusion

优化版的词嵌入查找,将整数索引映射为密集向量

FP32

-

-

Erf

误差函数

FP16
FP32

-

-

FP16

ExpFusion

逐元素取指数

FP16
FP32

-

FP16
FP32

FP16

ExpandDims

在指定位置插入长度为1的维度

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int32

FP16

Fill

生成一个填充指定常量的张量

FP16
FP32
Int32
Bool

-

FP16
FP32

FP16

Flatten

数据按维度展开

FP16
FP32
Int32

-

-

FP16

FlattenGrad

计算Flatten操作的梯度

FP16
FP32

-

-

Floor

向下取整

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

FloorDiv

逐元素向下取整除法

FP16
FP32
Int32

FP16

FP16
FP32

FloorMod

逐元素取模运算,结果的符号与除数一致

FP16
FP32
Int32

FP16

FP16
FP32

FullConnection

全连接层

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

FusedBatchNorm

对输入做标准化

FP16
FP32
Int8
UInt8

FP16

-

FP16

GatherNd

根据索引张量从输入张量中收集指定位置的元素

FP16
FP32
Int32
Int8
UInt8
Bool

-

FP16
FP32

FP16

Gather

沿单一维度收集指定索引位置的元素

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int32

FP16

GatherD

将输入tensor中的元素根据索引tensor进行收集

FP16
FP32
Int32
Bool

-

-

FP16

GLU

门控线性单元激活函数,将输入拆分为两部分并逐元素相乘

FP32

-

-

Greater

逐元素比较两个张量,返回A>B的逻辑结果(True/False)

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

GreaterEqual

逐元素比较两个张量,返回 A≥B的逻辑结果(True/False)

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

GroupNormFusion

融合优化的组归一化

FP32

-

-

GRU

门控循环单元,简化版LSTM

FP16
FP32

-

-

HashtableLookup

哈希表查找

FP32
Int32

-

-

InstanceNorm

实例归一化

FP16
FP32

FP16

-

FP16

InvertPermutation

反转置换索引

FP16
FP32
Int32

-

-

IsFinite

检测张量中每个元素是否为有限值(非inf/NaN)

FP32

-

-

FP16

L2NormalizeFusion

融合优化的L2归一化

FP32
Int8
UInt8

-

-

LayerNormFusion

融合优化的层归一化

FP16
FP32
Int8

-

FP16
FP32

FP16

LayerNormGrad

计算层归一化的梯度

FP16
FP32

-

-

LeakyReLU

带泄漏的 ReLU激活函数,对负输入给予微小斜率

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Less

逐元素比较两个张量,返回 A<B的逻辑结果

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

LessEqual

逐元素比较A ≤ B,返回布尔张量

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

LRN

局部响应归一化

FP32

-

-

FP16

Log

逐元素求对数

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Log1p

计算log(1+X)

FP32

-

-

FP16

LogGrad

计算对数函数的梯度

FP16
FP32

-

-

LogicalAnd

逐元素逻辑与运算

FP16
FP32
Int32
Bool

FP16

FP16
FP32

LogicalNot

逐元素逻辑非运算

FP16
FP32
Int8
UInt8
Bool

FP16

FP16
FP32

LogicalOr

逐元素逻辑或运算

FP16
FP32
Bool

FP16

FP16
FP32

LogSoftmax

对输入向量进行softmax操作,然后再对softmax结果取对数

FP16
FP32

-

-

FP16

LshProjection

局部敏感哈希投影

FP32

-

-

LSTM

长短期记忆网络单元

FP16
FP32

-

-

LSTMGrad

计算LSTM对隐状态的反向传播梯度

FP32

-

-

LSTMGradData

计算LSTM对输入数据的反向传播梯度

FP32

-

-

LSTMGradWeight

计算LSTM对权重的反向传播梯度

FP32

-

-

MatMulFusion

对2个输入做矩阵乘法运算

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Maximum

取元素级最大值

FP16
FP32
Int32

FP16

FP16
FP32

FP16

MaximumGrad

计算最大值函数的梯度

FP16
FP32

-

-

MaxPoolFusion

最大池化

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

MaxPoolGrad

计算最大池化层的梯度

FP16
FP32

-

-

Merge

创建一个与输入张量X形状完全相同但所有元素值均为1的新张量

FP16
FP32

-

-

Minimum

取元素级最小值

FP16
FP32
Int32

FP16

FP16
FP32

FP16

MinimumGrad

计算最小值函数的梯度

FP16
FP32

-

-

Mod

返回除法元素的余数

FP32
Int32

-

-

FP16

MulFusion

逐元素乘法

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

MulGrad

计算乘法操作的梯度

FP32

-

-

Neg

逐元素求负数

FP16
FP32
Int32

FP16

FP16
FP32

FP16

NegGrad

计算取负操作的梯度

FP16
FP32

-

-

NLLLoss

计算负对数似然损失

FP32

-

-

FP16

NLLLossGrad

计算NLLLoss的梯度

FP32

-

-

NotEqual

逐元素比较两个张量,返回 A != B的逻辑结果

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

NonMaxSuppression

非极大值抑制

FP32

-

-

FP16

NonZero

返回输入张量中所有非零元素的索引

Bool

-

-

FP16

OneHot

将整数索引张量转换为独热编码表示

FP16
FP32
Int32

-

FP16
FP32
Int32

OnesLike

创建一个与输入张量 X形状完全相同但所有元素值均为1的新张量

FP16
FP32
Int32

-

-

FP16

PadFusion

将输入张量加上指定的padding,使其达到指定的大小

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

PartialFusion

部分融合

FP16
FP32
Int32
Bool

-

-

PowFusion

逐元素求幂

FP16
FP32
Int8
UInt8

-

FP16
FP32

FP16

PowerGrad

计算幂运算的梯度

FP32

-

-

PriorBox

生成先验框

FP32
Int8
UInt8

-

-

FP16

PReLUFusion

PRelu激活函数

FP16
FP32

-

FP16
FP32

FP16

QuantDTypeCast

执行量化数据类型转换

FP16
FP32
Int8
UInt8

-

-

RaggedRange

生成非均匀间隔的序列

FP16
FP32
Int32

-

-

RandomNormal

生成一个张量,其中的值从正态分布中随机采样

FP16
FP32

-

-

RandomStandardNormal

生成服从标准正态分布的随机数张量

FP16
FP32

-

-

Range

生成某个区间内的元素

FP16
FP32
Int32

-

-

FP16

Rank

返回输入张量的维度数

FP16
FP32

-

-

RealDiv

逐元素除法

FP16
FP32

-

-

FP16

Reciprocal

返回倒数

FP16
FP32
Int8

FP16

-

FP16

ReduceFusion

归约操作

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32

FP16

ReduceScatter

分布式操作,将输入张量分段后分发到各设备,每设备仅保留一段结果

FP32

-

-

Reshape

改变张量形状,总元素个数不变

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int32

FP16

Resize

对输入张量进行上采样或调整大小

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

ResizeGrad

计算Resize的梯度

FP16
FP32

-

-

ReverseV2

沿指定轴反转张量

FP32
Int32

-

-

ReverseSequence

对输入张量的可变长度序列进行部分反转

FP32

-

-

FP16

ROIPooling

区域兴趣池化

FP32

-

-

FP16

Round

四舍五入到最接近的整数数值

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Rsqrt

逐元素计算平方根倒数,用于归一化

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

RsqrtGrad

计算平方根倒数的梯度

FP32

-

-

Select

根据条件从两个张量中选择元素

FP32
Bool

-

-

Selu

自归一化指数线性单元激活函数

-

-

-

ScaleFusion

将缩放操作与相邻算子融合

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

ScatterNd

根据索引将更新张量中的值散射到输出张量的指定位置

FP16
FP32
Int32

-

-

FP16

ScatterNdUpdate

使用给定值以及输入索引更新输入数据的值

FP16
FP32
Int32

-

-

SGD

随机梯度下降优化器

FP32

-

-

FP16

Shape

获得张量shape

FP16
FP32
Int32
Int8
UInt8
Bool

-

FP16
FP32

FP16

SigmoidCrossEntropyWithLogits

结合Sigmoid激活和交叉熵损失

FP32

-

-

FP16

SigmoidCrossEntropyWithLogitsGrad

计算带Sigmoid的交叉熵损失的梯度

FP32

-

-

FP16

Sin

逐元素计算正弦

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

Size

获取张量维度大小

FP16
FP32
Int32

-

-

FP16

SliceFusion

张量切片操作

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

SkipGram

Skip-gram模型的核心操作,用于词向量训练

FP32

-

-

SmoothL1Loss

平滑L1损失

FP32

-

-

FP16

SmoothL1LossGrad

计算平滑L1损失的梯度

FP32

-

-

Softmax

归一化操作

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

SoftmaxGrad

计算Softmax的梯度

FP32

-

-

Softplus

平滑的ReLU变体

FP16
FP32

-

-

FP16

SpaceToBatch

高度和宽度维度的值移至深度维度

FP16
FP32
Int8
UInt8

-

FP16
FP32

FP16

SpaceToBatchND

将空间维度的数据块拆分到批次维度

FP16
FP32
Int8
UInt8

-

FP16
FP32

SpaceToDepth

将空间数据重组为深度通道

FP16
FP32

-

FP16
FP32

SparseToDense

将稀疏表示转换为密集张量

FP16
FP32
Int32

-

FP16
FP32
Int32

SparseSoftmaxCrossEntropyWithLogits

稀疏标签的Softmax交叉熵

FP32

-

-

FP16

Splice

沿指定轴连接输入张量的多个切片或范围

FP16
FP32

-

-

Split

将输入张量沿指定轴分割成多个较小的输出张量

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

SplitWithOverlap

带重叠的分割张量

FP16
FP32

-

-

Sqrt

逐元素开根号

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

SqrtGrad

计算平方根的梯度

FP32

-

-

Square

逐元素平方

FP16
FP32
Int8
UInt8

FP16

FP16
FP32

FP16

SquaredDifference

逐元素计算 (A-B)²

FP16
FP32

-

FP16
FP32

Squeeze

移除维度为1的维度

FP16
FP32
Int32
Int8
UInt8
Bool

-

FP16
FP32
Int32

StridedSlice

Tensor切片

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

StridedSliceGrad

计算切片操作的梯度

FP16
FP32

-

-

Stack

沿新轴堆叠多个张量

FP16
FP32
Int32

-

FP16
FP32

FP16

SubFusion

逐元素相减

FP16
FP32
Int32
Int8
UInt8

FP16

FP16
FP32

FP16

SubGrad

计算减法的梯度

FP32

-

-

Switch

根据布尔条件选择输出分支

FP16
FP32
Int32
Bool

-

-

SwitchLayer

在模型中选择执行不同的子网络分支

FP16
FP32
Int32
Bool

-

-

TensorListFromTensor

将普通张量转换为张量列表,按指定轴分割

FP16
FP32
Int32

-

-

TensorListGetItem

从张量列表中获取指定索引位置的张量

FP16
FP32
Int32

-

-

TensorListReserve

预分配一个空张量列表,指定元素数据类型和初始容量

FP16
FP32
Int32

-

-

TensorListSetItem

将张量插入张量列表的指定位置

FP16
FP32
Int32

-

-

TensorListStack

将张量列表堆叠为一个普通张量

FP16
FP32
Int32

-

-

TensorScatterAdd

根据索引将更新张量的值分散添加到目标张量的指定位置

FP32
Int32

-

-

TileFusion

平铺给定矩阵

FP16
FP32
Int32
Bool

FP16

-

FP16

TopKFusion

从输入张量中返回topK个元素

FP16
FP32
Int32
Int8
UInt8

-

-

FP16

Transpose

Tensor转置

FP16
FP32
Int32
Int8
Bool

FP16

FP16
FP32

FP16

UniformReal

生成服从均匀分布的随机数张量

FP32
Int32

-

-

Unique

返回输入张量中的唯一值,并可返回该值的索引和计数

FP16
FP32
Int32

-

-

UnsortedSegmentSum

对张量进行分段求和,不要求分段索引有序

FP16
FP32
Int32

-

-

Unsqueeze

将输入张量添加一个新的维度

FP16
FP32
Int32
Int8
UInt8
Bool

FP16

FP16
FP32
Int32

Unstack

沿指定轴拆分张量为多个子张量

FP16
FP32
Int32

-

-

Where

元素选择

FP16
FP32
Int32
Bool

-

-

ZerosLike

生成与输入张量形状相同但全为 0的新张量

FP16
FP32
Int32

-

-