mindspore.ops.primitive
可用于Cell的构造函数的算子。
动态shape的支持情况详见 算子动态shape支持情况 。
算子级并行过程各算子的使用约束详见 算子级并行使用约束 。
模块导入方法如下:
import mindspore.ops as ops
MindSpore中 mindspore.ops.primitive 接口与上一版本相比,新增、删除和支持平台的变化信息请参考 mindspore.ops.primitive API接口变更 。
算子原语
Primitive是Python中算子原语的基类。 |
|
PrimitiveWithCheck是Python中原语的基类,定义了检查算子输入参数的函数,但是使用了C++源码中注册的推理方法。 |
|
PrimitiveWithInfer是Python中的原语基类,在python中定义了跟踪推理的函数。 |
装饰器
创建PrimiveWithInfer算子,用于在编译时推断值。 |
神经网络层算子
神经网络
接口名 |
概述 |
支持平台 |
警告 |
对输入的多维数据进行二维平均池化运算。 |
|
无 |
|
对输入的多维数据进行三维的平均池化运算。 |
|
"kernel_size"在[1, 255]范围中。"strides"在[1, 63]范围中。 |
|
对输入数据进行归一化(Batch Normalization)和更新参数。 |
|
如果该运算用于推理,并且输出"reserve_space_1"和"reserve_space_2"可用,则"reserve_space_1"的值与"mean"相同,"reserve_space_2"的值与"variance"相同。 对于Ascend 310,由于平方根指令,结果精度未能达到1‰。 |
|
二维卷积层。 |
|
无 |
|
计算二维转置卷积,也称为反卷积,实际不是真正的反卷积。 |
|
无 |
|
对输入Tensor计算三维卷积。 |
|
无 |
|
计算三维转置卷积,也称为反卷积(实际不是真正的反卷积)。 |
|
无 |
|
对输入中给定的logits执行贪婪解码。 |
|
无 |
|
Dropout是一种正则化手段,通过在训练中以 \(1 - keep\_prob\) 的概率随机将神经元输出设置为0,起到减少神经元相关性的作用,避免过拟合。 |
|
无 |
|
在训练期间,根据概率 \(1-keep\_prob\) ,随机地将一些通道设置为0,且服从伯努利分布。 |
|
无 |
|
在训练期间,以服从伯努利分布的概率 \(1-keep\_prob\) 随机将输入Tensor的某些通道归零。 |
|
无 |
|
为输入序列应用一个单层GRU(gated recurrent unit)。 |
|
无 |
|
将循环神经网络应用到输入上。 |
|
无 |
|
根据指定的索引,返回输入Tensor的切片。 |
|
无 |
|
扁平化(Flatten)输入Tensor,不改变0轴的size。 |
|
无 |
|
此运算对由多个输入平面组成的输入信号进行3D分数最大池化。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
此操作使用基于流场网格的插值对2D input_x 进行采样,该插值通常由 |
|
这是一个实验性API,后续可能修改或删除。 |
|
给定一个输入和一个网格,使用网格中的输入值和像素位置计算输出。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
在输入Tensor上应用层归一化(Layer Normalization)。 |
|
无 |
|
局部响应归一化操作LRN(Local Response Normalization)。 |
|
无 |
|
对输入执行长短期记忆(LSTM)网络。 |
|
无 |
|
对输入的多维数据进行二维的最大池化运算。 |
|
无 |
|
对输入的多维数据进行三维的最大池化运算。 |
|
无 |
|
三维最大值池化,返回最大值结果及其索引值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
|
Deprecated |
无 |
|
对输入Tensor执行最大池化运算,并返回最大值和索引。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
MaxPool2D的逆过程。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
|
|
这是一个实验性API,后续可能修改或删除。 |
|
通过指定的填充模式和大小对输入Tensor进行填充。 |
|
无 |
|
根据参数 paddings 对输入进行填充。 |
|
无 |
|
将输入Tensor的最后一个维度从1扩展到 pad_dim_size ,其填充值为0。 |
|
无 |
|
使用双三次插值调整图像大小到指定的大小。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
此接口已弃用,请使用 |
Deprecated |
无 |
|
使用最近邻插值算法调整输入Tensor为指定大小。 |
|
无 |
|
执行最近邻上采样操作。 |
|
无 |
|
输入为五维度Tensor,跨其中三维执行三线性插值上调采样。 |
|
无 |
损失函数
接口名 |
概述 |
支持平台 |
警告 |
输入经过sigmoid激活函数后作为预测值,BCEWithLogitsLoss 计算预测值和目标值之间的二值交叉熵损失。 |
|
无 |
|
计算目标值和预测值之间的二值交叉熵损失值。 |
|
\(x\) 的值必须在0到1之间。 |
|
计算CTC(Connectionist Temporal Classification)损失和梯度。 |
|
无 |
|
计算CTC(Connectionist Temporal Classification)损失和梯度。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算输入 logits 和 labels 的KL散度。 |
|
无 |
|
用于计算L2范数的一半,但不对结果进行开方操作。 |
|
无 |
|
创建一个损失函数,用于最小化多分类任务的合页损失。 |
|
无 |
|
创建一个损失函数,用于优化输入和输出之间的多分类合页损失。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
获取预测值和目标值之间的负对数似然损失。 |
|
无 |
|
计算相对于softmax输出的RNNTLoss及其梯度。 |
|
无 |
|
计算预测值与真实值之间的sigmoid交叉熵。 |
|
无 |
|
计算平滑L1损失,该L1损失函数有稳健性。 |
|
无 |
|
SoftMarginLoss操作。 |
|
无 |
|
使用one-hot编码获取预测值和真实之间的softmax交叉熵。 |
|
无 |
|
计算预测值和标签之间的稀疏softmax交叉熵。 |
|
无 |
|
三元组损失函数。 |
|
无 |
激活函数
接口名 |
概述 |
支持平台 |
警告 |
逐元素计算输入Tensor的CeLU(连续可微指数线性单位)。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
指数线性单元激活函数(Exponential Linear Unit activation function)。 |
|
无 |
|
快速高斯误差线性单元激活函数。 |
|
无 |
|
高斯误差线性单元激活函数(Gaussian Error Linear Units activation function)。 |
|
无 |
|
门线性单元函数(Gated Linear Unit function)。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
Hard Shrink激活函数。 |
|
无 |
|
分段性逼近激活函数。 |
|
无 |
|
Hard Swish激活函数。 |
|
无 |
|
LogSoftmax激活函数。 |
|
无 |
|
逐元素计算输入Tensor的MISH(Self Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。 |
|
无 |
|
带参数的线性修正单元激活函数(Parametric Rectified Linear Unit activation function)。 |
|
无 |
|
线性修正单元激活函数(Rectified Linear Unit)。 |
|
无 |
|
计算输入Tensor的ReLU(矫正线性单元),其上限为6。 |
|
无 |
|
激活函数SeLU(Scaled exponential Linear Unit)。 |
|
无 |
|
Sigmoid激活函数,逐元素计算Sigmoid激活函数。 |
|
无 |
|
在指定轴上使用Softmax函数做归一化操作。 |
|
无 |
|
Softplus激活函数。 |
|
无 |
|
Soft Shrink激活函数。 |
|
无 |
|
Softsign激活函数。 |
|
无 |
|
逐元素计算输入元素的双曲正切。 |
|
无 |
优化器
接口名 |
概述 |
支持平台 |
警告 |
通过Adam算法更新梯度。 |
|
无 |
|
通过具有权重衰减的自适应矩估计算法(AdamWeightDecay)更新梯度。 |
|
无 |
|
二维自适应平均池化。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
三维自适应平均池化。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据Adadelta算法更新相关参数。 |
|
无 |
|
根据Adagrad算法更新相关参数。 |
|
无 |
|
根据Adagrad算法更新 var 。 |
|
无 |
|
根据Adagrad算法更新相关参数。 |
|
无 |
|
根据AdaMax算法更新相关参数。 |
|
无 |
|
根据Adam算法更新变量var。 |
|
无 |
|
根据AddSign算法更新相关参数。 |
|
无 |
|
居中RMSProp算法优化器。 |
|
在此算法的密集实现中, mean_gradient 、 mean_square 和 moment 在 grad 为零时仍将被更新。但在稀疏实现中, mean_gradient 、 mean_square 和 moment 不会在 grad 为零的迭代中被更新。 |
|
根据FTRL算法更新相关参数。 |
|
无 |
|
通过从 var 中减去 alpha * delta 来更新 var 。 |
|
无 |
|
使用动量算法的优化器。 |
|
无 |
|
根据AddSign算法更新相关参数。 |
|
无 |
|
根据Proximal Adagrad算法更新网络参数。 |
|
无 |
|
根据FOBOS(Forward Backward Splitting)算法更新网络参数。 |
|
无 |
|
实现均方根传播Root Mean Square prop(RMSProp)算法的优化器。 |
|
在该算法的稠密实现版本中,"mean_square"和"momemt"即使"grad"为零将仍被更新。但在该稀疏实现版本中,在"grad"为零的迭代"mean_squre"和"moment"将不被更新。 |
|
对梯度的平方和应用LARS(layer-wise adaptive rate scaling)算法。 |
|
无 |
|
根据Adagrad算法更新相关参数。 |
|
无 |
|
根据Proximal Adagrad算法更新网络参数。 |
|
无 |
|
计算随机梯度下降。 |
|
无 |
|
根据FTRL-proximal算法更新相关参数。 |
|
无 |
|
|
Deprecated |
无 |
距离函数
接口名 |
概述 |
支持平台 |
警告 |
计算两个Tensor的p-norm距离。 |
|
无 |
|
计算Levenshtein编辑距离。 |
|
如果输入 truth_indices 或者 hypothesis_indices 不是有序的, 可能会导致计算结果不符合预期, 建议调用该接口之前确保输入的稀疏张量 truth_indices 和 hypothesis_indices 都是升序排列的。 |
|
返回输入Tensor的矩阵范数或向量范数。 |
|
无 |
|
计算输入中每对行向量之间的p-范数距离。 |
|
无 |
采样算子
接口名 |
概述 |
支持平台 |
警告 |
计算与目标类完全匹配的抽样样本的位置id。 |
|
无 |
|
使用log-uniform(Zipfian)分布对一组类别进行采样。 |
|
无 |
|
使用均匀分布对一组类别进行采样。 |
|
无 |
图像处理
接口名 |
概述 |
支持平台 |
警告 |
解码边界框位置信息。 |
|
无 |
|
编码边界框位置信息。 |
|
无 |
|
检查边界框。 |
|
无 |
|
从输入图像Tensor中提取切片并调整其大小。 |
|
无 |
|
从输入中提取数据,并将它放入"depth"输出维度中,"depth"为输出的第二维。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算矩形的IOU,即真实区域和预测区域的交并比。 |
|
无 |
|
L2范数归一化算子。 |
|
无 |
|
非极大值抑制算法(NMS, Non-maximum Suppression)。 |
|
一次最多支持2864个输入框。 |
|
使用双线性插值调整图像大小到指定的大小。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
感兴趣区域对齐(RoI Align)运算。 |
|
无 |
文本处理
接口名 |
概述 |
支持平台 |
警告 |
n-grams出现重复,则更新对应n-gram词序列出现的概率。 |
|
无 |
数学运算算子
接口名 |
概述 |
支持平台 |
警告 |
计算整数数组中每个值的出现次数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算单个或成批对称正定矩阵的Cholesky分解。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
给定复数的实部与虚部,返回一个复数的Tensor。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回输入复数的模。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回 x1 和 x2 沿着维度 dim 上的向量积(叉积)。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
傅里叶变换,可以对参数进行调整,以实现FFT/IFFT/RFFT/IRFFT。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入Tensor的最大公约数。 |
|
这是一个实验性API,后续可能修改或删除。 |
逐元素运算
接口名 |
概述 |
支持平台 |
警告 |
逐元素计算输入Tensor的绝对值。 |
|
无 |
|
逐元素将所有输入的Tensor相加。 |
|
无 |
|
逐元素计算输入Tensor的反余弦。 |
|
无 |
|
逐元素计算输入Tensor的反双曲余弦。 |
|
无 |
|
两个输入Tensor逐元素相加。 |
|
无 |
|
将 x1 和 x2 的逐元素相除的结果乘以 value ,并将其添加到 input_data 中。 |
|
无 |
|
将 x1 和 x2 的逐元素相乘的结果乘以 value ,并将其添加到 input_data 中。 |
|
无 |
|
逐元素将所有输入的Tensor相加。 |
|
无 |
|
逐元素计算复数Tensor的辐角。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入Tensor的反正弦值。 |
|
无 |
|
逐元素计算输入Tensor的反双曲正弦值。 |
|
无 |
|
逐元素计算输入Tensor的反正切值。 |
|
无 |
|
逐元素计算x/y的反正切值。 |
|
无 |
|
逐元素计算输入Tensor的反双曲正切值。 |
|
无 |
|
逐元素计算输入数据的BesselI0函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselI0e函数值。 |
|
无 |
|
逐元素计算并返回输入Tensor的BesselI1函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselI1e函数值。 |
|
无 |
|
逐元素计算输入数据的BesselJ0函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselJ1函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselK0函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselK0e函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselK1函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselK1e函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselY0函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入数据的BesselY1函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素执行两个Tensor的与运算。 |
|
无 |
|
逐元素执行两个Tensor的或运算。 |
|
无 |
|
逐元素执行两个Tensor的异或运算。 |
|
无 |
|
向上取整函数。 |
|
无 |
|
返回输入张量的共轭。 |
|
无 |
|
逐元素计算输入数据的余弦。 |
|
无 |
|
逐元素计算输入数据的双曲余弦。 |
|
无 |
|
计算输入的lgamma函数的导数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算第一输入Tensor除以第二输入Tensor的商。 |
|
无 |
|
对 x1 和 x2 逐元素执行安全除法,如果 x2 的元素为0,则返回0。 |
|
无 |
|
此算子使用爱因斯坦求和约定(Einsum)进行Tensor计算。 |
|
无 |
|
逐元素计算 x 的高斯误差函数。 |
|
无 |
|
逐元素计算 x 的互补误差函数。 |
|
无 |
|
计算输入Tensor的逆误差函数。 |
|
无 |
|
逐元素计算输入Tensor的指数。 |
|
无 |
|
返回Tensor元素的指数,然后减去1。 |
|
无 |
|
向下取整函数。 |
|
无 |
|
将第一个输入Tensor除以第二个输入Tensor,并向下取整。 |
|
无 |
|
将第一个输入Tensor除以第二个输入Tensor,并向下取余。 |
|
无 |
|
将矩阵分解为正交矩阵 Q 和上三角矩阵 R 的乘积。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回包含输入Tensor的虚部。 |
|
无 |
|
按元素计算输入Tensor的倒数。 |
|
无 |
|
翻转输入Tensor的所有元素。 |
|
无 |
|
基于权重参数计算两个Tensor之间的线性插值。 |
|
无 |
|
逐元素返回Tensor的自然对数。 |
|
无 |
|
对输入Tensor逐元素加一后计算自然对数。 |
|
无 |
|
逐元素计算两个Tensor的逻辑与运算。 |
|
无 |
|
逐元素计算一个Tensor的逻辑非运算。 |
|
无 |
|
逐元素计算两个Tensor的逻辑或运算。 |
|
无 |
|
逐元素计算两个Tensor的逻辑异或运算。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算Tensor的logit值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将第一个输入Tensor逐元素除以第二个输入Tensor,并取余。 |
|
输入数据不支持0。 当输出包含的元素个数超过2048时,该算子不能保证双千分之一的精度要求。 由于架构的差异,在NPU和CPU上生成的结果可能不一致。 如果shape表示为 \((D1, D2, ..., Dn)\) ,则 \(D1*D2... *DN<=1000000,n<=8\) 。 |
|
两个Tensor逐元素相乘。 |
|
无 |
|
逐元素计算输入乘积。 |
|
无 |
|
计算输入x的相反数并返回。 |
|
无 |
|
逐元素返回 x1 指向 x2 的下一个可表示值符点值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将极坐标转化为笛卡尔坐标。 |
|
无 |
|
计算关于 x 的多伽马函数的 \(a\) 阶导数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算 x 中每个元素的 y 次幂。 |
|
无 |
|
返回输入Tensor的实数部分。 |
|
无 |
|
第一个输入Tensor元素为分子,第二个输入Tensor元素为分母,逐元素进行浮点型除法运算。 |
|
无 |
|
返回输入Tensor的倒数。 |
|
无 |
|
逐元素计算最接近输入数据的整数。 |
|
无 |
|
逐元素返回Tensor最接近的整数值。 |
|
无 |
|
逐元素计算输入Tensor平方根的倒数。 |
|
无 |
|
符号函数,计算输入Tensor元素的执行符号。 |
|
无 |
|
逐元素计算输入Tensor的正弦。 |
|
无 |
|
逐元素计算输入Tensor的数学正弦函数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算输入Tensor的双曲正弦。 |
|
无 |
|
逐元素计算输入Tensor的平方根。 |
|
无 |
|
逐元素计算输入Tensor的平方。 |
|
无 |
|
第一个输入Tensor元素中减去第二个输入Tensor,并返回其平方。 |
|
无 |
|
计算输入Tensor的平方和。 |
|
无 |
|
逐元素用第一个输入Tensor减去第二个输入Tensor。 |
|
无 |
|
逐元素计算输入元素的正切值。 |
|
无 |
|
返回一个新的张量,该张量具有输入元素的截断整数值。 |
|
无 |
|
将第一个输入Tensor与第二个输入Tensor逐元素相除,结果将向0取整。 |
|
无 |
|
逐元素取模。 |
|
输入数值不能为0。 当输入含有超过2048个元素,该操作不能保证千分之二的精度要求。 由于架构不同,该算子在NPU和CPU上的计算结果可能不一致。 若shape为(D1、D2...、Dn),则D1*D2...*DN<=1000000,n<=8。 |
|
将第一个输入Tensor除以第二个输入Tensor。 |
|
无 |
|
计算第一个输入Tensor乘以第二个输入Tensor的对数。 |
|
无 |
|
计算输入Tensor的Hurwitz zeta函数ζ(x,q)值。 |
|
这是一个实验性API,后续可能修改或删除。 |
Reduction算子
接口名 |
概述 |
支持平台 |
警告 |
返回输入Tensor在指定轴上的最大值索引。 |
|
无 |
|
在给定轴上计算输入Tensor的最大值,并且返回最大值和索引。 |
|
如果有多个最大值,则取第一个最大值的索引。 "axis"的取值范围为[-dims, dims - 1]。"dims"为"x"的维度长度。 |
|
返回输入Tensor在指定轴上的最小值索引。 |
|
无 |
|
在给定轴上计算输入Tensor的最小值,并且返回最小值和索引。 |
|
如果有多个最小值,则取第一个最小值的索引。 "axis"的取值范围为[-dims, dims - 1]。"dims"为"input_x"的维度长度。 |
|
输出Tensor指定维度 axis 上的中值与其对应的索引。 |
|
如果 input 的中值不唯一,则 indices 不一定包含第一个出现的中值。该算子的具体实现方式和后端类型相关,CPU和GPU的返回值可能不相同。 如果 global_median 为 |
|
默认情况下,通过对指定维度所有元素进行逻辑与运算以移除该维度。 |
|
无 |
|
默认情况下,通过对指定维度所有元素进行逻辑或运算来移除该维度。 |
|
无 |
|
默认情况下,使用指定维度的最大值代替该维度的其他元素,以移除该维度。 |
|
无 |
|
默认情况下,使用指定维度的平均值代替该维度的其他元素,以移除该维度。 |
|
无 |
|
默认情况下,使用指定维度的最小值代替该维度的其他元素,以移除该维度。 |
|
无 |
|
默认情况下,使用指定维度所有元素的乘积代替该维度的其他元素,以移除该维度。 |
|
无 |
|
默认情况下,输出Tensor各维度上的和,以达到对所有维度进行归约的目的。 |
|
无 |
比较算子
接口名 |
概述 |
支持平台 |
警告 |
逐元素计算abs(x-y),如果小于tolerance则为True,否则为False。 |
|
无 |
|
逐元素比较两个输入Tensor是否相等。 |
|
无 |
|
计算两个Tensor的相同元素的数量。 |
|
无 |
|
按元素比较输入参数 \(x,y\) 的值,输出结果为bool值。 |
|
无 |
|
输入两个Tensor,逐元素比较第一个Tensor是否大于等于第二个Tensor。 |
|
无 |
|
判断目标标签是否在前 k 个预测中。 |
|
无 |
|
确定输入Tensor每个位置上的元素是否为有限数。 |
|
无 |
|
确定输入Tensor每个位置上的元素是否为无穷大或无穷小。 |
|
无 |
|
判断输入数据每个位置上的值是否是NaN。 |
|
无 |
|
逐元素计算 \(x < y\) ,返回为bool。 |
|
无 |
|
逐元素计算 \(x <= y\) 的bool值。 |
|
无 |
|
逐元素计算输入Tensor的最大值。 |
|
无 |
|
逐元素计算两个Tensor的最小值。 |
|
无 |
|
逐元素计算两个Tensor是否不相等。 |
|
无 |
|
沿最后一个维度查找 k 个最大元素和对应的索引。 |
|
如果 sorted 设置为 |
线性代数算子
接口名 |
概述 |
支持平台 |
警告 |
基于batch维度的两个Tensor的矩阵乘法。 |
|
无 |
|
返回输入Tensor与偏置Tensor之和。 |
|
无 |
|
计算两个一维Tensor的外积。 |
|
无 |
|
将矩阵 a 和矩阵 b 相乘。 |
|
无 |
|
计算输入矩阵的逆矩阵。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算一个普通矩阵与Householder矩阵的乘积。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算一个或多个矩阵的奇异值分解。 |
|
无 |
Tensor操作算子
Tensor创建
接口名 |
概述 |
支持平台 |
警告 |
创建一个与输入数据类型和shape都相同的Tensor,元素值为对应数据类型能表达的最小值。 |
|
无 |
|
创建一个主对角线上元素为1,其余元素为0的Tensor。 |
|
无 |
|
Fill接口已弃用, 请使用 |
Deprecated |
无 |
|
返回一个在区间 start 和 stop (包括 start 和 stop )内均匀分布的,包含 num 个值的一维Tensor。 |
|
无 |
|
返回一个one-hot类型的Tensor。 |
|
无 |
|
创建一个值全为1的Tensor。 |
|
无 |
|
返回值为1的Tensor,shape和数据类型与输入相同。 |
|
无 |
|
创建一个值全为0的Tensor。 |
Deprecated |
无 |
|
返回值为0的Tensor,其shape和数据类型与输入Tensor相同。 |
|
无 |
随机生成算子
接口名 |
概述 |
支持平台 |
警告 |
以 p 的概率随机将输出的元素设置为0或1,服从伯努利分布。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据概率密度函数分布生成随机正值浮点数x。 |
|
无 |
|
返回从输入Tensor对应行进行多项式概率分布采样出的Tensor。 |
|
无 |
|
返回一个Tensor,其中每行包含从重复采样的多项式分布中抽取的 numsamples 个索引。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
从分类分布中抽取样本。 |
|
无 |
|
对输入进行随机取样,返回取样索引和掩码。 |
|
无 |
|
根据概率密度函数分布生成随机正值浮点数x。 |
|
无 |
|
根据离散概率密度函数分布生成随机非负数浮点数i。 |
|
无 |
|
生成从0到n-1不重复的n个随机样本。 |
|
无 |
|
生成从0到n-1不重复的n个随机整数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
生成符合标准Laplace(mean=0, lambda=1)分布的随机数。 |
|
无 |
|
根据标准正态(高斯)随机数分布生成随机数。 |
|
无 |
|
根据均匀分布在区间 [minval, maxval) 中生成随机数。 |
|
无 |
|
产生随机的浮点数,均匀分布在[0, 1)范围内。 |
|
无 |
Array操作
接口名 |
概述 |
支持平台 |
警告 |
基于一批仿射矩阵 theta 生成一个2D 或 3D 的流场(采样网格)。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将批处理数据重新排列到空间数据中。 |
|
无 |
|
|
|
无 |
|
将输入shape广播到目标shape。 |
|
无 |
|
转换输入Tensor的数据类型。 |
|
无 |
|
将shape为 \((*, C, H, W)\) 的Tensor的通道划分成 \(g\) 组,并按如下方式重新排列 \((*, \frac C g, g, H*W)\) ,同时保持原始Tensor的shape不变。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将一组通过滑窗获得的数组组合成一个大的Tensor。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
在指定轴上拼接输入Tensor。 |
|
无 |
|
返回输入Tensor在指定轴上的累计最大值与其对应的索引。 |
|
无 |
|
返回输入Tensor在指定轴上的累计最小值与其对应的索引。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算 x 沿着指定axis的元素累计积。 |
|
无 |
|
计算输入Tensor在指定轴上的累加和。 |
|
无 |
|
返回源数据格式中的目标数据格式的维度索引。 |
|
无 |
|
将深度数据重新排列到空间维度中。 |
|
无 |
|
用给定的对角线值构造对角线Tensor。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算输入Tensor的数据类型,且返回的数据类型为 mindspore.dtype 。 |
|
无 |
|
对输入 input_x 在给定的轴上添加额外维度。 |
|
无 |
|
填充至少具有二维的Tensor的主对角线。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
创建一个Tensor,其shape由 shape 指定,其值则由 value 进行填充。 |
|
无 |
|
确定元素是否包含非数字(NaN)、正无穷还是负无穷。 |
|
无 |
|
逐元素计算输入Tensor的最大值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回输入Tensor在指定 axis 上 input_indices 索引对应的元素组成的切片。 |
|
无 |
|
获取指定轴的元素。 |
|
无 |
|
根据索引获取输入Tensor指定位置上的元素。 |
|
无 |
|
使用输入窗口长度计算汉明窗口函数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算输入中每个元素的Heaviside步长函数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回一个rank为1的直方图,该直方图中的每个组的值表示数量。 |
|
无 |
|
将输入Tensor的逐个元素作为直角三角形的直角边,并计算其斜边的值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
|
Deprecated |
无 |
|
计算正则化的下层不完全伽马函数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算正则化的上层不完全伽马函数。 |
|
无 |
|
从一个batch的输入Tensor中提取滑动局部块。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将Tensor y 加到Tensor x 的指定 axis 和 indices 。 |
|
无 |
|
按 index 中给定的顺序选择索引,将输入Tensor x 的 dim 维度下的元素用 value 的值填充。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据 indices 中的下标值,使用 x2 中的数值替换 x1 中的相应元素的值。 |
|
无 |
|
将 input_v 添加到 x 的特定行。 |
|
无 |
|
逐元素将一个Tensor updates 添加到原Tensor var 的指定轴和索引处。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
从 x 的特定行减去 input_v 。 |
|
无 |
|
InplaceUpdate接口已废弃,请使用接口 |
Deprecated |
无 |
|
根据 indices,将 x 中的某些值更新为 v。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算索引的逆置换。 |
|
无 |
|
返回一个bool型Tensor,表示 x1 的每个元素与 x2 的每个元素在给定容忍度内是否“接近”。 |
|
无 |
|
逐个元素计算输入Tensor的最小公倍数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将Tensor每个位置的值向左移动若干个比特位。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回一个大小为 steps 的1-D Tensor,其值从 \(base^{start}\) 到 \(base^{end}\) ,以 base 为底数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将 LU_data 和 LU_pivots 还原为为P, L, U矩阵,其中P为置换矩阵,L为下三角矩阵,U为上三角矩阵。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将掩码位置为True的位置填充指定的值。 |
|
无 |
|
返回一个Tensor。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回一个一维张量,其中的内容是 x 张量中对应于 mask 张量中True位置的值。 |
|
无 |
|
提取一个Tensor中每个矩阵的中心带,中心带之外的所有值都设置为零。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回Tensor的对角线部分。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
构造以输入Tensor为对角线的矩阵。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
更新批处理矩阵对角线的值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
求解线性方程组。 |
|
无 |
|
从给定的Tensor生成网格矩阵。 |
|
无 |
|
逐元素计算 p 维多元对数伽马函数值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
将输入中的 NaN 、正无穷大和负无穷大值分别替换为 nan 、 posinf 和 neginf 指定的值。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算输入Tensor中所有非零元素的索引位置。 |
|
无 |
|
根据第一个维度连接输入Tensor。 |
|
无 |
|
计算二进制数中1的个数。 |
|
无 |
|
沿着Tensor的第一个维度进行随机打乱操作。 |
|
无 |
|
返回从 start 开始,步长为 delta ,且不超过 limit (不包括 limit )的序列。 |
|
无 |
|
返回输入Tensor的秩。 |
|
无 |
|
对Tensor沿着指定维度 dim 进行重新规范化,要求每个子Tensor的 p 范数不超过 maxnorm 。 |
|
无 |
|
基于给定的shape,对输入Tensor进行重新排列。 |
|
无 |
|
对输入序列进行部分反转。 |
|
无 |
|
对输入Tensor按指定维度反转。 |
|
"axis"的取值范围为[-dims, dims - 1],"dims"表示"input_x"的维度长度。 |
|
将Tensor input_x 的每个元素右移 Tensor input_y 中对应位数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据指定的索引将更新值散布到新Tensor上。 |
|
无 |
|
将sparse division应用于张量中的单个值或切片。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
对张量中的单个值或切片应用sparse maximum。 |
|
无 |
|
对张量中的单个值或切片应用sparse minimum。 |
|
无 |
|
对张量中的单个值或切片应用sparse multiplication。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回位置索引,根据这个索引将 values 插入 sorted_sequence 后,sorted_sequence 的元素大小顺序保持不变。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据条件判断Tensor中的元素的值,决定输出中的相应元素是从 x (如果元素值为True)还是从 y (如果元素值为False)中选择。 |
|
无 |
|
返回输入Tensor的shape。 |
|
无 |
|
返回一个Scalar,类型为整数,表示输入Tensor的大小,即Tensor中元素的总数。 |
|
无 |
|
根据指定shape对输入Tensor进行切片。 |
|
无 |
|
根据指定的轴对输入Tensor的元素进行排序,默认为升序排序。 |
|
目前仅支持float16数据类型。如果使用float32类型可能导致数据精度损失。 |
|
将空间维度划分为对应大小的块,并在批次维度重排张量。 |
|
无 |
|
将空间维度分块,增加Tensor深度。 |
|
无 |
|
基于指定的索引和axis返回输入Tensor的切片。 |
|
无 |
|
根据指定的轴和分割数量对输入Tensor进行分割。 |
|
无 |
|
返回删除指定 axis 中大小为1的维度后的Tensor。 |
|
无 |
|
在指定轴上对输入Tensor序列进行堆叠。 |
|
无 |
|
对输入Tensor根据步长和索引进行切片提取。 |
|
无 |
|
根据指定的更新值 updates 和输入索引 indices ,使用加法运算更新输入Tensor的值。 |
|
无 |
|
根据指定的更新值 updates 和输入索引 indices ,进行除法运算更新输入Tensor的值。 |
|
无 |
|
根据指定的更新值 updates 和输入索引 indices ,通过最大值运算将结果赋值到输出Tensor中。 |
|
无 |
|
根据指定的更新值 updates 和输入索引 indices ,计算原值与更新值的较小值并更新原值,返回更新后的Tensor。 |
|
无 |
|
根据指定的更新值 updates 和输入索引 indices ,使用乘法运算更新输入Tensor的值。 |
|
无 |
|
根据指定的更新值 input_x 和输入索引 indices,进行减法运算更新输出Tensor的值。 |
|
无 |
|
根据指定的更新值 update 和输入索引 indices ,通过更新操作更新输出Tensor的值。 |
|
无 |
|
返回输入Tensor的Shape。 |
|
无 |
|
按照给定的次数复制输入Tensor。 |
|
无 |
|
计算Tensor在对角线方向上元素的总和。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
根据指定的排列对输入的Tensor进行数据重排。 |
|
无 |
|
返回单个或一批二维矩阵下三角形部分,其他位置的元素将被置零。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算 row * col 行列矩阵的下三角元素的索引,并将它们作为一个 2xN 的Tensor返回。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回单个或一批二维矩阵上三角形部分,其他位置的元素将被置零。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
计算 row * col 行列矩阵的上三角元素的索引,并将它们作为一个 2xN 的Tensor返回。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
返回输入Tensor的唯一元素以及其对应的每个值的索引。 |
|
无 |
|
对输入张量中连续且重复的元素去重。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
对输入一维张量中元素去重,返回一维张量中的唯一元素(使用pad_num填充)和相对索引。 |
|
无 |
|
沿分段计算输入Tensor的最大值。 |
|
无 |
|
沿分段计算输入Tensor的最小值。 |
|
无 |
|
沿分段计算输入Tensor元素的乘积。 |
|
无 |
|
沿分段计算输入Tensor元素的和。 |
|
无 |
|
根据指定轴对输入矩阵进行分解,与Stack函数操作相反。 |
|
无 |
类型转换
接口名 |
概述 |
支持平台 |
警告 |
将输入Scalar转换为其他类型。 |
|
无 |
|
将Scalar转换为指定数据类型的 Tensor 。 |
|
无 |
|
将tuple转换为Tensor。 |
|
无 |
Parameter操作算子
接口名 |
概述 |
支持平台 |
警告 |
为网络参数赋值。 |
|
无 |
|
进行加法运算更新网络参数。 |
|
无 |
|
从网络参数减去特定数值来更新网络参数。 |
|
无 |
|
根据指定更新值和输入索引通过加法运算更新输入数据的值。 |
|
无 |
|
通过除法操作更新输入张量的值。 |
|
无 |
|
通过最大操作更新输入张量的值。 |
|
无 |
|
通过最小操作更新输入张量的值。 |
|
无 |
|
根据指定更新值和输入索引通过乘法运算更新输入数据的值。 |
|
无 |
|
使用给定值通过加法运算和输入索引更新Tensor值。 |
|
无 |
|
使用给定值通过减法运算和输入索引更新Tensor值。 |
|
无 |
|
使用给定值以及输入索引更新输入数据的值。 |
|
无 |
|
使用给定值通过加法操作和输入索引来更新Tensor值。 |
Deprecated |
无 |
|
使用给定更新值通过减法操作和输入索引来更新Tensor值。 |
|
无 |
|
使用给定的更新值和输入索引更新输入Tensor的值。 |
|
无 |
数据操作算子
接口名 |
概述 |
支持平台 |
警告 |
返回数据集队列中的下一个元素。 |
|
无 |
通信算子
在分布式训练中进行数据传输涉及通信操作,详情请参考 分布式集合通信原语 。
注意,以下列表中的接口需要先配置好通信环境变量。
针对Ascend设备,用户需要准备rank表,设置rank_id和device_id,详见 Ascend指导文档 。
针对GPU设备,用户需要准备host文件和mpi,详见 GPU指导文档 。
接口名 |
概述 |
支持平台 |
警告 |
在指定的通信组中汇聚Tensor。 |
|
无 |
|
使用指定方式对通信组内的所有设备的Tensor数据进行规约操作,所有设备都得到相同的结果。 |
|
无 |
|
AlltoAll是一个集合通信函数。 |
|
无 |
|
对输入数据整组广播。 |
|
无 |
|
NeighborExchangeV2是一个集合通讯操作。 |
|
无 |
|
规约张量的操作选项。 |
|
无 |
|
规约并且分发指定通信组中的张量。 |
|
无 |
调试算子
接口名 |
概述 |
支持平台 |
警告 |
计算Tensor的直方图并保存到Summary文件。 |
|
无 |
|
将图像保存到Summary文件。 |
|
无 |
|
将标量数据保存到Summary文件。 |
|
无 |
|
将Tensor保存到Summary文件。 |
|
无 |
|
将输入数据进行打印输出。 |
|
无 |
|
分配一个标志来存储溢出状态。 |
|
无 |
|
清除存储溢出状态的标识。 |
|
无 |
|
在执行 |
|
无 |
稀疏算子
接口名 |
概述 |
支持平台 |
警告 |
稀疏矩阵 A 乘以稠密矩阵 B 。 |
|
无 |
|
将稀疏Tensor转换为密集Tensor。 |
|
无 |
框架算子
接口名 |
概述 |
支持平台 |
警告 |
用来处理操作间的依赖关系。 |
|
无 |
|
一个高阶函数,为输入函数生成梯度函数。 |
|
无 |
|
用来导出中间变量中的梯度。 |
|
无 |
|
对输入序列做集合运算。 |
|
无 |
|
为图节点附加回调函数,将在梯度计算时被调用。 |
|
无 |
|
Map将对输入序列应用设置的函数操作。 |
|
无 |
|
MultitypeFuncGraph是一个用于生成重载函数的类,使用不同类型作为输入。 |
|
无 |
|
生成偏函数的实例。 |
|
无 |
算子信息注册
AiCPU算子信息注册类。 |
|
用于为 |
|
Ascend算子的dtype和format的多种组合。 |
|
注册TBE算子信息的类。 |
|
通过Primitive对象或Primitive名称,获取虚拟实现函数。 |
自定义算子
接口名 |
概述 |
支持平台 |
警告 |
Custom 算子是MindSpore自定义算子的统一接口。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
装饰器,用于将注册信息绑定到: |
|
无 |
|
用于MindSpore Hybrid DSL函数书写的装饰器。 |
|
无 |
光谱算子
接口名 |
概述 |
支持平台 |
警告 |
巴特利特窗口函数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
布莱克曼窗口函数。 |
|
这是一个实验性API,后续可能修改或删除。 |