mindspore.mint
mindspore.mint提供了大量的functional、nn、优化器接口,API用法及功能等与业界主流用法一致,方便用户参考使用。 mint接口当前是实验性接口,在图编译模式为O0和PyNative模式下性能比ops更优。当前暂不支持图下沉模式及CPU、GPU后端,后续会逐步完善。
模块导入方法如下:
from mindspore import mint
MindSpore中 mindspore.mint 接口与上一版本相比,新增、删除和支持平台的变化信息请参考 mindspore.mint API接口变更 。
Tensor
创建运算
接口名 |
概述 |
支持平台 |
警告 |
创建一个从 start 开始, end 结束(不含),步长为 step 序列(一维张量)。 |
|
无 |
|
创建一个主对角线上元素为1,其余元素为0的Tensor。 |
|
无 |
|
创建一个指定shape的Tensor,并用指定值填充。 |
|
无 |
|
返回一个在区间 start 和 end (包括 start 和 end )内均匀分布的,包含 steps 个值的一维Tensor。 |
|
Atlas训练系列产品暂不支持int16数据类型。 |
|
创建一个值全为1的Tensor。 |
|
无 |
|
创建一个数值全为1的Tensor,shape和 input 相同,dtype由 dtype 决定。 |
|
无 |
|
创建一个值全为0的Tensor。 |
|
无 |
|
创建一个数值全为0的Tensor,shape和 input 相同,dtype由 dtype 决定。 |
|
无 |
索引、切分、连接、突变运算
接口名 |
概述 |
支持平台 |
警告 |
在指定维度上拼接输入Tensor。 |
|
无 |
|
返回输入Tensor在指定 index 索引对应的元素组成的切片。 |
|
在Ascend后端,以下场景将导致不可预测的行为: 正向执行流程中,当 index 的取值不在范围 [-input.shape[dim], input.shape[dim]) 内; 反向执行流程中,当 index 的取值不在范围 [0, input.shape[dim]) 内。 |
|
返回一个新的Tensor,该Tensor沿维度 dim 按 index 中给定的索引对 input 进行选择。 |
|
无 |
|
返回一个一维Tensor,其中的内容是 input 中对应于 mask 中True位置的值。 |
|
无 |
|
按照输入 dims 的维度顺序排列输入Tensor。 |
|
无 |
|
根据指定索引将 src 中的值更新到 input 中返回输出。 |
|
无 |
|
将 src 中所有的元素添加到 input 中 index 指定的索引处。 |
|
无 |
|
根据指定的轴将输入Tensor切分成块。 |
|
无 |
|
沿着指定的轴,指定起始位置获取指定长度的Tensor。 |
|
无 |
|
返回所有非零元素下标位置。 |
|
无 |
|
通过复制 dims 次 input 来创建新的Tensor。 |
|
无 |
|
返回输入Tensor input 的下三角形部分(包含对角线和下面的元素),并将其他元素设置为0。 |
|
无 |
|
返回输入Tensor input 的上三角形部分(包含对角线和下面的元素),并将其他元素设置为0。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
在指定轴上对输入Tensor序列进行堆叠。 |
|
无 |
|
返回一个Tensor,Tensor的元素从 input 或 other 中根据 condition 选择。 |
|
无 |
随机采样
接口名 |
概述 |
支持平台 |
警告 |
根据正态(高斯)随机数分布生成随机数。 |
|
无 |
|
返回shape与输入相同,类型为 dtype 的Tensor,dtype由输入决定,其元素取值服从 \([0, 1)\) 区间内的均匀分布。 |
|
无 |
|
返回一个Tensor,shape和dtype由输入决定,其元素为服从均匀分布的 \([0, 1)\) 区间的数字。 |
|
无 |
数学运算
逐元素运算
接口名 |
概述 |
支持平台 |
警告 |
逐元素计算输入Tensor的绝对值。 |
|
无 |
|
对 other 缩放 scalar 后与 input 相加。 |
|
无 |
|
逐元素计算输入Tensor的反余弦。 |
|
无 |
|
逐元素计算输入Tensor的反双曲余弦。 |
|
无 |
|
|
无 |
||
|
无 |
||
|
无 |
||
|
无 |
||
|
无 |
||
|
无 |
||
|
无 |
||
逐元素计算输入Tensor的反正弦。 |
|
无 |
|
计算输入元素的反双曲正弦。 |
|
无 |
|
逐元素计算输入Tensor的反正切值。 |
|
无 |
|
逐元素计算input/other的反正切值。 |
|
无 |
|
逐元素计算输入Tensor的反双曲正切值。 |
|
无 |
|
逐元素执行两个Tensor的与运算。 |
|
无 |
|
逐元素执行两个Tensor的或运算。 |
|
无 |
|
逐元素执行两个Tensor的异或运算。 |
|
无 |
|
向上取整函数。 |
|
无 |
|
将输入Tensor的值裁剪到指定的最小值和最大值之间。 |
|
无 |
|
逐元素计算输入的余弦。 |
|
如果使用float64,可能会存在精度丢失的问题。 |
|
逐元素计算 input 的双曲余弦值。 |
|
无 |
|
返回沿着维度 dim 上,input 和 other 的向量积(叉积)。 |
|
无 |
|
逐元素计算第一个输入Tensor除以第二输入Tensor的商。 |
|
无 |
|
|
|
无 |
|
逐元素计算 input 的高斯误差函数。 |
|
无 |
|
逐元素计算 input 的互补误差函数。 |
|
无 |
|
计算输入的逆误差函数。 |
|
无 |
|
逐元素计算 input 的指数。 |
|
无 |
|
逐元素计算输入Tensor的指数,然后减去1。 |
|
无 |
|
|
无 |
||
逐元素向下取整函数。 |
|
无 |
|
逐元素返回Tensor的自然对数。 |
|
如果输入值在(0, 0.01]或[0.95, 1.05]范围内,则输出精度可能会存在误差。 |
|
对输入Tensor逐元素加一后计算自然对数。 |
|
无 |
|
计算输入的指数和的对数。 |
|
这是一个实验性API,后续可能修改或删除。 |
|
逐元素计算两个Tensor的逻辑与运算。 |
|
无 |
|
逐元素计算一个Tensor的逻辑非运算。 |
|
无 |
|
逐元素计算两个Tensor的逻辑或运算。 |
|
无 |
|
逐元素计算两个Tensor的逻辑异或运算。 |
|
无 |
|
两个Tensor逐元素相乘。 |
|
无 |
|
计算输入input的相反数并返回。 |
|
无 |
|
|
|
无 |
|
计算 input 中每个元素的 exponent 次幂。 |
|
无 |
|
返回输入Tensor每个元素的倒数。 |
|
无 |
|
逐元素计算 input 除以 other 后的余数。 |
|
无 |
|
沿轴移动Tensor的元素。 |
|
无 |
|
对输入数据进行四舍五入到最接近的整数数值。 |
|
无 |
|
逐元素计算输入Tensor元素的平方根倒数。 |
|
无 |
|
逐元素计算Sigmoid激活函数。 |
|
无 |
|
按sign公式逐元素计算输入Tensor。 |
|
无 |
|
逐元素计算输入Tensor的正弦。 |
|
无 |
|
计算输入的归一化正弦值。 |
|
无 |
|
逐元素计算输入Tensor的双曲正弦。 |
|
无 |
|
逐元素返回当前Tensor的平方根。 |
|
无 |
|
逐元素返回Tensor的平方。 |
|
无 |
|
对 other 缩放 scalar 后与 input 相减。 |
|
无 |
|
逐元素计算输入元素的正切值。 |
|
无 |
|
逐元素计算输入元素的双曲正切。 |
|
无 |
|
返回一个新的Tensor,该Tensor具有输入元素的截断整数值。 |
|
无 |
|
计算第一个输入乘以第二个输入的对数。 |
|
无 |
Reduction运算
接口名 |
概述 |
支持平台 |
警告 |
返回输入Tensor在指定轴上的最大值索引。 |
|
无 |
|
返回输入Tensor在指定轴上的最小值索引。 |
|
无 |
|
默认情况下,通过对维度中所有元素进行“逻辑与”来减少 input 的维度。 |
|
无 |
|
默认情况下,通过对维度中所有元素进行“逻辑或”来减少 input 的维度。 |
|
无 |
|
在给定轴上计算输入Tensor的最大值。 |
|
无 |
|
默认情况下,移除输入所有维度,返回 input 中所有元素的平均值。 |
|
无 |
|
输出指定维度 |
|
无 |
|
在给定轴上计算输入Tensor的最小值。 |
|
无 |
|
默认情况下,使用指定维度的所有元素的乘积代替该维度的其他元素,以移除该维度。 |
|
无 |
|
计算Tensor指定维度元素的和。 |
|
无 |
|
对输入Tensor中元素去重。 |
|
无 |
比较运算
接口名 |
概述 |
支持平台 |
警告 |
逐元素比较两个输入Tensor是否相等。 |
|
无 |
|
按元素比较输入参数 \(input > other\) 的值,输出结果为bool值。 |
|
无 |
|
输入两个Tensor,逐元素比较第一个Tensor是否大于等于第二个Tensor。 |
|
无 |
|
按元素比较输入参数 \(input,other\) 的值,输出结果为bool值。 |
|
无 |
|
返回一个布尔型Tensor,表示 input 的每个元素与 other 的对应元素在给定容忍度内是否“接近”。 |
|
无 |
|
判断输入数据每个位置上的元素是否是有限数。 |
|
无 |
|
逐元素计算 \(input <= other\) 的bool值。 |
|
无 |
|
逐元素计算 \(input < other\) ,返回为bool。 |
|
无 |
|
逐元素计算 \(input <= other\) 的bool值。 |
|
无 |
|
|
无 |
||
逐元素计算两个输入Tensor中的最大值。 |
|
如果所有输入都为标量int类型,在GRAPH模式下,输出为int32类型的Tensor,在PYNATIVE模式下,输出为int64类型的Tensor。 |
|
逐元素计算两个输入Tensor中的最小值。 |
|
无 |
|
计算两个Tensor是否不相等。 |
|
无 |
|
沿给定维度查找 k 个最大或最小元素和对应的索引。 |
|
如果 sorted 设置为False, 由于在不同平台上存在内存排布以及遍历方式不同等问题,sorted 设置为False时计算结果的显示顺序可能会出现不一致的情况。 |
|
按指定顺序对输入Tensor的指定维上的元素进行排序。 |
|
目前能良好支持的数据类型有:float16、uint8、int8、int16、int32、int64。如果使用float32,可能产生精度误差。 |
BLAS和LAPACK运算
接口名 |
概述 |
支持平台 |
警告 |
对输入的两个三维矩阵batch1与batch2相乘,并将结果与input相加。 |
|
无 |
|
基于batch维度的两个Tensor的矩阵乘法,仅支持三维。 |
|
无 |
|
计算输入矩阵的逆。 |
|
无 |
|
计算两个数组的矩阵乘积。 |
|
无 |
|
返回 input 的主对角线方向上的总和。 |
|
无 |
其他运算
接口名 |
概述 |
支持平台 |
警告 |
将输入shape广播到目标shape。 |
|
无 |
|
返回一个元组(最值、索引),其中最值是输入Tensor input 沿维度 dim 的累积最大值,索引是每个最大值的索引位置。 |
|
无 |
|
返回一个元组(最值、索引),其中最值是输入Tensor input 沿维度 dim 的累积最小值,索引是每个最小值的索引位置。 |
|
无 |
|
计算输入Tensor input 沿轴 dim 的累积和。 |
|
无 |
|
沿着从 start_dim 到 end_dim 的维度,对输入Tensor进行展平。 |
|
无 |
|
沿给定轴翻转Tensor中元素的顺序。 |
|
无 |
|
沿着轴重复Tensor的元素,类似 numpy.repeat。 |
|
仅Atlas A2训练系列产品支持。 |
|
返回位置索引,根据这个索引将 values 插入 sorted_sequence 后,sorted_sequence 的最内维度的顺序保持不变。 |
|
无 |
|
返回输入Tensor input 的下三角形部分(包含对角线和下面的元素),并将其他元素设置为0。 |
|
无 |
mindspore.mint.nn
损失函数
接口名 |
概述 |
支持平台 |
警告 |
L1Loss用于计算预测值和目标值之间的平均绝对误差。 |
|
无 |
卷积层
接口名 |
概述 |
支持平台 |
警告 |
将提取出的滑动局部区域块还原成更大的输出Tensor。 |
|
无 |
|
从一个batch的输入Tensor中提取滑动局部块。 |
|
无 |
归一化层
接口名 |
概述 |
支持平台 |
警告 |
在mini-batch输入上进行组归一化。 |
|
无 |
非线性激活层 (加权和,非线性)
接口名 |
概述 |
支持平台 |
警告 |
高斯误差线性单元激活函数(Gaussian Error Linear Unit)。 |
|
无 |
|
逐元素计算Hard Shrink激活函数。 |
|
无 |
|
逐元素计算Hard Sigmoid激活函数。 |
|
无 |
|
逐元素计算Hard Swish激活函数。 |
|
无 |
|
在指定轴上对输入Tensor应用LogSoftmax函数。 |
|
无 |
|
逐元素计算输入Tensor的MISH(A Self Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。 |
|
无 |
|
逐元素计算PReLU(PReLU Activation Operator)激活函数。 |
|
无 |
|
逐元素计算ReLU(Rectified Linear Unit activation function)修正线性单元激活函数。 |
|
无 |
|
逐元素计算激活函数SELU(Scaled exponential Linear Unit)。 |
|
无 |
|
将Softmax函数应用于n维输入Tensor。 |
|
无 |
|
逐元素计算Soft Shrink激活函数。 |
|
无 |
线性层
接口名 |
概述 |
支持平台 |
警告 |
全连接层。 |
|
在PYNATIVE模式下,如果 bias 为 |
Dropout层
接口名 |
概述 |
支持平台 |
警告 |
随机丢弃层。 |
|
无 |
池化层
接口名 |
概述 |
支持平台 |
警告 |
对输入张量应用二维平均池化,可视为二维输入平面的组合。 |
|
无 |
损失函数
接口名 |
概述 |
支持平台 |
警告 |
输入 input 经过sigmoid激活函数后作为预测值, 用此预测值计算和目标值之间的二值交叉熵损失。 |
|
无 |
|
用于计算预测值与标签值之间的均方误差。 |
|
无 |
mindspore.mint.nn.functional
卷积函数
接口名 |
概述 |
支持平台 |
警告 |
将提取出的滑动局部区域块还原成更大的输出Tensor。 |
|
目前,只支持3-D或4-D(包含批维度)的类图像输出Tensor。 |
|
从一个batch的输入Tensor中提取滑动局部块。 |
|
目前,只支持4-D(包含批维度)的类图像Tensor。 对于Ascend,仅Atlas A2以上平台支持。 |
池化函数
接口名 |
概述 |
支持平台 |
警告 |
在输入Tensor上应用2D平均池化,输入Tensor可以看作是由一系列2D平面组成的。 |
|
无 |
|
二维最大值池化。 |
|
只支持 Atlas A2 训练系列产品。 |
非线性激活函数
接口名 |
概述 |
支持平台 |
警告 |
对输入数据进行批量归一化和更新参数。 |
|
无 |
|
指数线性单元激活函数。 |
|
无 |
|
高斯误差线性单元激活函数。 |
|
无 |
|
在mini-batch输入上进行组归一化。 |
|
无 |
|
Hard Shrink激活函数。 |
|
无 |
|
Hard Sigmoid激活函数。 |
|
无 |
|
Hard Swish激活函数。 |
|
无 |
|
在mini-batch输入上应用层归一化(Layer Normalization)。 |
|
无 |
|
leaky_relu激活函数。 |
|
无 |
|
在指定轴上对输入Tensor应用LogSoftmax函数。 |
|
无 |
|
逐元素计算输入Tensor的MISH(A Self Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。 |
|
无 |
|
带参数的线性修正单元激活函数(Parametric Rectified Linear Unit activation function)。 |
|
无 |
|
对输入Tensor逐元素计算线性修正单元激活函数(Rectified Linear Unit)值。 |
|
无 |
|
激活函数selu(Scaled exponential Linear Unit)。 |
|
无 |
|
逐元素计算Sigmoid激活函数。 |
|
无 |
|
按输入逐元素计算激活函数SiLU(Sigmoid Linear Unit)。 |
|
无 |
|
在指定轴上对输入Tensor执行Softmax激活函数做归一化操作。 |
|
无 |
|
将softplus函数作用于 input 的每个元素上。 |
|
无 |
|
Soft Shrink激活函数。 |
|
无 |
|
逐元素计算输入元素的双曲正切。 |
|
无 |
线性函数
接口名 |
概述 |
支持平台 |
警告 |
对输入 input 应用全连接操作。 |
|
这是一个实验性API,后续可能修改或删除。 在PYNATIVE模式下,如果 bias 不是1D, input 不可以大于6D。 |
Dropout函数
接口名 |
概述 |
支持平台 |
警告 |
在训练期间,以服从伯努利分布的概率 p 随机将输入Tensor的某些值归零,起到减少神经元相关性的作用,避免过拟合。 |
|
无 |
稀疏函数
接口名 |
概述 |
支持平台 |
警告 |
以 input 中的值作为索引,从 weight 中查询对应的embedding向量。 |
|
在Ascend后端, input 的值非法将导致不可预测的行为。 |
|
返回一个one-hot类型的Tensor。 |
|
无 |
损失函数
接口名 |
概述 |
支持平台 |
警告 |
计算预测值 input 和 目标值 target 之间的二值交叉熵(度量两个概率分布间的差异性信息)损失。 |
|
input 的值必须要在0-1范围内。 |
|
|
输入经过sigmoid激活函数后作为预测值, binary_cross_entropy_with_logits 计算预测值和目标值之间的二值交叉熵损失。 |
|
无 |
用于计算预测值和目标值之间的平均绝对误差。 |
|
无 |
|
计算预测值和标签值之间的均方误差。 |
|
无 |
Vision函数
接口名 |
概述 |
支持平台 |
警告 |
给定一个输入和一个网格,使用网格中的输入值和像素位置计算输出。 |
|
无 |
|
根据参数 pad 对输入进行填充。 |
|
circular 模式性能较差,不推荐使用。 |
mindspore.mint.optim
接口名 |
概述 |
支持平台 |
警告 |
Adaptive Moment Estimation Weight Decay(AdamW)算法的实现。 |
|
这是一个实验性的优化器接口,需要和 LRScheduler 下的动态学习率接口配合使用。 对于Ascend,仅Atlas A2以上平台支持。 |
mindspore.mint.linalg
逆数
接口名 |
概述 |
支持平台 |
警告 |
计算输入矩阵的逆。 |
|
无 |
mindspore.mint.special
逐元素运算
接口名 |
概述 |
支持平台 |
警告 |
逐元素计算 input 的互补误差函数。 |
|
无 |
|
逐元素计算输入Tensor的指数,然后减去1。 |
|
无 |
|
对输入Tensor逐元素加一后计算自然对数。 |
|
无 |
|
在指定轴上对输入Tensor应用LogSoftmax函数。 |
|
无 |
|
对输入数据进行四舍五入到最接近的整数数值。 |
|
无 |
|
计算输入的归一化正弦值。 |
|
无 |
mindspore.mint.distributed
接口名 |
概述 |
支持平台 |
警告 |
初始化通信服务并创建默认通讯group(group=GlobalComm.WORLD_COMM_GROUP)。 |
|
无 |
|
销毁指定通讯group。 |
|
无 |
|
在指定通信组中获取当前的设备序号。 |
|
无 |
|
获取指定通信组实例的rank_size。 |
|
无 |