torch.nn¶
这些是图表的构建基块
torch.nn
| 一种张量,它被认为是模块参数。 | |
| 未初始化的参数。 | |
| 未初始化的缓冲区。 | 
容器¶
| 所有神经网络模块的基础类。 | |
| 顺序容器。 | |
| 将子模块保存在列表中。 | |
| 将子模块保存在字典中。 | |
| 将参数保存在列表中。 | |
| 将参数保存在字典中。 | 
模块的全局挂钩
| 为所有模块注册一个前向预挂钩。 | |
| 为所有模块注册一个全局前向挂钩。 | |
| 为所有模块注册一个反向挂钩。 | |
| 为所有模块注册一个反向预挂钩。 | |
| 为所有模块注册一个反向挂钩。 | |
| 为所有模块注册一个缓冲区注册挂钩。 | |
| 为所有模块注册一个模块注册挂钩。 | |
| 为所有模块注册一个参数注册挂钩。 | 
卷积层¶
| 对由多个输入平面组成的输入信号应用 1D 卷积。 | |
| 对由多个输入平面组成的输入信号应用 2D 卷积。 | |
| 对由多个输入平面组成的输入信号应用 3D 卷积。 | |
| 对由多个输入平面组成的输入图像应用 1D 转置卷积算子。 | |
| 对由多个输入平面组成的输入图像应用 2D 转置卷积算子。 | |
| 对由多个输入平面组成的输入图像应用 3D 转置卷积算子。 | |
| 一个  | |
| 一个  | |
| 一个  | |
| 一个  | |
| 一个  | |
| 一个  | |
| 从批处理输入张量中提取滑动局部块。 | |
| 将滑动局部块数组合并到一个包含的大张量中。 | 
池化层¶
| 对由多个输入平面组成的输入信号应用 1D 最大池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 最大池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 最大池化。 | |
| 计算  | |
| 计算  | |
| 计算  | |
| 对由多个输入平面组成的输入信号应用 1D 平均池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 平均池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 平均池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 分数最大池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 分数最大池化。 | |
| 对由多个输入平面组成的输入信号应用 1D 幂平均池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 幂平均池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 幂平均池化。 | |
| 对由多个输入平面组成的输入信号应用 1D 自适应最大池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 自适应最大池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 自适应最大池化。 | |
| 对由多个输入平面组成的输入信号应用 1D 自适应平均池化。 | |
| 对由多个输入平面组成的输入信号应用 2D 自适应平均池化。 | |
| 对由多个输入平面组成的输入信号应用 3D 自适应平均池化。 | 
填充层¶
| 使用输入边界的反射填充输入张量。 | |
| 使用输入边界的反射填充输入张量。 | |
| 使用输入边界的反射填充输入张量。 | |
| 使用输入边界的复制填充输入张量。 | |
| 使用输入边界的复制填充输入张量。 | |
| 使用输入边界的复制填充输入张量。 | |
| 使用零填充输入张量边界。 | |
| 使用零填充输入张量边界。 | |
| 使用零填充输入张量边界。 | |
| 使用常量值填充输入张量边界。 | |
| 使用常量值填充输入张量边界。 | |
| 使用常量值填充输入张量边界。 | |
| 使用输入边界的循环填充填充输入张量。 | |
| 使用输入边界的循环填充填充输入张量。 | |
| 使用输入边界的循环填充填充输入张量。 | 
非线性激活(加权和,非线性)¶
| 逐个元素应用指数线性单元 (ELU) 函数。 | |
| 逐个元素应用硬收缩 (Hardshrink) 函数。 | |
| 逐个元素应用硬 Sigmoid 函数。 | |
| 逐个元素应用硬双曲正切函数。 | |
| 逐元素应用 Hardswish 函数。 | |
| 逐元素应用 LeakyReLU 函数。 | |
| 逐元素应用 Logsigmoid 函数。 | |
| 允许模型联合关注来自不同表示子空间的信息。 | |
| 应用逐元素 PReLU 函数。 | |
| 逐元素应用修正线性单元函数。 | |
| 逐元素应用 ReLU6 函数。 | |
| 逐元素应用随机修正线性修正线性单元函数。 | |
| 逐元素应用 SELU 函数。 | |
| 逐元素应用 CELU 函数。 | |
| 应用高斯误差线性单元函数。 | |
| 逐元素应用 Sigmoid 函数。 | |
| 逐元素应用 Sigmoid 线性单元 (SiLU) 函数。 | |
| 逐元素应用 Mish 函数。 | |
| 逐元素应用 Softplus 函数。 | |
| 逐元素应用软收缩函数。 | |
| 逐元素应用 Softsign 函数。 | |
| 逐元素应用双曲正切 (Tanh) 函数。 | |
| 逐元素应用 Tanhshrink 函数。 | |
| 对输入张量的每个元素进行阈值处理。 | |
| 应用门控线性单元函数。 | 
非线性激活(其他)¶
| 对 n 维输入张量应用 Softmin 函数。 | |
| 对 n 维输入张量应用 Softmax 函数。 | |
| 对每个空间位置的特征应用 SoftMax。 | |
| 对 n 维输入张量应用 函数。 | |
| 高效的 softmax 近似。 | 
归一化层¶
| 对 2D 或 3D 输入应用批归一化。 | |
| 对 4D 输入应用批归一化。 | |
| 对 5D 输入应用批归一化。 | |
| 具有延迟初始化的  | |
| 具有延迟初始化的  | |
| 具有延迟初始化的  | |
| 对小批量输入应用组归一化。 | |
| 对 N 维输入应用批归一化。 | |
| 应用实例归一化。 | |
| 应用实例归一化。 | |
| 应用实例归一化。 | |
| 具有  | |
| 具有  | |
| 具有  | |
| 对小批量输入应用层归一化。 | |
| 对输入信号应用局部响应归一化。 | 
循环层¶
| RNN 模块(RNN、LSTM、GRU)的基类。 | |
| 将多层 Elman RNN 应用于输入序列,具有 或 非线性。 | |
| 将多层长短期记忆 (LSTM) RNN 应用于输入序列。 | |
| 将多层门控循环单元 (GRU) RNN 应用于输入序列。 | |
| 具有 tanh 或 ReLU 非线性的 Elman RNN 单元。 | |
| 长短期记忆 (LSTM) 单元。 | |
| 门控循环单元 (GRU) 单元。 | 
Transformer 层¶
| Transformer 模型。 | |
| TransformerEncoder 是 N 个编码器层的堆栈。 | |
| TransformerDecoder 是 N 个解码器层的堆栈。 | |
| TransformerEncoderLayer 由自注意力和前馈网络组成。 | |
| TransformerDecoderLayer 由自注意力、多头注意力和前馈网络组成。 | 
线性层¶
| 一个占位符标识符运算符,与参数无关。 | |
| 对输入数据应用线性变换:. | |
| 对输入数据应用双线性变换:. | |
| 一个  | 
Dropout 层¶
| 在训练期间,使用概率  | |
| 随机将整个通道归零。 | |
| 随机将整个通道归零。 | |
| 随机将整个通道归零。 | |
| 对输入应用 Alpha Dropout。 | |
| 随机屏蔽整个通道。 | 
损失函数¶
| 创建一个准则,用于测量输入 中的每个元素和目标 之间的平均绝对误差 (MAE)。 | |
| 创建一种准则,测量输入 和目标 中每个元素之间的均方误差(平方 L2 范数)。 | |
| 此准则计算输入 logits 和目标之间的交叉熵损失。 | |
| 连接主义时序分类损失。 | |
| 负对数似然损失。 | |
| 目标的泊松分布的负对数似然损失。 | |
| 高斯负对数似然损失。 | |
| Kullback-Leibler 散度损失。 | |
| 创建一种准则,测量目标和输入概率之间的二元交叉熵 | |
| 此损失将 Sigmoid 层和 BCELoss 合并到一个单一类中。 | |
| 创建一种准则,测量给定输入 , , 两个 1D 小批量或 0D 张量以及标签 1D 小批量或 0D 张量 (包含 1 或 -1)的损失。 | |
| 测量给定输入张量 和标签张量 (包含 1 或 -1)的损失。 | |
| 创建优化输入 (一个 2D 小批量 Tensor)和输出 (一个目标类索引的 2D Tensor)之间的多类多分类铰链损失(基于边界的损失)的准则。 | |
| 创建一个准则,如果绝对逐元素误差低于 delta,则使用平方项,否则使用 delta 缩放的 L1 项。 | |
| 创建一个准则,如果绝对逐元素误差低于 beta,则使用平方项,否则使用 L1 项。 | |
| 创建一个准则,优化输入张量 和目标张量 (包含 1 或 -1)之间的两类分类逻辑损失。 | |
| 创建一个准则,优化基于最大熵的多标签一对多损失,输入为 ,目标为 ,大小为 . | |
| 创建一个衡量给定输入张量 , 和 Tensor 标签 的损失的标准,其中值是 1 或 -1。 | |
| 创建一个优化输入(一个 2D 小批量Tensor)和输出(这是一个目标类别索引的 1D 张量,)之间的多类别分类铰链损失(基于边界的损失)的标准。 | |
| 创建一个标准,用于测量给定输入张量, , 和一个大于的值的边界的损失。 | |
| 创建一个标准,用于衡量给定张量 、 和 (分别表示锚点、正例和负例)的 triplet loss,以及一个非负实值函数(“距离函数”),用于计算锚点和正例之间的关系(“正距离”)以及锚点和负例之间的关系(“负距离”)。 | 
视觉层¶
| 根据上采样因子重新排列张量中的元素。 | |
| 反转 PixelShuffle 操作。 | |
| 对给定的多通道 1D(时间)、2D(空间)或 3D(体积)数据进行上采样。 | |
| 对由多个输入通道组成的输入信号应用 2D 最近邻上采样。 | |
| 对由多个输入通道组成的输入信号应用 2D 双线性上采样。 | 
DataParallel 层(多 GPU,分布式)¶
| 在模块级别实现数据并行性。 | |
| 在模块级别基于  | 
实用工具¶
来自 torch.nn.utils 模块
用于剪切参数梯度的实用函数。
| 剪切参数的可迭代梯度范数。 | |
| 剪切参数的可迭代梯度范数。 | |
| 将可迭代参数的梯度剪切到指定值。 | 
用于将模块参数展平和从单个向量中取消展平的实用函数。
| 将可迭代参数展平到单个向量中。 | |
| 将向量的切片复制到可迭代参数中。 | 
用于将模块与 BatchNorm 模块融合的实用函数。
| 将卷积模块和 BatchNorm 模块融合到单个新卷积模块中。 | |
| 将卷积模块参数和 BatchNorm 模块参数融合到新的卷积模块参数中。 | |
| 将线性模块和 BatchNorm 模块融合到单个新线性模块中。 | |
| 将线性模块参数和 BatchNorm 模块参数融合到新的线性模块参数中。 | 
用于转换模块参数内存格式的实用函数。
| 将  | |
| 将  | 
用于对模块参数应用和移除权重归一化的实用函数。
| 对给定模块中的参数应用权重归一化。 | |
| 从模块中移除权重归一化重新参数化。 | |
| 对给定模块中的参数应用频谱归一化。 | |
| 从模块中移除频谱归一化重新参数化。 | 
用于初始化模块参数的实用函数。
| 给定模块类对象和参数/关键字参数,在不初始化参数/缓冲区的情况下实例化模块。 | 
用于修剪模块参数的实用类和函数。
| 创建新修剪技术的抽象基类。 | |
| 用于迭代修剪的容器,其中包含一系列修剪方法。 | |
| 实用修剪方法,不会修剪任何单元,但会使用全 1 掩码生成修剪参数化。 | |
| 随机修剪张量中(当前未修剪的)单元。 | |
| 通过将 L1 范数最低的单元归零,修剪张量中(当前未修剪的)单元。 | |
| 随机修剪张量中(当前未修剪的)整个通道。 | |
| 根据其 L | |
| 应用修剪重新参数化,而不修剪任何单元。 | |
| 通过移除随机(当前未修剪的)单元来修剪张量。 | |
| 通过移除 L1 范数最低的单元来修剪张量。 | |
| 通过移除沿指定维度随机的通道来修剪张量。 | |
| 通过移除沿指定维度 L | |
| 通过应用指定的  | |
| 通过在  | |
| 从模块中移除修剪重新参数化,并从前向挂钩中移除修剪方法。 | |
| 通过查找修剪预挂钩来检查模块是否已修剪。 | 
使用 torch.nn.utils.parameterize.register_parametrization() 中的新参数化功能实现的参数化。
| 对矩阵或一批矩阵应用正交或酉参数化。 | |
| 对给定模块中的参数应用权重归一化。 | |
| 对给定模块中的参数应用频谱归一化。 | 
用于对现有模块中的张量进行参数化的实用函数。请注意,这些函数可用于对给定的参数或缓冲区进行参数化,前提是给定一个从输入空间映射到参数化空间的特定函数。它们不是将对象转换为参数的参数化。有关如何实现自己的参数化的更多信息,请参阅参数化教程。
| 向模块中的张量注册参数化。 | |
| 移除模块中张量上的参数化。 | |
| 上下文管理器,可在使用  | |
| 确定模块是否具有参数化。 | 
| 一个顺序容器,用于保存和管理参数化  | 
以无状态方式调用给定模块的实用函数。
| 通过用提供的参数和缓冲区替换模块参数和缓冲区,对模块执行功能调用。 | 
其他模块中的实用函数
| 保存打包序列的数据和  | |
| 打包包含可变长度填充序列的张量。 | |
| 填充一批可变长度序列。 | |
| 使用  | |
| 打包可变长度张量列表。 | |
| 将 PackedSequence 解包为可变长度张量列表。 | |
| 将填充的张量解包为可变长度张量列表。 | 
| 将连续范围的维度展平为一个张量。 | |
| 将张量维度展平,将其扩展为所需形状。 |