mindspore.ops.functional
functional算子是经过初始化后的Primitive,可以直接作为函数使用。functional算子的使用示例如下:
from mindspore import Tensor, ops
from mindspore import dtype as mstype
input_x = Tensor(-1, mstype.int32)
input_dict = {'x':1, 'y':2}
result_abs = ops.absolute(input_x)
print(result_abs)
result_in_dict = ops.in_dict('x', input_dict)
print(result_in_dict)
result_not_in_dict = ops.not_in_dict('x', input_dict)
print(result_not_in_dict)
result_isconstant = ops.isconstant(input_x)
print(result_isconstant)
result_typeof = ops.typeof(input_x)
print(result_typeof)
# outputs:
# 1
# True
# False
# True
# Tensor[Int32]
神经网络层函数
神经网络
接口名 |
概述 |
支持平台 |
2维自适应平均池化。 |
|
|
对输入的多维数据进行二维平均池化运算。 |
|
|
对输入中给定的logits执行贪婪解码。 |
|
|
给定4D的Tensor输入 x , weight 和 offsets ,计算一个2D的可变形卷积。 |
|
|
在训练期间,以服从伯努利分布的概率 p 随机将输入Tensor的某些通道归零。 |
|
|
在训练期间,以服从伯努利分布的概率 p 随机将输入Tensor的某些通道归零。 |
|
|
扁平化(Flatten)输入Tensor,不改变0轴的size。 |
|
|
使用 mode 设置的插值方式调整输入 x 大小。 |
|
|
计算输入 logits 和 labels 的KL散度。 |
|
|
局部响应归一化操作LRN(Local Response Normalization)。 |
|
|
3维最大值池化。 |
|
|
根据参数 paddings 对输入进行填充。 |
|
|
通过填充0,将输入张量的最后一个维度从1扩展到指定大小。 |
|
损失函数
接口名 |
概述 |
支持平台 |
获取预测值和目标值之间的交叉熵损失。 |
|
|
获取预测值和目标值之间的负对数似然损失。 |
|
|
计算平滑L1损失,该L1损失函数有稳健性。 |
|
激活函数
接口名 |
概述 |
支持平台 |
快速高斯误差线性单元激活函数。 |
|
|
返回Gumbel-Softmax分布的Tensor,在 hard = True 的时候,返回one-hot形式的离散型Tensor,hard = False 时返回在dim维进行过softmax的Tensor。 |
|
|
Hard Shrink激活函数,按输入元素计算输出。 |
|
|
Hard Swish激活函数。 |
|
|
LogSoftmax激活函数。 |
|
|
逐元素计算输入Tensor的MISH(Self Regularized Non-Monotonic Neural Activation Function 自正则化非单调神经激活函数)。 |
|
|
激活函数selu(Scaled exponential Linear Unit)。 |
|
|
Soft Shrink激活函数,按输入元素计算输出。 |
|
|
Softsign激活函数。 |
|
|
Tanh激活函数。 |
|
采样函数
接口名 |
概述 |
支持平台 |
给定一个输入和一个网格,使用网格中的输入值和像素位置计算输出。 |
|
数学运算函数
逐元素运算
接口名 |
概述 |
支持平台 |
Returns absolute value of a tensor element-wise. |
|
|
Computes arccosine of input tensors element-wise. |
|
|
Computes inverse hyperbolic cosine of the inputs element-wise. |
|
|
两个输入Tensor逐元素相加。 |
|
|
逐元素将所有输入的Tensor相加。 |
|
|
Computes arcsine of input tensors element-wise. |
|
|
Computes inverse hyperbolic sine of the input element-wise. |
|
|
Computes the trigonometric inverse tangent of the input element-wise. |
|
|
逐元素计算x/y的反正切值。 |
|
|
Computes inverse hyperbolic tangent of the input element-wise. |
|
|
以p的概率随机将输出的元素设置为0或1,服从伯努利分布。 |
|
|
逐元素计算并返回输入Tensor的Bessel i0函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel i0e函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel i1函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel i1e函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel j0函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel j1函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel k0函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel k0e函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel k1函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel k1e函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel y0函数值。 |
|
|
逐元素计算并返回输入Tensor的Bessel y1函数值。 |
|
|
逐元素执行两个Tensor的与运算。 |
|
|
逐元素执行两个Tensor的或运算。 |
|
|
逐元素执行两个Tensor的异或运算。 |
|
|
向上取整函数。 |
|
|
Computes cosine of input element-wise. |
|
|
逐元素计算 x 的双曲余弦值。 |
|
|
Divides the first input tensor by the second input tensor in floating-point type element-wise. |
|
|
逐元素计算 x 的高斯误差函数。 |
|
|
逐元素计算 x 的互补误差函数。 |
|
|
Returns exponential of a tensor element-wise. |
|
|
Returns exponential then minus 1 of a tensor element-wise. |
|
|
逐元素向下取整函数。 |
|
|
Divides the first input tensor by the second input tensor element-wise and round down to the closest integer. |
|
|
Computes the remainder of division element-wise. |
|
|
根据 indices,将 x 中的对应位置加上 v 。 |
|
|
将 v 依照索引 indices 从 x 中减去。 |
|
|
根据 indices,将 x 中的某些值更新为 v。 |
|
|
逐元素计算输入Tensor的倒数。 |
|
|
对输入逐元素按位翻转。 |
|
|
基于权重参数计算两个Tensor之间的线性插值。 |
|
|
逐元素返回Tensor的自然对数。 |
|
|
对输入Tensor逐元素加一后计算自然对数。 |
|
|
Computes the "logical AND" of two tensors element-wise. |
|
|
Computes the "logical NOT" of a tensor element-wise. |
|
|
Computes the "logical OR" of two tensors element-wise. |
|
|
两个Tensor逐元素相乘。 |
|
|
计算输入x的相反数并返回。 |
|
|
计算 x 中每个元素的 y 次幂。 |
|
|
对输入数据进行四舍五入到最接近的整数数值。 |
|
|
Computes sine of the input element-wise. |
|
|
Computes hyperbolic sine of the input element-wise. |
|
|
逐元素用第一个输入Tensor减去第二个输入Tensor。 |
|
|
计算输入元素的正切值。 |
|
|
返回一个新的张量,该张量具有输入元素的截断整数值。 |
|
|
对于整数类型,将第一个输入Tensor与第二个输入Tensor逐元素相除。 |
|
|
逐元素取模。 |
|
|
计算第一个输入Tensor乘以第二个输入Tensor的对数。 |
|
functional |
Description |
---|---|
mindspore.ops.absolute |
absolute will be deprecated in the future. Please use mindspore.ops.abs instead. |
mindspore.ops.floordiv |
floordiv will be deprecated in the future. Please use mindspore.ops.floor_div instead. |
mindspore.ops.floormod |
floormod will be deprecated in the future. Please use mindspore.ops.floor_mod instead. |
mindspore.ops.neg_tensor |
neg_tensor will be deprecated in the future. Please use mindspore.ops.neg instead. |
mindspore.ops.pows |
pows will be deprecated in the future. Please use mindspore.ops.pow instead. |
mindspore.ops.sqrt |
Refer to |
mindspore.ops.square |
Refer to |
mindspore.ops.tensor_add |
tensor_add will be deprecated in the future. Please use mindspore.ops.add instead. |
mindspore.ops.tensor_div |
tensor_div will be deprecated in the future. Please use mindspore.ops.div instead. |
mindspore.ops.tensor_exp |
tensor_exp will be deprecated in the future. Please use mindspore.ops.exp instead. |
mindspore.ops.tensor_expm1 |
tensor_expm1 will be deprecated in the future. Please use mindspore.ops.expm1 instead. |
mindspore.ops.tensor_floordiv |
tensor_floordiv will be deprecated in the future. Please use mindspore.ops.floor_div instead. |
mindspore.ops.tensor_mod |
tensor_mod will be deprecated in the future. Please use mindspore.ops.floor_mod instead. |
mindspore.ops.tensor_mul |
tensor_mul will be deprecated in the future. Please use mindspore.ops.mul instead. |
mindspore.ops.tensor_pow |
tensor_pow will be deprecated in the future. Please use mindspore.ops.pow instead. |
mindspore.ops.tensor_sub |
tensor_sub will be deprecated in the future. Please use mindspore.ops.sub instead. |
Reduction函数
接口名 |
概述 |
支持平台 |
默认情况下,使用指定维度的最大值代替该维度的其他元素,以移除该维度。 |
|
|
默认情况下,使用指定维度的最小值代替该维度的其他元素,以移除该维度。 |
|
|
返回输入Tensor在指定轴上的最小值索引。 |
|
|
返回一个元组(最值、索引),其中最值是输入张量 x 沿维度 axis 的累积最大值,索引是每个最大值的索引位置。 |
|
|
返回一个元组(最值、索引),其中最值是输入张量 x 沿维度 axis 的累积最小值,索引是每个最小值的索引位置。 |
|
|
求Tensor的对数指数和。 |
|
|
根据指定的索引计算最大值,并返回索引和值。 |
|
|
默认情况下,使用指定维度的平均值代替该维度的其他元素,以移除该维度。 |
|
|
根据指定的索引计算最小值,并返回索引和值。 |
|
|
返回给定Tensor的矩阵范数或向量范数。 |
|
|
默认情况下,使用指定维度的所有元素的乘积代替该维度的其他元素,以移除该维度。 |
|
functional |
Description |
---|---|
mindspore.ops.reduce_sum |
Refer to |
比较函数
接口名 |
概述 |
支持平台 |
Returns True if abs(x-y) is smaller than tolerance element-wise, otherwise False. |
|
|
逐元素比较两个输入Tensor是否相等。 |
|
|
输入两个数据,逐元素比较第一个数据是否大于等于第二个数据。 |
|
|
按元素比较输入参数 \(x,y\) 的值,输出结果为bool值。 |
|
|
判断目标标签是否在前 k 个预测中。 |
|
|
返回一个布尔型Tensor,表示 x1 的每个元素与 x2 的对应元素在给定容忍度内是否“接近”,其中“接近”的数学公式为:。 |
|
|
判断输入数据每个位置上的值是否是有限数。 |
|
|
判断输入数据每个位置上的值是否是Nan。 |
|
|
逐元素计算 \(x <= y\) 的bool值。 |
|
|
Computes the boolean value of \(x < y\) element-wise. |
|
|
逐元素计算两个输入Tensor中的最大值。 |
|
|
Computes the minimum of input tensors element-wise. |
|
|
计算两个Tensor是否不相等。 |
|
|
Checks whether the data type and shape of two tensors are the same. |
|
functional |
Description |
---|---|
mindspore.ops.check_bprop |
Refer to |
mindspore.ops.isinstance_ |
Refer to |
mindspore.ops.issubclass_ |
Refer to |
mindspore.ops.not_equal |
not_equal will be deprecated in the future. Please use mindspore.ops.ne instead. |
mindspore.ops.tensor_ge |
tensor_ge will be deprecated in the future. Please use mindspore.ops.ge instead. |
mindspore.ops.tensor_gt |
tensor_gt will be deprecated in the future. Please use mindspore.ops.gt instead. |
mindspore.ops.tensor_le |
tensor_le will be deprecated in the future. Please use mindspore.ops.le instead. |
mindspore.ops.tensor_lt |
tensor_lt will be deprecated in the future. Please use mindspore.ops.less instead. |
线性代数函数
接口名 |
概述 |
支持平台 |
当输入的两个Tensor是批量数据时,对其进行批量点积操作。 |
|
|
两个Tensor之间的点积。 |
|
|
计算输入一维Tensor x1 与 x2 的外积。 |
|
|
计算两个数组的乘积。 |
|
|
求解线性方程组。 |
|
|
在指定轴上对Tensor a 和 b 进行点乘操作。 |
|
|
沿维度 dim 重新规范输入 input_x 的子张量,并且每个子张量的p范数不超过给定的最大范数 maxnorm 。 |
|
Tensor操作函数
Tensor创建
接口名 |
概述 |
支持平台 |
创建一个主对角线上元素为1,其余元素为0的Tensor。 |
|
|
创建一个指定shape的Tensor,并用指定值填充。 |
|
|
返回一个在区间 start 和 stop (包括 start 和 stop )内均匀分布的,包含 num 个值的1维Tensor。 |
|
|
创建一个值全为1的Tensor。 |
|
|
返回值为1的Tensor,shape和数据类型与输入相同。 |
|
随机生成函数
接口名 |
概述 |
支持平台 |
根据伽马分布产生成随机数。 |
|
|
Generates random numbers according to the Laplace random number distribution. |
|
|
根据伽马分布产生成随机数。 |
|
|
Returns a tensor sampled from the multinomial probability distribution located in the corresponding row of the input tensor. |
|
|
根据正态(高斯)随机数分布生成随机数。 |
|
|
根据泊松随机数分布生成随机数。 |
|
|
生成符合标准Laplace(mean=0, lambda=1)分布的随机数。 |
|
|
根据标准正态(高斯)随机数分布生成随机数。 |
|
|
生成服从均匀分布的随机数。 |
|
|
使用均匀分布对一组类别进行采样。 |
|
Array操作
接口名 |
概述 |
支持平台 |
二维自适应最大池化运算。 |
|
|
用块划分批次维度,并将这些块交错回空间维度。 |
|
|
输入经过sigmoid激活函数后作为预测值,binary_cross_entropy_with_logits 计算预测值和目标值之间的二值交叉熵损失。 |
|
|
将输入shape广播到目标shape。 |
|
|
将一组滑动局部块组合成一个大的张量。 |
|
|
在指定轴上拼接输入Tensor。 |
|
|
用给定的对角线值构造对角线张量。 |
|
|
对输入 input_x 在给定的轴上添加额外维度。 |
|
|
返回输入Tensor在指定 axis 上 input_indices 索引对应的元素组成的切片。 |
|
|
获取指定轴的元素。 |
|
|
获取指定轴的元素。 |
|
|
根据索引获取输入Tensor指定位置上的元素。 |
|
|
将Tensor y 加到Parameter x 的指定 axis 轴的指定 indices 位置。 |
|
|
按 index 中给定的顺序选择索引,将输入 value 值填充到输入Tensor x 的所有 dim 维元素。 |
|
|
将掩码位置为True的位置填充指定的值。 |
|
|
返回一个一维张量,其中的内容是 x 张量中对应于 mask 张量中True位置的值。 |
|
|
将矩阵的每个中心带外的所有位置设置为0。 |
|
|
返回具有新的对角线值的批处理矩阵张量。 |
|
|
返回一个Tensor,其k[0]到k[1]的对角线特定为给定对角线Tensor,其余值均填充为 padding_value 。 |
|
|
返回输入Tensor的对角线部分。 |
|
|
从给定的Tensor生成网格矩阵。 |
|
|
Returns a narrowed tensor from input tensor. |
|
|
计算x中非零元素的下标。 |
|
|
返回一个one-hot类型的Tensor。 |
|
|
计算二进制数中1的个数。 |
|
|
返回从 start 开始,步长为 delta,且不超过 limit (不包括 limit )的序列。 |
|
|
Returns the rank of a tensor. |
|
|
在指定轴上复制输入Tensor的元素,类似 np.repeat 的功能。 |
|
|
基于给定的shape,对输入Tensor进行重新排列。 |
|
|
根据指定的索引将更新值散布到新Tensor上。 |
|
|
根据条件判断Tensor中的元素的值来,决定输出中的相应元素是从 x (如果元素值为True)还是从 y (如果元素值为False)中选择。 |
|
|
返回一个表示每个单元的前N个位置的掩码Tensor。 |
|
|
Returns the shape of the input tensor. |
|
|
返回一个Scalar,类型为整数,表示输入Tensor的大小,即Tensor中元素的总数。 |
|
|
根据指定shape对输入Tensor进行切片。 |
|
|
将空间维度划分为对应大小的块,然后在批次维度重排张量。 |
|
|
计算输出Tensor \(output_i = \frac{\sum_j x_{indices[j]}}{N}\) ,其中平均是对所有满足 \(segment\_ids[j] == i\) 的元素, \(N\) 表示相加的元素个数。 |
|
|
根据指定的轴和分割数量对输入Tensor进行分割。 |
|
|
返回删除指定 axis 中大小为1的维度后的Tensor。 |
|
|
在指定轴上对输入Tensor序列进行堆叠。 |
|
|
根据指定的更新值和输入索引,通过相加运算更新输入Tensor的值。 |
|
|
根据索引,通过相除运算得到输出Tensor的值。 |
|
|
根据索引,通过乘法运算得到输出Tensor的值。 |
|
|
根据指定的更新值和输入索引,通过减法进行运算,将结果赋值到输出Tensor中。 |
|
|
根据索引逐元素更新输入Tensor的值。 |
|
|
按照给定的次数复制输入Tensor。 |
|
|
沿最后一个维度查找 k 个最大元素和对应的索引。 |
|
|
根据指定的排列对输入的Tensor进行数据重排。 |
|
|
对输入Tensor中元素去重,并返回一个索引Tensor,包含输入Tensor中的元素在输出Tensor中的索引。 |
|
|
对输入张量中连续且重复的元素去重。 |
|
|
沿分段计算输入Tensor的最大值。 |
|
|
沿分段计算输入Tensor的最小值。 |
|
|
沿分段计算输入Tensor元素的乘积。 |
|
|
对输入一维张量中元素去重,返回一维张量中的唯一元素(使用pad_num填充)和相对索引。 |
|
|
根据指定轴对输入矩阵进行分解。 |
|
functional |
Description |
---|---|
mindspore.ops.cast |
Refer to |
mindspore.ops.cumprod |
Refer to |
mindspore.ops.cumsum |
Refer to |
mindspore.ops.dtype |
Refer to |
mindspore.ops.sort |
Refer to |
mindspore.ops.strided_slice |
Refer to |
mindspore.ops.tensor_scatter_update |
Refer to |
mindspore.ops.tensor_slice |
tensor_slice will be deprecated in the future. Please use mindspore.ops.slice instead. |
类型转换
接口名 |
概述 |
支持平台 |
Casts the input scalar to another type. |
|
|
将Scalar转换为 Tensor 。 |
|
|
将Scalar转换为指定数据类型的 Tensor 。 |
|
|
将tuple转换为Tensor。 |
|
稀疏函数
接口名 |
概述 |
支持平台 |
将常规Tensor转为稀疏化的COOTensor。 |
|
|
将常规Tensor转为稀疏化的CSRTensor。 |
|
|
将一个CSRTensor转化成一个COOTensor。 |
|
梯度剪裁
接口名 |
概述 |
支持平台 |
通过权重梯度总和的比率来裁剪多个Tensor的值。 |
|
|
将输入Tensor值裁剪到指定的最小值和最大值之间。 |
|
Parameter操作函数
接口名 |
概述 |
支持平台 |
Assigns Parameter with a value. |
|
|
Updates a Parameter by adding a value to it. |
|
|
从网络参数减去特定数值来更新网络参数。 |
|
|
根据指定的更新值和输入索引,进行加法运算更新输入Tensor的值,返回更新后的Tensor。 |
|
|
根据指定更新值和输入索引通过除法运算更新输入数据的值。 |
|
|
根据指定更新值和输入索引通过最大值运算更新输入数据的值。 |
|
|
根据指定更新值和输入索引通过最小值运算更新输入数据的值。 |
|
|
根据指定更新值和输入索引通过乘法运算更新输入数据的值。 |
|
|
使用给定值通过加法运算和输入索引更新Tensor值。 |
|
|
使用给定值通过除法运算和输入索引更新 input_x 的值。 |
|
|
使用给定值通过最大值运算和输入索引更新Parameter值。 |
|
|
使用给定值通过最小值运算和输入索引更新 input_x 的值。 |
|
|
使用给定值通过乘法运算和输入索引更新Parameter值。 |
|
|
使用给定值通过减法运算和输入索引更新Tensor值。 |
|
|
使用给定的更新值和输入索引更新输入Tensor的值。 |
|
微分函数
接口名 |
概述 |
支持平台 |
计算函数或网络输出对输入的高阶微分。 |
|
|
生成求导函数,用于计算给定函数的梯度。 |
|
|
计算函数或网络输出对输入的高阶微分。 |
|
|
Compute the jacobian-vector-product of the given network. |
|
|
生成求导函数,用于计算给定函数的正向计算结果和梯度。 |
|
|
Compute the vector-jacobian-product of the given network. |
|
|
自动向量化(Vectorizing Map,vmap),是一种用于沿参数轴映射函数 fn 的高阶函数。 |
|
调试函数
functional |
Description |
---|---|
mindspore.ops.print_ |
Refer to |
其他函数
functional |
Description |
---|---|
mindspore.ops.bool_and |
Calculate the result of logical AND operation. (Usage is the same as “and” in Python) |
mindspore.ops.bool_eq |
Determine whether the Boolean values are equal. (Usage is the same as “==” in Python) |
mindspore.ops.bool_not |
Calculate the result of logical NOT operation. (Usage is the same as “not” in Python) |
mindspore.ops.bool_or |
Calculate the result of logical OR operation. (Usage is the same as “or” in Python) |
mindspore.ops.depend |
Refer to |
mindspore.ops.in_dict |
Determine if a str in dict. |
mindspore.ops.is_not |
Determine whether the input is not the same as the other one. (Usage is the same as “is not” in Python) |
mindspore.ops.is_ |
Determine whether the input is the same as the other one. (Usage is the same as “is” in Python) |
mindspore.ops.isconstant |
Determine whether the object is constant. |
mindspore.ops.not_in_dict |
Determine whether the object is not in the dict. |
mindspore.ops.partial |
Refer to |
mindspore.ops.scalar_add |
Get the sum of two numbers. (Usage is the same as “+” in Python) |
mindspore.ops.scalar_div |
Get the quotient of dividing the first input number by the second input number. (Usage is the same as “/” in Python) |
mindspore.ops.scalar_eq |
Determine whether two numbers are equal. (Usage is the same as “==” in Python) |
mindspore.ops.scalar_floordiv |
Divide the first input number by the second input number and round down to the closest integer. (Usage is the same as “//” in Python) |
mindspore.ops.scalar_ge |
Determine whether the number is greater than or equal to another number. (Usage is the same as “>=” in Python) |
mindspore.ops.scalar_gt |
Determine whether the number is greater than another number. (Usage is the same as “>” in Python) |
mindspore.ops.scalar_le |
Determine whether the number is less than or equal to another number. (Usage is the same as “<=” in Python) |
mindspore.ops.scalar_log |
Get the natural logarithm of the input number. |
mindspore.ops.scalar_lt |
Determine whether the number is less than another number. (Usage is the same as “<” in Python) |
mindspore.ops.scalar_mod |
Get the remainder of dividing the first input number by the second input number. (Usage is the same as “%” in Python) |
mindspore.ops.scalar_mul |
Get the product of the input two numbers. (Usage is the same as “*” in Python) |
mindspore.ops.scalar_ne |
Determine whether two numbers are not equal. (Usage is the same as “!=” in Python) |
mindspore.ops.scalar_pow |
Compute a number to the power of the second input number. |
mindspore.ops.scalar_sub |
Subtract the second input number from the first input number. (Usage is the same as “-” in Python) |
mindspore.ops.scalar_uadd |
Get the positive value of the input number. |
mindspore.ops.scalar_usub |
Get the negative value of the input number. |
mindspore.ops.shape_mul |
The input of shape_mul must be shape multiply elements in tuple(shape). |
mindspore.ops.stop_gradient |
Disable update during back propagation. (stop_gradient) |
mindspore.ops.string_concat |
Concatenate two strings. |
mindspore.ops.string_eq |
Determine if two strings are equal. |
mindspore.ops.typeof |
Get type of object. |
接口名 |
概述 |
支持平台 |
A decorator that adds a flag to the function. |
|
|
Count number of nonzero elements across axis of input tensor |
|