函数式(Functional)

tensor 子模块

创建张量

zeros

根据给定形状返回元素全为 0 的 Tensor

zeros_like

返回一个和参数同维度,且数值全为 0 的 Tensor

ones

返回一个具有给定形状的全1张量。

ones_like

返回一个与输入张量形状相同的全1张量

full

返回一个给定形状和值的张量

full_like

返回一个与输入张量形状相同的且值为给定值的零张量

arange

返回一个数值从 startstop ,相邻间隔为 step 的张量。

linspace

返回指定间隔的等距数列。

eye

返回一个二维张量,其对角线上值均为1,其他位置值为0。

处理张量

copy

把张量复制到另一个设备上。

broadcast_to

将张量广播至指定的形状。

concat

拼接一些张量

stack

沿新轴对张量进行拼接。

split

将输入张量拆分成更小的张量。

gather

使用 indexaxis 上的 inp 聚合数据。

scatter

把张量 source 中所有的值通过 index 张量指定的索引位置上写入到输入张量中。

where

根据mask选出张量x或张量y中的元素。

cond_take

如果在满足特定条件,则从数据中获取元素。

transpose

根据给定模板交换形状和步长(stride)。

reshape

将一个张量重塑为给定的目标形状;逻辑元素的总数必须保持不变

flatten

通过将子张量从 start_axis 维展平到 end_axis 维,实现对张量的重塑(reshape)。

repeat

重复数组的元素。

tile

通过重复 inp 数据 reps 次来构造一个数组。

expand_dims

在给定的axis前添加维度。

squeeze

删除形状(shape)中下标为1的维度。

elemwise 子模块

基本运算

add

逐元素相加。

sub

逐元素相减。

mul

逐元素相乘。

div

逐元素相除。

floor_div

逐元素相除并下取整。

neg

逐元素取相反数。

pow

逐元素进行指数运算。

mod

返回逐元素相除所得的余数。

abs

逐元素取绝对值。

exp

逐元素计算 ex 次方。

expm1

逐元素计算expm1函数。

log

逐元素计算以 e 为底的对数。

log1p

逐元素计算 (x+1)e 为底的对数。

sqrt

逐元素取平方根。

square

返回一个包含输入张量中各元素平方的新的张量

round

逐元素四舍五入到整数。

ceil

逐元素上取整。

floor

逐元素计算下取整函数。

maximum

逐元素的最大数组元素。

minimum

逐元素的最小数组元素。

clip

把每个元素的值限定在范围 [ lower, upper ] 然后返回该张量:

三角运算

cos

逐元素计算余弦函数。

sin

逐元素计算正弦函数。

tan

逐元素计算正切函数。

acos

逐元素计算反余弦函数。

asin

逐元素计算反正弦函数。

atan

逐元素计算反正切函数。

atan2

逐元素计算两个参数的反正切函数。

cosh

逐元素计算双曲余弦函数。

sinh

逐元素计算双曲正弦函数。

tanh

逐元素计算双曲正切值。

acosh

逐元素计算反双曲余弦函数。

asinh

逐元素计算反双曲正弦函数。

atanh

逐元素计算反双曲正切函数。

位运算

left_shift

逐元素计算 x << y。

right_shift

逐元素计算 x >> y。

逻辑运算

logical_and

逐元素进行逻辑与运算。

logical_not

逐元素进行逻辑非运算。

logical_or

逐元素进行逻辑或运算。

logical_xor

逐元素进行逻辑异或运算。

比较运算

equal

逐元素判断是否相等。

not_equal

逐元素计算 x 不等于 y。

less

逐元素的计算 x 小于 y。

less_equal

逐元素计算 x 小于或等于 y。

greater

逐元素计算 x 大于 y。

greater_equal

逐元素判断 x 大于或者等于 y。

math 子模块

归约计算

sum

返回输入张量在给定轴上所有元素求和后的结果。

prod

返回输入张量在给定轴上所有元素求乘积后的结果。

mean

返回输入张量在给定轴上所有元素求平均后的结果。

min

返回输入张量在给定轴上所有元素求最小值后的结果。

max

返回输入张量在给定轴上所有元素求最大值后的结果。

argmin

返回沿给定轴的最小值的索引。

argmax

返回沿给定轴的最大值的索引。

线性代数

dot

计算两个向量 inp1inp2 的点积。

matinv

计算一批矩阵的逆;输入必须满足 […,n,n] 的形状。

matmul

对矩阵 inp1inp2 进行矩阵乘法。

svd

对输入矩阵 inp 进行奇异值分解。

概率统计

var

返回输入张量在给定轴上所有元素求方差后的结果。

std

返回输入张量在给定轴上所有元素求标准差后的结果。

norm

计算在给定轴 axisinp 张量每一行的 p-范数。

normalize

返回在给定轴 axisinp 张量每一行进行 \(L_p\) 归一化后的结果。

条件计算

isnan

返回一个新的张量,该张量表明每个元素是否为非数值类型(NaN)。

isinf

返回一个张量,它表示每个元素是否是无穷大值(Inf)。

sign

返回一个新的张量,该张量表明每个元素的符号。

sort

返回一个与输入张量形状相同的全1张量。

argsort

返回一个与输入张量形状相同的全1张量。

topk

按行排序,选出二维矩阵中 Top-K (默认情况下)个最小元素。

nn 子模块

nn.nvof

NVIDIA光流SDK的实现

卷积函数

conv1d

一维卷积运算。

conv2d

二维卷积运算。

conv3d

三维卷积运算。

local_conv2d

使用untied kernels对图像进行二维空域卷积。

conv_transpose2d

二维转置卷积运算。

deformable_conv2d

可变形卷积

池化函数

avg_pool2d

对输入进行二维平均池化。

max_pool2d

对输入张量进行二维最大池化。

adaptive_avg_pool2d

对输入进行二维平均池化。

adaptive_max_pool2d

对输入数据进行2D最大池化。

deformable_psroi_pooling

可变形的位置敏感的感兴趣区域池化

非线性激活函数

sigmoid

逐元素计算 1 / ( 1 + exp( -x ) ) 的值,并返回。

hsigmoid

逐元素计算 relu6(x + 3) / 6.

hswish

逐元素计算 x * relu6(x + 3) / 6.

relu

逐元素计算 max(x, 0).

relu6

逐元素计算 min(max(x, 0), 6).

prelu

逐元素计算 PReLU.

leaky_relu

逐元素计算 Leaky_ReLU.

softplus

逐元素应用函数:

softmax

逐元素计算 \(\text{softmax}(x)\) :

logsoftmax

\(\log(\text{softmax}(x))\) 函数应用于 n 维输入张量。

logsigmoid

逐元素应用函数:

logsumexp

计算输入数据沿给定维度 axis 的指数之和的对数。该计算是数值稳定的。

归一化函数

batch_norm

对输入进行批标准化。

sync_batch_norm

对输入进同步批标准化。

线性函数

linear

对输入张量进行线性变换。

随机失活函数

dropout

返回一个新的张量,其中每个元素以 P = ``drop_prob’’ 的概率随机设置为零。

稀疏函数

one_hot

对输入张量进行 one-hot 编码。

indexing_one_hot

对一些轴进行One-hot索引。

embedding

应用查找表进行 embedding。

loss 子模块

l1_loss

计算预测值 \(x\) 和标签值 \(y\) 的每个元素之间的平均绝对误差(MAE)。

square_loss

计算预测值 \(x\) 和标签值 \(y\) 之间的均方误差(平方L2范数)。

hinge_loss

计算支持向量机 SVM 中经常使用的 hinge loss。

binary_cross_entropy

计算 binary cross entropy loss(默认使用 logits)。

cross_entropy

计算 multi-class cross entropy loss(默认使用 logits)。

metric 子模块

topk_accuracy

根据给定的预测的logits和真实值标签计算分类准确率。

distributed 子模块

all_reduce_max

创建用于聚合通信的 all_reduce_max 算子。

all_reduce_min

创建用于聚合通信的 all_reduce_min 算子。

all_reduce_sum

创建用于聚合通信的 all_reduce_sum 算子。

broadcast

创建用于聚合通信的广播算子。

remote_send

发送一个张量到远端进程。

remote_recv

从远端进程接收一个张量。

all_gather

创建用于聚合通信的 all_gather 算子。

all_to_all

创建用于聚合通信 all_to_all 算子。

reduce_sum

创建用于聚合通信的 reduce_sum 算子

gather

创建用于聚合通信的 gather 算子。

scatter

创建用于聚合通信的 scatter 算子。

reduce_scatter_sum

创建用于聚合通信的 reduce_scatter_sum 算子

vision 模块

cvt_color

将图像从一种格式转化成另一种格式。

interpolate

根据给定的大小或缩放因子将输入张量进行上/下采样。

remap

对按批组织的二维图像进行重映射变换。

warp_affine

对按批处置的二维图像进行仿射变换。

warp_perspective

对按批组织的二维图像进行透视变换。

roi_pooling

对输入进行 roi pooling。

roi_align

对输入进行 roi align。

nms

根据小方框的 IoU 值进行 非最大值抑制(NMS)。