Skip to main content

Command Palette

Search for a command to run...

torch当中所有的层

Published
•1 min read•View as Markdown

在 PyTorch 里,层(layer)其实就是各种 torch.nn.Module 的子类。种类非常多,可以分为几大类:

1.卷积层

1.1. 1D/2D/3D卷积

nn.Conv1d, nn.Conv2d, nn.Conv3d

1.2.转置卷积(反卷积/上采样卷积)

nn.ConvTranspose1d, nn.ConvTranspose2d, nn.ConvTranspose3d

1.3.稀疏卷积/量化卷积

(部分在拓展库里)

2.池化层

2.1.最大池化

nn.MaxPool1d, nn.MaxPool2d, nn.MaxPool3d

2.2.平均池化

nn.AvgPool1d, nn.AvgPool2d, nn.AvgPool3d

2.3.自适应池化

nn.AdaptiveMaxPool1d, nn.AdaptiveMaxPool2d, nn.AdaptiveMaxPool3d,nn.AdaptiveAvgPool1d/2d/3d

2.4.全局池化

(通过 Adaptive*Pool 实现输出大小为 1)

3.归一化层

3.1.批量归一化

nn.BatchNorm1d, nn.BatchNorm2d, nn.BatchNorm3d

3.2.层归一化

nn.LayerNorm

3.3.实例归一化

nn.InstanceNorm1d, nn.InstanceNorm2d, nn.InstanceNorm3d

3.4.组归一化

nn.GroupNorm

3.5.权重归一化

nn.utils.weight_norm (工具函数)

3.6.谱归一化

nn.utils.spectral_norm

4.激活函数层

(虽然很多在 torch.nn.functional 里用函数,但也有对应 nn.Module 版本)

  • nn.ReLU, nn.ReLU6

  • nn.Sigmoid, nn.Tanh, nn.Softmax, nn.LogSoftmax

  • nn.LeakyReLU, nn.PReLU, nn.ELU, nn.CELU, nn.SELU, nn.GELU

  • nn.Hardtanh, nn.Hardsigmoid, nn.Hardswish, nn.Hardshrink

  • nn.Softplus, nn.Softsign

  • nn.SiLU (Swish)

5.循环神经网络层

  • nn.RNN, nn.LSTM, nn.GRU

  • 对应的 cell: nn.RNNCell, nn.LSTMCell, nn.GRUCell

6.Transformer/Attention层

  • nn.MultiheadAttention

  • nn.Transformer, nn.TransformerEncoder, nn.TransformerDecoder

  • nn.TransformerEncoderLayer, nn.TransformerDecoderLayer

7.线性层/全连接层

  • nn.Linear

  • nn.Bilinear

8.Dropout层

  • nn.Dropout, nn.Dropout2d, nn.Dropout3d

  • nn.AlphaDropout

  • nn.FeatureAlphaDropout

9.Upsampling/下采样

  • nn.Upsample (最近邻、双线性等插值)

  • 卷积转置层(见上)

10.稀疏/Embedding层

  • nn.Embedding, nn.EmbeddingBag

  • nn.Parameter(严格来说是张量,但常作为层参数)

11.工具性层

  • nn.Flatten, nn.Unflatten

  • nn.Identity(什么都不做)

  • nn.Sequential(层的容器)

  • nn.ModuleList, nn.ParameterList

  • nn.PixelShuffle, nn.PixelUnshuffle

  • nn.ConstantPad1d/2d/3d, nn.ReflectionPad2d, nn.ReplicationPad2d, nn.ZeroPad2d

More from this blog

Opencoda 安装

一、前言:OpenCode 是什么?为什么值得用? 1.1 OpenCode 简介 官网OpenCode | The open source AI coding agent OpenCode 是一个开源的 AI 编程助手,支持: ✅ 在终端(CLI)中直接对话写代码,与ClaudeCodeCLI类似 ✅ 在 VSCode 中辅助写代码 ✅ 自动生成代码、重构代码、解释代码 ✅ 不绑定平台、可自由扩展 ✅ 对开发者非常友好 ✅ 有很多免费的大模型可以使用,不收费不排队 1.2 本教程你能学到什么?...

Feb 3, 20263 min read

杨涌彪的博客

33 posts