目录

torch.nn.functional

卷积函数

conv1d

对由多个输入平面组成的一维输入信号应用卷积。

conv2d

对由多个输入平面组成的一幅输入图像应用二维卷积。

conv3d

对由多个输入平面组成的一幅输入图像应用三维卷积。

conv_transpose1d

对由多个输入平面组成的一维输入信号应用转置卷积算子,有时也称为“反卷积”。

conv_transpose2d

对由多个输入平面组成的一幅输入图像应用二维转置卷积算子,有时也称为“反卷积”。

conv_transpose3d

对由多个输入平面组成的一幅输入图像应用三维转置卷积运算符,有时也称为“反卷积”。

unfold

从批量输入张量中提取滑动局部块。

fold

将一组滑动局部块组合成一个大的包含张量。

池化函数

avg_pool1d

对由多个输入平面组成的一维输入信号应用平均池化操作。

avg_pool2d

kH×kWkH \times kW个区域中应用步长为sH×sWsH \times sW的二维平均池化操作。

avg_pool3d

kT×kH×kWkT \times kH \times kW个区域中应用3D平均池化操作,步长为sT×sH×sWsT \times sH \times sW

max_pool1d

对由多个输入平面组成的一维输入信号应用最大池化操作。

max_pool2d

对由多个输入平面组成的一维输入信号应用二维最大池化。

max_pool3d

对由多个输入平面组成的空间信号应用三维最大池化操作。

max_unpool1d

计算MaxPool1d的部分逆。

max_unpool2d

计算MaxPool2d的部分逆。

max_unpool3d

计算MaxPool3d的部分逆。

lp_pool1d

对由多个输入平面组成的一维输入信号应用幂平均池化操作。

lp_pool2d

对由多个输入平面组成的输入信号应用二维幂平均池化。

adaptive_max_pool1d

对由多个输入平面组成的一维输入信号应用自适应最大池化。

adaptive_max_pool2d

对由多个输入平面组成的空间信号应用二维自适应最大池化。

adaptive_max_pool3d

对由多个输入平面组成的空间信号应用三维自适应最大池化。

adaptive_avg_pool1d

对由多个输入平面组成的一维输入信号应用自适应平均池化操作。

adaptive_avg_pool2d

对由多个输入平面组成的一维输入信号应用二维自适应平均池化。

adaptive_avg_pool3d

对由多个输入平面组成的空间信号应用三维自适应平均池化。

fractional_max_pool2d

在输入信号的多个输入平面之上应用二维分数最大池化。

fractional_max_pool3d

对由多个输入平面组成的输入信号应用三维分数最大池化。

非线性激活函数

threshold

对输入张量的每个元素进行阈值处理。

threshold_

就地版本的threshold()

relu

对元素应用整流线性单元函数。

relu_

就地版本的relu()

hardtanh

对元素进行逐个应用 HardTanh 函数。

hardtanh_

就地版本的hardtanh()

hardswish

逐元素应用 hardswish 函数,如论文中所述:

relu6

应用逐元素函数 ReLU6(x)=min(max(0,x),6)\text{ReLU6}(x) = \min(\max(0,x), 6)

elu

逐元素应用指数线性单元(ELU,Exponential Linear Unit)函数。

elu_

就地版本的elu()

selu

逐元素应用,SELU(x)=scale(max(0,x)+min(0,α(exp(x)1)))\text{SELU}(x) = scale * (\max(0,x) + \min(0, \alpha * (\exp(x) - 1))),与α=1.6732632423543772848170429916717\alpha=1.6732632423543772848170429916717scale=1.0507009873554804934193349852946scale=1.0507009873554804934193349852946

celu

逐元素应用,CELU(x)=max(0,x)+min(0,α(exp(x/α)1))\text{CELU}(x) = \max(0,x) + \min(0, \alpha * (\exp(x/\alpha) - 1))

leaky_relu

逐元素应用,LeakyReLU(x)=max(0,x)+negative_slopemin(0,x)\text{LeakyReLU}(x) = \max(0, x) + \text{negative\_slope} * \min(0, x)

leaky_relu_

就地版本的leaky_relu()

prelu

对元素应用函数PReLU(x)=max(0,x)+weightmin(0,x)\text{PReLU}(x) = \max(0,x) + \text{weight} * \min(0,x),其中权重是一个可学习的参数。

rrelu

随机泄露修正线性单元。

rrelu_

就地版本的rrelu()

glu

门控线性单元。

gelu

当近似参数为'none'时,它对元素应用函数 GELU(x)=xΦ(x)\text{GELU}(x) = x * \Phi(x)

logsigmoid

应用元素级 LogSigmoid(xi)=log(11+exp(xi))\text{LogSigmoid}(x_i) = \log \left(\frac{1}{1 + \exp(-x_i)}\right)

hardshrink

对元素进行逐点硬收缩函数运算

tanhshrink

逐元素应用,Tanhshrink(x)=xTanh(x)\text{Tanhshrink}(x) = x - \text{Tanh}(x)

softsign

逐元素应用函数 SoftSign(x)=x1+x\text{SoftSign}(x) = \frac{x}{1 + |x|}

softplus

逐元素应用函数 Softplus(x)=1βlog(1+exp(βx))\text{Softplus}(x) = \frac{1}{\beta} * \log(1 + \exp(\beta * x))

softmin

应用一个 Softmin 函数。

softmax

应用一个 softmax 函数。

softshrink

对元素应用逐点软收缩函数

gumbel_softmax

来自Gumbel-Softmax分布的样本 (链接1 链接2) 并且可选地进行离散化。

log_softmax

应用一个 softmax,然后应用对数运算。

tanh

逐元素应用,Tanh(x)=tanh(x)=exp(x)exp(x)exp(x)+exp(x)\text{Tanh}(x) = \tanh(x) = \frac{\exp(x) - \exp(-x)}{\exp(x) + \exp(-x)}

sigmoid

应用逐元素函数 Sigmoid(x)=11+exp(x)\text{Sigmoid}(x) = \frac{1}{1 + \exp(-x)}

hardsigmoid

对每个元素应用相应的函数

silu

对元素应用 sigmoid 线性单元(SiLU)函数。

mish

对元素应用Mish函数。

batch_norm

对一批数据中的每个通道应用批量归一化。

group_norm

对最后若干个维度应用组归一化。

instance_norm

对批次中每个数据样本的每个通道应用实例归一化。

layer_norm

对最后若干个维度应用层归一化。

local_response_norm

对由多个输入平面组成的输入信号应用局部响应归一化,其中通道占据第二个维度。

normalize

对指定维度的输入执行 LpL_p 归一化。

线性函数

linear

对输入数据应用线性变换:y=xAT+by = xA^T + b

bilinear

对输入数据应用双线性变换:y=x1TAx2+by = x_1^T A x_2 + b

Dropout函数

dropout

在训练过程中,使用伯努利分布的样本,以概率 p 随机将输入张量的某些元素设为零。

alpha_dropout

对输入应用 alpha dropout。

feature_alpha_dropout

随机屏蔽整个通道(一个通道即一个特征图,例如

dropout1d

随机零化输入张量的整个通道(一个通道是一个1D特征图,例如,批次输入中第ii个样本的第jj个通道是一个1D张量input[i,j]\text{input}[i, j])。

dropout2d

随机零化整个通道(一个通道是一个2D特征图,例如,批次输入中第ii个样本的第jj个通道是一个2D张量input[i,j]\text{input}[i, j])的输入张量。

dropout3d

随机零化整个通道(一个通道是一个3D特征图,例如,批处理输入中第ii个样本的第jj个通道是一个3D张量input[i,j]\text{input}[i, j])。

稀疏函数

embedding

一个简单的查找表,它在固定字典和大小中查找嵌入。

embedding_bag

计算嵌入的和、平均值或最大值,bags 无需实例化中间嵌入。

one_hot

接受形状为(*)的LongTensor索引值,并返回一个形状为(*, num_classes)的张量,在最后一维的索引与输入张量对应的值匹配的位置为1,其他位置为0。

距离函数

pairwise_distance

参见 torch.nn.PairwiseDistance 详情

cosine_similarity

返回x1x2之间的余弦相似度,沿dim计算。

pdist

计算输入中每对行向量之间的 p-范数距离。

损失函数

binary_cross_entropy

衡量目标和输入概率之间二元交叉熵的函数。

binary_cross_entropy_with_logits

衡量目标与输入logits之间二元交叉熵的函数。

poisson_nll_loss

泊松负对数似然损失。

cosine_embedding_loss

参见 CosineEmbeddingLoss 了解详情。

cross_entropy

此准则计算输入对数几率与目标之间的交叉熵损失。

ctc_loss

连接主义时序分类损失。

gaussian_nll_loss

高斯负对数似然损失。

hinge_embedding_loss

参见 HingeEmbeddingLoss 了解详情。

kl_div

The Kullback-Leibler散度损失

l1_loss

计算元素级绝对值差的平均值的函数。

mse_loss

逐元素测量均方误差。

margin_ranking_loss

参见 MarginRankingLoss 了解详情。

multilabel_margin_loss

参见 MultiLabelMarginLoss 了解详情。

multilabel_soft_margin_loss

参见 MultiLabelSoftMarginLoss 了解详情。

multi_margin_loss

参见 MultiMarginLoss 了解详情。

nll_loss

对数似然损失的负值。

huber_loss

如果绝对逐元素误差低于 delta,则使用平方项的函数;否则使用按 delta 缩放的 L1 项。

smooth_l1_loss

如果逐元素绝对误差低于 beta,则使用平方项的函数;否则使用 L1 项。

soft_margin_loss

参见 SoftMarginLoss 了解详情。

triplet_margin_loss

参见 TripletMarginLoss 详情

triplet_margin_with_distance_loss

参见 TripletMarginWithDistanceLoss 了解详情。

视觉功能

pixel_shuffle

重新排列形状为 (,C×r2,H,W)(*, C \times r^2, H, W) 的张量元素为形状为 (,C,H×r,W×r)(*, C, H \times r, W \times r) 的张量,其中 r 是 upscale_factor

pixel_unshuffle

将形状为(,C,H×r,W×r)(*, C, H \times r, W \times r)的张量中的元素重新排列为形状为(,C×r2,H,W)(*, C \times r^2, H, W)的张量,从而逆转PixelShuffle操作,其中r是downscale_factor

pad

填充张量。

interpolate

将输入下采样或上采样到给定的 size 或给定的 scale_factor

upsample

将输入上采样到给定的 size 或给定的 scale_factor

upsample_nearest

使用最近邻像素值对输入进行上采样。

upsample_bilinear

使用双线性上采样对输入进行上采样。

grid_sample

给定一个 input 和一个流场 grid,使用 input 值和来自 grid 的像素位置计算 output

affine_grid

给定一批仿射矩阵 theta,生成一个二维或三维流场(采样网格)。

数据并行函数(多GPU、分布式)

data_parallel

torch.nn.parallel.data_parallel

在给定的 device_ids 中的 GPU 上并行计算 module(input)。

文档

访问 PyTorch 的全面开发人员文档

查看文档

教程

获取面向初学者和高级开发人员的深入教程

查看教程

资源

查找开发资源并解答您的问题

查看资源