评价此页

torch.nn 中的别名#

创建于: 2025年7月25日 | 最后更新于: 2025年7月25日

以下是在嵌套命名空间中 torch.nn 的对应项的别名。

torch.nn.modules#

以下是在 torch.nn.modules 命名空间中 torch.nn 的对应项的别名。

容器 (别名)#

container.Sequential

一个顺序容器。

container.ModuleList

以列表形式保存子模块。

container.ModuleDict

以字典形式保存子模块。

container.ParameterList

将参数保存在一个列表中。

container.ParameterDict

以字典形式保存参数。

卷积层 (别名)#

conv.Conv1d

对由多个输入平面组成的输入信号进行1D卷积操作。

conv.Conv2d

在由多个输入平面组成的输入信号上应用二维卷积。

conv.Conv3d

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

conv.ConvTranspose1d

对由多个输入平面组成的输入图像应用 1D 转置卷积运算符。

conv.ConvTranspose2d

对由多个输入平面组成的输入图像应用 2D 转置卷积运算符。

conv.ConvTranspose3d

对由多个输入平面组成的输入图像应用 3D 转置卷积算子。

conv.LazyConv1d

一个带有 in_channels 参数的懒初始化 torch.nn.Conv1d 模块。

conv.LazyConv2d

一个带有 in_channels 参数的懒初始化 torch.nn.Conv2d 模块。

conv.LazyConv3d

一个带有 in_channels 参数的懒初始化 torch.nn.Conv3d 模块。

conv.LazyConvTranspose1d

一个带有 in_channels 参数的懒初始化 torch.nn.ConvTranspose1d 模块。

conv.LazyConvTranspose2d

一个带有 in_channels 参数的懒初始化 torch.nn.ConvTranspose2d 模块。

conv.LazyConvTranspose3d

一个带有 in_channels 参数的懒初始化 torch.nn.ConvTranspose3d 模块。

fold.Unfold

从批处理的输入 Tensor 中提取滑动局部块。

fold.Fold

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

池化层 (别名)#

pooling.MaxPool1d

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

pooling.MaxPool2d

在由多个输入平面组成的输入信号上应用 2D 最大池化。

pooling.MaxPool3d

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

pooling.MaxUnpool1d

计算 MaxPool1d 的部分逆运算。

pooling.MaxUnpool2d

计算 MaxPool2d 的部分逆运算。

pooling.MaxUnpool3d

计算 MaxPool3d 的部分逆运算。

pooling.AvgPool1d

对由多个输入平面组成的输入信号进行1D平均池化操作。

pooling.AvgPool2d

对由多个输入平面组成的输入信号应用 2D 平均池化。

pooling.AvgPool3d

对由多个输入层组成的输入信号应用 3D 平均池化。

pooling.FractionalMaxPool2d

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

pooling.FractionalMaxPool3d

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

pooling.LPPool1d

对由多个输入平面组成的输入信号应用一维 p-范数平均池化。

pooling.LPPool2d

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

pooling.LPPool3d

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

pooling.AdaptiveMaxPool1d

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

pooling.AdaptiveMaxPool2d

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

pooling.AdaptiveMaxPool3d

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

pooling.AdaptiveAvgPool1d

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

pooling.AdaptiveAvgPool2d

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

pooling.AdaptiveAvgPool3d

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

Padding 层 (别名)#

padding.ReflectionPad1d

使用输入边界的反射来填充输入张量。

padding.ReflectionPad2d

使用输入边界的反射来填充输入张量。

padding.ReflectionPad3d

使用输入边界的反射来填充输入张量。

padding.ReplicationPad1d

使用输入边界的复制来填充输入张量。

padding.ReplicationPad2d

使用输入边界的复制来填充输入张量。

padding.ReplicationPad3d

使用输入边界的复制来填充输入张量。

padding.ZeroPad1d

用零填充输入张量边界。

padding.ZeroPad2d

用零填充输入张量边界。

padding.ZeroPad3d

用零填充输入张量边界。

padding.ConstantPad1d

用常数值填充输入张量边界。

padding.ConstantPad2d

用常数值填充输入张量边界。

padding.ConstantPad3d

用常数值填充输入张量边界。

padding.CircularPad1d

使用输入边界的循环填充来填充输入张量。

padding.CircularPad2d

使用输入边界的循环填充来填充输入张量。

padding.CircularPad3d

使用输入边界的循环填充来填充输入张量。

非线性激活函数 (加权和、非线性) (别名)#

activation.ELU

逐元素应用指数线性单元 (ELU) 函数。

activation.Hardshrink

逐元素应用 Hard Shrinkage (Hardshrink) 函数。

activation.Hardsigmoid

逐元素应用 Hardsigmoid 函数。

activation.Hardtanh

逐元素应用 HardTanh 函数。

activation.Hardswish

逐元素应用 Hardswish 函数。

activation.LeakyReLU

逐元素应用 LeakyReLU 函数。

activation.LogSigmoid

逐元素应用 Logsigmoid 函数。

activation.MultiheadAttention

允许模型联合关注来自不同表示子空间的信息。

activation.PReLU

应用逐元素的 PReLU 函数。

activation.ReLU

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

activation.ReLU6

逐元素应用 ReLU6 函数。

activation.RReLU

逐元素应用随机的 Leaky Rectified Linear Unit 函数。

activation.SELU

逐元素应用 SELU 函数。

activation.CELU

逐元素应用 CELU 函数。

activation.GELU

应用高斯误差线性单元函数。

activation.Sigmoid

逐元素应用 Sigmoid 函数。

activation.SiLU

逐元素应用 Sigmoid 线性单元 (SiLU) 函数。

activation.Mish

逐元素应用 Mish 函数。

activation.Softplus

逐元素应用 Softplus 函数。

activation.Softshrink

逐元素应用 soft shrinkage 函数。

activation.Softsign

逐元素应用 Softsign 函数。

activation.Tanh

逐元素应用双曲正切 (Tanh) 函数。

activation.Tanhshrink

逐元素应用 Tanhshrink 函数。

activation.Threshold

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

activation.GLU

应用门控线性单元函数。

非线性激活函数 (其他) (别名)#

activation.Softmin

对 n 维输入 Tensor 应用 Softmin 函数。

activation.Softmax

将 Softmax 函数应用于 n 维输入张量。

activation.Softmax2d

对每个空间位置应用特征上的 SoftMax。

activation.LogSoftmax

对 n 维输入 Tensor 应用 log(Softmax(x))\log(\text{Softmax}(x)) 函数。

adaptive.AdaptiveLogSoftmaxWithLoss

高效的 softmax 近似。

归一化层 (别名)#

batchnorm.BatchNorm1d

对 2D 或 3D 输入应用批归一化。

batchnorm.BatchNorm2d

对 4D 输入应用 Batch Normalization。

batchnorm.BatchNorm3d

对 5D 输入应用批归一化。

batchnorm.LazyBatchNorm1d

一个带有懒初始化的 torch.nn.BatchNorm1d 模块。

batchnorm.LazyBatchNorm2d

一个带有懒初始化的 torch.nn.BatchNorm2d 模块。

batchnorm.LazyBatchNorm3d

一个带有懒初始化的 torch.nn.BatchNorm3d 模块。

normalization.GroupNorm

对输入的小批量应用组归一化。

batchnorm.SyncBatchNorm

对 N 维输入应用批归一化。

instancenorm.InstanceNorm1d

应用实例归一化。

instancenorm.InstanceNorm2d

应用实例归一化。

instancenorm.InstanceNorm3d

应用实例归一化。

instancenorm.LazyInstanceNorm1d

一个带有 num_features 参数懒初始化的 torch.nn.InstanceNorm1d 模块。

instancenorm.LazyInstanceNorm2d

一个带有 num_features 参数懒初始化的 torch.nn.InstanceNorm2d 模块。

instancenorm.LazyInstanceNorm3d

一个带有 num_features 参数懒初始化的 torch.nn.InstanceNorm3d 模块。

normalization.LayerNorm

对输入 mini-batch 应用层归一化。

normalization.LocalResponseNorm

对输入信号应用局部响应归一化。

normalization.RMSNorm

对输入的小批量应用均方根层归一化。

循环层 (别名)#

rnn.RNNBase

RNN 模块(RNN、LSTM、GRU)的基类。

rnn.RNN

对输入序列应用多层 Elman RNN,使用 tanh\tanhReLU\text{ReLU} 非线性。

rnn.LSTM

对输入序列应用多层长短期记忆 (LSTM) RNN。

rnn.GRU

对输入序列应用多层门控循环单元 (GRU) RNN。

rnn.RNNCell

一个具有 tanh 或 ReLU 非线性的 Elman RNN 单元。

rnn.LSTMCell

一个长短期记忆 (LSTM) 单元。

rnn.GRUCell

一个门控循环单元 (GRU) 单元。

Transformer 层 (别名)#

transformer.Transformer

一个基本的 Transformer 层。

transformer.TransformerEncoder

TransformerEncoder 是 N 个编码器层的堆栈。

transformer.TransformerDecoder

TransformerDecoder 是 N 个解码器层的堆栈。

transformer.TransformerEncoderLayer

TransformerEncoderLayer 由自注意力机制和前馈网络组成。

transformer.TransformerDecoderLayer

TransformerDecoderLayer 由自注意力、多头注意力和前馈网络组成。

线性层 (别名)#

linear.Identity

一个占位符身份算子,对参数不敏感。

linear.Linear

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

linear.Bilinear

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

linear.LazyLinear

一个 torch.nn.Linear 模块,其中 in_features 会被推断。

Dropout 层 (别名)#

dropout.Dropout

在训练期间,以概率 p 随机将输入张量中的一些元素归零。

dropout.Dropout1d

随机将整个通道置零。

dropout.Dropout2d

随机将整个通道置零。

dropout.Dropout3d

随机将整个通道置零。

dropout.AlphaDropout

对输入应用 Alpha Dropout。

dropout.FeatureAlphaDropout

随机屏蔽整个通道。

稀疏层 (别名)#

sparse.Embedding

一个简单的查找表,存储固定词汇表和大小的嵌入。

sparse.EmbeddingBag

计算嵌入“包”的和或平均值,无需实例化中间嵌入。

距离函数 (别名)#

distance.CosineSimilarity

沿 dim 计算 x1x_1x2x_2 之间的余弦相似度。

distance.PairwiseDistance

计算输入向量之间的成对距离,或输入矩阵列之间的成对距离。

损失函数 (别名)#

loss.L1Loss

创建一个标准,用于衡量输入 xx 和目标 yy 之间每个元素的平均绝对误差 (MAE)。

loss.MSELoss

创建一个标准,用于衡量输入 xx 和目标 yy 之间每个元素的平均平方误差(平方 L2 范数)。

loss.CrossEntropyLoss

此准则计算输入 logits 和 target 之间的交叉熵损失。

loss.CTCLoss

连接主义时间分类损失。

loss.NLLLoss

负对数似然损失。

loss.PoissonNLLLoss

目标为泊松分布时的负对数似然损失。

loss.GaussianNLLLoss

高斯负对数似然损失。

loss.KLDivLoss

Kullback-Leibler 散度损失。

loss.BCELoss

创建一个准则,用于衡量目标值与输入概率之间的二元交叉熵。

loss.BCEWithLogitsLoss

此损失将 Sigmoid 层和 BCELoss 结合在一个类中。

loss.MarginRankingLoss

创建了一个标准,用于衡量输入 x1x1x2x2(两个一维 mini-batch 或 0D Tensor)和一个标签一维 mini-batch 或 0D Tensor yy(包含 1 或 -1)之间的损失。

loss.HingeEmbeddingLoss

衡量输入张量 xx 和标签张量 yy(包含 1 或 -1)之间的损失。

loss.MultiLabelMarginLoss

创建一个标准,用于优化输入 xx(一个二维 mini-batch Tensor)和输出 yy(目标类别索引的二维 Tensor)之间的多类多分类合页损失(基于边距的损失)。

loss.HuberLoss

创建一个标准,当元素级绝对误差小于 delta 时使用平方项,否则使用 delta 缩放的 L1 项。

loss.SmoothL1Loss

创建一个标准,当元素级绝对误差小于 beta 时使用平方项,否则使用 L1 项。

loss.SoftMarginLoss

创建一个标准,用于优化输入 Tensor xx 和目标 Tensor yy(包含 1 或 -1)之间的二分类逻辑损失。

loss.MultiLabelSoftMarginLoss

创建一个标准,用于优化输入 xx 和大小为 (N,C)(N, C) 的目标 yy 之间的基于最大熵的多标签 one-versus-all 损失。

loss.CosineEmbeddingLoss

创建一个标准,用于衡量输入张量 x1x_1x2x_2 和值为 1 或 -1 的标签 Tensor yy 之间的损失。

loss.MultiMarginLoss

创建一个标准,用于优化输入 xx(一个二维 mini-batch Tensor)和输出 yy(目标类别索引的一维张量,0yx.size(1)10 \leq y \leq \text{x.size}(1)-1)之间的多类合页损失(基于边距的损失)。

loss.TripletMarginLoss

创建一个标准,用于衡量输入张量 x1x1x2x2x3x3 和一个大于 00 的边距之间的三元组损失。

loss.TripletMarginWithDistanceLoss

创建一个标准,用于衡量输入张量 aa(锚点)、pp(正例)和 nn(负例)以及用于计算锚点与正例之间关系(“正距离”)和锚点与负例之间关系(“负距离”)的非负实值函数(“距离函数”)之间的三元组损失。

视觉层 (别名)#

pixelshuffle.PixelShuffle

根据上采样因子重新排列张量中的元素。

pixelshuffle.PixelUnshuffle

PixelShuffle 操作的逆操作。

upsampling.Upsample

对给定的多通道一维(时间)、二维(空间)或三维(体积)数据进行上采样。

upsampling.UpsamplingNearest2d

对由多个输入通道组成的输入信号应用 2D 最近邻上采样。

upsampling.UpsamplingBilinear2d

对由多个输入通道组成的输入信号应用 2D 双线性上采样。

Shuffle 层 (别名)#

channelshuffle.ChannelShuffle

分割并重新排列张量中的通道。

torch.nn.utils#

以下是在嵌套命名空间中 torch.nn.utils 的对应项的别名。

用于裁剪参数梯度的实用函数。

clip_grad.clip_grad_norm_

对可迭代参数的梯度范数进行裁剪。

clip_grad.clip_grad_norm

对可迭代参数的梯度范数进行裁剪。

clip_grad.clip_grad_value_

将参数可迭代对象中的梯度裁剪到指定值。

用于将 Module 参数展平成单个向量以及从单个向量展开 Module 参数的实用函数。

convert_parameters.parameters_to_vector

将参数可迭代对象展平成单个向量。

convert_parameters.vector_to_parameters

将一个向量的切片复制到参数的可迭代对象中。

用于融合 Module 和 BatchNorm Module 的实用函数。

fusion.fuse_conv_bn_eval

将卷积模块和 BatchNorm 模块融合为一个新的卷积模块。

fusion.fuse_conv_bn_weights

将卷积模块参数和 BatchNorm 模块参数融合到新的卷积模块参数中。

fusion.fuse_linear_bn_eval

将线性模块和 BatchNorm 模块融合为一个新的线性模块。

fusion.fuse_linear_bn_weights

将线性模块参数和 BatchNorm 模块参数融合为新的线性模块参数。

用于转换 Module 参数内存格式的实用函数。

memory_format.convert_conv2d_weight_memory_format

nn.Conv2d.weightmemory_format 转换为指定的 memory_format

memory_format.convert_conv3d_weight_memory_format

nn.Conv3d.weightmemory_format 转换为 memory_format。转换会递归地应用于嵌套的 nn.Module,包括 module

用于对 Module 参数应用和移除权重归一化的实用函数。

weight_norm.weight_norm

对给定模块中的参数应用权重归一化。

weight_norm.remove_weight_norm

从模块中移除权重归一化重参数化。

spectral_norm.spectral_norm

对给定模块中的参数应用谱归一化。

spectral_norm.remove_spectral_norm

从模块中移除谱归一化重参数化。

用于初始化 Module 参数的实用函数。

init.skip_init

给定一个模块类对象和参数/关键字参数,在不初始化参数/缓冲区的情况下实例化模块。