MindSpore Lite支持的硬件后端列表
算子名称 |
算子功能 |
CPU |
Kirin NPU |
GPU(Mali/Adreno) |
Ascend |
---|---|---|---|---|---|
Abs |
逐元素计算绝对值 |
FP16 |
FP16 |
FP16 |
FP16 |
AbsGrad |
计算绝对值函数的梯度 |
FP32 |
- |
- |
|
Activation |
激活函数 |
FP16 |
FP16 |
FP16 |
FP16 |
ActivationGrad |
计算特定激活函数的梯度 |
FP16 |
- |
- |
|
Adam |
执行Adam优化器的一次参数更新步骤 |
FP32 |
- |
- |
|
AddFusion |
逐元素计算加法 |
FP16 |
FP16 |
FP16 |
FP16 |
AdderFusion |
基于加法的卷积运算 |
FP32 |
- |
- |
|
AddGrad |
计算加法操作的梯度 |
FP32 |
- |
- |
|
AddN |
对N个相同形状和数据类型的输入张量进行逐元素相加 |
FP16 |
- |
- |
|
Affine |
对输入张量执行仿射变换 |
FP32 |
- |
- |
FP16 |
All |
判断张量中所有元素在指定维度上是否都为True(非零) |
FP32 |
- |
- |
|
AllGather |
分布式集合通信操作 |
FP32 |
- |
- |
|
ApplyMomentum |
执行带动量的随机梯度下降的一次参数更新步骤 |
FP32 |
- |
- |
FP16 |
Assert |
断言 |
FP16 |
- |
- |
|
Assign |
将一个值赋值给一个变量 |
FP32 |
- |
- |
FP16 |
ArgmaxFusion |
求某一维度最大值 |
FP16 |
FP16 |
FP16 |
FP16 |
ArgminFusion |
求某一维度最小值 |
FP16 |
- |
FP16 |
FP16 |
AvgPoolFusion |
平均池化 |
FP16 |
FP16 |
FP16 |
FP16 |
AvgPoolGrad |
计算平均池化层的梯度 |
FP16 |
- |
- |
|
BatchNorm |
批量归一化 |
FP16 |
- |
FP16 |
FP16 |
BatchNormGrad |
计算批量归一化层的梯度 |
FP16 |
- |
- |
|
BatchToSpace |
空间到批次变换的逆操作 |
FP32 |
- |
FP16 |
|
BatchToSpaceND |
BatchToSpace的ND通用版本 |
FP16 |
- |
FP16 |
|
BiasAdd |
将偏置向量添加到输入张量 |
FP16 |
- |
FP16 |
FP16 |
BiasAddGrad |
计算BiasAdd操作的梯度 |
FP16 |
- |
- |
|
BinaryCrossEntropy |
计算二元交叉熵损失 |
FP32 |
- |
- |
FP16 |
BinaryCrossEntropyGrad |
计算二元交叉熵损失函数的梯度 |
FP32 |
- |
- |
|
BroadcastTo |
扩维 |
FP16 |
- |
- |
|
Call |
调用一个子计算图或函数 |
FP16 |
- |
- |
FP16 |
Cast |
数据类型转换 |
FP16 |
FP16 |
FP16 |
FP16 |
Ceil |
向上取整 |
FP16 |
FP16 |
FP16 |
FP16 |
Clip |
限制元素范围 |
FP32 |
- |
- |
FP16 |
Concat |
拼接张量 |
FP16 |
FP16 |
FP16 |
FP16 |
ConstantOfShape |
生成一个与输入形状相同的张量,并用指定常量填充 |
FP16 |
- |
- |
|
Conv2DFusion |
2D卷积 |
FP16 |
FP16 |
FP16 |
FP16 |
Conv2DBackpropFilterFusion |
计算普通卷积操作对卷积核的梯度 |
FP16 |
- |
- |
|
Conv2DBackpropInputFusion |
计算普通卷积操作对输入数据的梯度 |
FP16 |
- |
- |
|
Conv2dTransposeFusion |
执行转置卷积运算 |
FP16 |
FP16 |
FP16 |
FP16 |
Cos |
逐元素计算余弦 |
FP16 |
FP16 |
FP16 |
FP16 |
Crop |
从输入图像或特征图中裁剪出一个指定区域 |
FP16 |
- |
- |
|
CropAndResize |
从输入图像中根据一组边界框裁剪出区域,然后将每个区域缩放到统一大小 |
FP32 |
FP16 |
- |
|
CumSum |
累计元素和 |
FP32 |
- |
- |
FP16 |
CustomExtractFeatures |
自定义特征提取算子 |
FP32 |
- |
- |
|
CustomNormalize |
自定义归一化算子 |
FP32 |
- |
- |
|
CustomPredict |
自定义预测算子 |
FP32 |
- |
- |
|
DEConv2DGradFilter |
计算转置卷积对卷积核的梯度 |
FP32 |
- |
||
DepthToSpace |
将深度数据重新排列到空间维度中 |
FP16 |
- |
FP16 |
|
DetectionPostProcess |
目标检测后处理 |
FP32 |
- |
- |
|
DivFusion |
逐元素除法 |
FP16 |
FP16 |
FP16 |
FP16 |
DivGrad |
计算除法操作的梯度 |
FP32 |
- |
- |
|
Dropout |
随机将输入张量的部分元素置 0 |
FP16 |
- |
- |
FP16 |
DropoutGrad |
计算Dropout操作的梯度 |
FP16 |
- |
- |
|
DynamicQuant |
动态将浮点张量量化为uint8类型 |
FP32 |
- |
- |
|
Eltwise |
元素级运算 |
FP16 |
FP16 |
FP16 |
FP16 |
Elu |
激活函数,对负输入使用指数修正 |
FP16 |
- |
- |
FP16 |
Equal |
判断输入是否相等 |
FP16 |
FP16 |
FP16 |
FP16 |
EmbeddingLookupFusion |
优化版的词嵌入查找,将整数索引映射为密集向量 |
FP32 |
- |
- |
|
Erf |
误差函数 |
FP16 |
- |
- |
FP16 |
ExpFusion |
逐元素取指数 |
FP16 |
- |
FP16 |
FP16 |
ExpandDims |
在指定位置插入长度为1的维度 |
FP16 |
FP16 |
FP16 |
FP16 |
Fill |
生成一个填充指定常量的张量 |
FP16 |
- |
FP16 |
FP16 |
Flatten |
数据按维度展开 |
FP16 |
- |
- |
FP16 |
FlattenGrad |
计算Flatten操作的梯度 |
FP16 |
- |
- |
|
Floor |
向下取整 |
FP16 |
FP16 |
FP16 |
FP16 |
FloorDiv |
逐元素向下取整除法 |
FP16 |
FP16 |
FP16 |
|
FloorMod |
逐元素取模运算,结果的符号与除数一致 |
FP16 |
FP16 |
FP16 |
|
FullConnection |
全连接层 |
FP16 |
FP16 |
FP16 |
FP16 |
FusedBatchNorm |
对输入做标准化 |
FP16 |
FP16 |
- |
FP16 |
GatherNd |
根据索引张量从输入张量中收集指定位置的元素 |
FP16 |
- |
FP16 |
FP16 |
Gather |
沿单一维度收集指定索引位置的元素 |
FP16 |
FP16 |
FP16 |
FP16 |
GatherD |
将输入tensor中的元素根据索引tensor进行收集 |
FP16 |
- |
- |
FP16 |
GLU |
门控线性单元激活函数,将输入拆分为两部分并逐元素相乘 |
FP32 |
- |
- |
|
Greater |
逐元素比较两个张量,返回A>B的逻辑结果(True/False) |
FP16 |
FP16 |
FP16 |
FP16 |
GreaterEqual |
逐元素比较两个张量,返回 A≥B的逻辑结果(True/False) |
FP16 |
FP16 |
FP16 |
FP16 |
GroupNormFusion |
融合优化的组归一化 |
FP32 |
- |
- |
|
GRU |
门控循环单元,简化版LSTM |
FP16 |
- |
- |
|
HashtableLookup |
哈希表查找 |
FP32 |
- |
- |
|
InstanceNorm |
实例归一化 |
FP16 |
FP16 |
- |
FP16 |
InvertPermutation |
反转置换索引 |
FP16 |
- |
- |
|
IsFinite |
检测张量中每个元素是否为有限值(非inf/NaN) |
FP32 |
- |
- |
FP16 |
L2NormalizeFusion |
融合优化的L2归一化 |
FP32 |
- |
- |
|
LayerNormFusion |
融合优化的层归一化 |
FP16 |
- |
FP16 |
FP16 |
LayerNormGrad |
计算层归一化的梯度 |
FP16 |
- |
- |
|
LeakyReLU |
带泄漏的 ReLU激活函数,对负输入给予微小斜率 |
FP16 |
FP16 |
FP16 |
FP16 |
Less |
逐元素比较两个张量,返回 A<B的逻辑结果 |
FP16 |
FP16 |
FP16 |
FP16 |
LessEqual |
逐元素比较A ≤ B,返回布尔张量 |
FP16 |
FP16 |
FP16 |
FP16 |
LRN |
局部响应归一化 |
FP32 |
- |
- |
FP16 |
Log |
逐元素求对数 |
FP16 |
FP16 |
FP16 |
FP16 |
Log1p |
计算log(1+X) |
FP32 |
- |
- |
FP16 |
LogGrad |
计算对数函数的梯度 |
FP16 |
- |
- |
|
LogicalAnd |
逐元素逻辑与运算 |
FP16 |
FP16 |
FP16 |
|
LogicalNot |
逐元素逻辑非运算 |
FP16 |
FP16 |
FP16 |
|
LogicalOr |
逐元素逻辑或运算 |
FP16 |
FP16 |
FP16 |
|
LogSoftmax |
对输入向量进行softmax操作,然后再对softmax结果取对数 |
FP16 |
- |
- |
FP16 |
LshProjection |
局部敏感哈希投影 |
FP32 |
- |
- |
|
LSTM |
长短期记忆网络单元 |
FP16 |
- |
- |
|
LSTMGrad |
计算LSTM对隐状态的反向传播梯度 |
FP32 |
- |
- |
|
LSTMGradData |
计算LSTM对输入数据的反向传播梯度 |
FP32 |
- |
- |
|
LSTMGradWeight |
计算LSTM对权重的反向传播梯度 |
FP32 |
- |
- |
|
MatMulFusion |
对2个输入做矩阵乘法运算 |
FP16 |
FP16 |
FP16 |
FP16 |
Maximum |
取元素级最大值 |
FP16 |
FP16 |
FP16 |
FP16 |
MaximumGrad |
计算最大值函数的梯度 |
FP16 |
- |
- |
|
MaxPoolFusion |
最大池化 |
FP16 |
FP16 |
FP16 |
FP16 |
MaxPoolGrad |
计算最大池化层的梯度 |
FP16 |
- |
- |
|
Merge |
创建一个与输入张量X形状完全相同但所有元素值均为1的新张量 |
FP16 |
- |
- |
|
Minimum |
取元素级最小值 |
FP16 |
FP16 |
FP16 |
FP16 |
MinimumGrad |
计算最小值函数的梯度 |
FP16 |
- |
- |
|
Mod |
返回除法元素的余数 |
FP32 |
- |
- |
FP16 |
MulFusion |
逐元素乘法 |
FP16 |
FP16 |
FP16 |
FP16 |
MulGrad |
计算乘法操作的梯度 |
FP32 |
- |
- |
|
Neg |
逐元素求负数 |
FP16 |
FP16 |
FP16 |
FP16 |
NegGrad |
计算取负操作的梯度 |
FP16 |
- |
- |
|
NLLLoss |
计算负对数似然损失 |
FP32 |
- |
- |
FP16 |
NLLLossGrad |
计算NLLLoss的梯度 |
FP32 |
- |
- |
|
NotEqual |
逐元素比较两个张量,返回 A != B的逻辑结果 |
FP16 |
FP16 |
FP16 |
|
NonMaxSuppression |
非极大值抑制 |
FP32 |
- |
- |
FP16 |
NonZero |
返回输入张量中所有非零元素的索引 |
Bool |
- |
- |
FP16 |
OneHot |
将整数索引张量转换为独热编码表示 |
FP16 |
- |
FP16 |
|
OnesLike |
创建一个与输入张量 X形状完全相同但所有元素值均为1的新张量 |
FP16 |
- |
- |
FP16 |
PadFusion |
将输入张量加上指定的padding,使其达到指定的大小 |
FP16 |
FP16 |
FP16 |
FP16 |
PartialFusion |
部分融合 |
FP16 |
- |
- |
|
PowFusion |
逐元素求幂 |
FP16 |
- |
FP16 |
FP16 |
PowerGrad |
计算幂运算的梯度 |
FP32 |
- |
- |
|
PriorBox |
生成先验框 |
FP32 |
- |
- |
FP16 |
PReLUFusion |
PRelu激活函数 |
FP16 |
- |
FP16 |
FP16 |
QuantDTypeCast |
执行量化数据类型转换 |
FP16 |
- |
- |
|
RaggedRange |
生成非均匀间隔的序列 |
FP16 |
- |
- |
|
RandomNormal |
生成一个张量,其中的值从正态分布中随机采样 |
FP16 |
- |
- |
|
RandomStandardNormal |
生成服从标准正态分布的随机数张量 |
FP16 |
- |
- |
|
Range |
生成某个区间内的元素 |
FP16 |
- |
- |
FP16 |
Rank |
返回输入张量的维度数 |
FP16 |
- |
- |
|
RealDiv |
逐元素除法 |
FP16 |
- |
- |
FP16 |
Reciprocal |
返回倒数 |
FP16 |
FP16 |
- |
FP16 |
ReduceFusion |
归约操作 |
FP16 |
FP16 |
FP16 |
FP16 |
ReduceScatter |
分布式操作,将输入张量分段后分发到各设备,每设备仅保留一段结果 |
FP32 |
- |
- |
|
Reshape |
改变张量形状,总元素个数不变 |
FP16 |
FP16 |
FP16 |
FP16 |
Resize |
对输入张量进行上采样或调整大小 |
FP16 |
FP16 |
FP16 |
|
ResizeGrad |
计算Resize的梯度 |
FP16 |
- |
- |
|
ReverseV2 |
沿指定轴反转张量 |
FP32 |
- |
- |
|
ReverseSequence |
对输入张量的可变长度序列进行部分反转 |
FP32 |
- |
- |
FP16 |
ROIPooling |
区域兴趣池化 |
FP32 |
- |
- |
FP16 |
Round |
四舍五入到最接近的整数数值 |
FP16 |
FP16 |
FP16 |
FP16 |
Rsqrt |
逐元素计算平方根倒数,用于归一化 |
FP16 |
FP16 |
FP16 |
|
RsqrtGrad |
计算平方根倒数的梯度 |
FP32 |
- |
- |
|
Select |
根据条件从两个张量中选择元素 |
FP32 |
- |
- |
|
Selu |
自归一化指数线性单元激活函数 |
- |
- |
- |
|
ScaleFusion |
将缩放操作与相邻算子融合 |
FP16 |
FP16 |
FP16 |
FP16 |
ScatterNd |
根据索引将更新张量中的值散射到输出张量的指定位置 |
FP16 |
- |
- |
FP16 |
ScatterNdUpdate |
使用给定值以及输入索引更新输入数据的值 |
FP16 |
- |
- |
|
SGD |
随机梯度下降优化器 |
FP32 |
- |
- |
FP16 |
Shape |
获得张量shape |
FP16 |
- |
FP16 |
FP16 |
SigmoidCrossEntropyWithLogits |
结合Sigmoid激活和交叉熵损失 |
FP32 |
- |
- |
FP16 |
SigmoidCrossEntropyWithLogitsGrad |
计算带Sigmoid的交叉熵损失的梯度 |
FP32 |
- |
- |
FP16 |
Sin |
逐元素计算正弦 |
FP16 |
FP16 |
FP16 |
FP16 |
Size |
获取张量维度大小 |
FP16 |
- |
- |
FP16 |
SliceFusion |
张量切片操作 |
FP16 |
FP16 |
FP16 |
FP16 |
SkipGram |
Skip-gram模型的核心操作,用于词向量训练 |
FP32 |
- |
- |
|
SmoothL1Loss |
平滑L1损失 |
FP32 |
- |
- |
FP16 |
SmoothL1LossGrad |
计算平滑L1损失的梯度 |
FP32 |
- |
- |
|
Softmax |
归一化操作 |
FP16 |
FP16 |
FP16 |
FP16 |
SoftmaxGrad |
计算Softmax的梯度 |
FP32 |
- |
- |
|
Softplus |
平滑的ReLU变体 |
FP16 |
- |
- |
FP16 |
SpaceToBatch |
高度和宽度维度的值移至深度维度 |
FP16 |
- |
FP16 |
FP16 |
SpaceToBatchND |
将空间维度的数据块拆分到批次维度 |
FP16 |
- |
FP16 |
|
SpaceToDepth |
将空间数据重组为深度通道 |
FP16 |
- |
FP16 |
|
SparseToDense |
将稀疏表示转换为密集张量 |
FP16 |
- |
FP16 |
|
SparseSoftmaxCrossEntropyWithLogits |
稀疏标签的Softmax交叉熵 |
FP32 |
- |
- |
FP16 |
Splice |
沿指定轴连接输入张量的多个切片或范围 |
FP16 |
- |
- |
|
Split |
将输入张量沿指定轴分割成多个较小的输出张量 |
FP16 |
FP16 |
FP16 |
FP16 |
SplitWithOverlap |
带重叠的分割张量 |
FP16 |
- |
- |
|
Sqrt |
逐元素开根号 |
FP16 |
FP16 |
FP16 |
FP16 |
SqrtGrad |
计算平方根的梯度 |
FP32 |
- |
- |
|
Square |
逐元素平方 |
FP16 |
FP16 |
FP16 |
FP16 |
SquaredDifference |
逐元素计算 (A-B)² |
FP16 |
- |
FP16 |
|
Squeeze |
移除维度为1的维度 |
FP16 |
- |
FP16 |
|
StridedSlice |
Tensor切片 |
FP16 |
FP16 |
FP16 |
FP16 |
StridedSliceGrad |
计算切片操作的梯度 |
FP16 |
- |
- |
|
Stack |
沿新轴堆叠多个张量 |
FP16 |
- |
FP16 |
FP16 |
SubFusion |
逐元素相减 |
FP16 |
FP16 |
FP16 |
FP16 |
SubGrad |
计算减法的梯度 |
FP32 |
- |
- |
|
Switch |
根据布尔条件选择输出分支 |
FP16 |
- |
- |
|
SwitchLayer |
在模型中选择执行不同的子网络分支 |
FP16 |
- |
- |
|
TensorListFromTensor |
将普通张量转换为张量列表,按指定轴分割 |
FP16 |
- |
- |
|
TensorListGetItem |
从张量列表中获取指定索引位置的张量 |
FP16 |
- |
- |
|
TensorListReserve |
预分配一个空张量列表,指定元素数据类型和初始容量 |
FP16 |
- |
- |
|
TensorListSetItem |
将张量插入张量列表的指定位置 |
FP16 |
- |
- |
|
TensorListStack |
将张量列表堆叠为一个普通张量 |
FP16 |
- |
- |
|
TensorScatterAdd |
根据索引将更新张量的值分散添加到目标张量的指定位置 |
FP32 |
- |
- |
|
TileFusion |
平铺给定矩阵 |
FP16 |
FP16 |
- |
FP16 |
TopKFusion |
从输入张量中返回topK个元素 |
FP16 |
- |
- |
FP16 |
Transpose |
Tensor转置 |
FP16 |
FP16 |
FP16 |
FP16 |
UniformReal |
生成服从均匀分布的随机数张量 |
FP32 |
- |
- |
|
Unique |
返回输入张量中的唯一值,并可返回该值的索引和计数 |
FP16 |
- |
- |
|
UnsortedSegmentSum |
对张量进行分段求和,不要求分段索引有序 |
FP16 |
- |
- |
|
Unsqueeze |
将输入张量添加一个新的维度 |
FP16 |
FP16 |
FP16 |
|
Unstack |
沿指定轴拆分张量为多个子张量 |
FP16 |
- |
- |
|
Where |
元素选择 |
FP16 |
- |
- |
|
ZerosLike |
生成与输入张量形状相同但全为 0的新张量 |
FP16 |
- |
- |