torch.nn.Sequential
时间: 2023-11-09 11:08:47 浏览: 131
对Pytorch中nn.ModuleList 和 nn.Sequential详解
torch.nn.Sequential 是一个PyTorch中的模块,它可以将多个神经网络模块按照顺序组成一个序列,使得数据可以按照顺序依次经过每个模块进行计算,从而得到最终的输出。在实际应用中,我们可以通过添加一系列的神经网络层来构建一个深度神经网络,并使用 Sequential 将它们按顺序组合在一起。通常情况下,Sequential 可以极大地简化神经网络的编写过程,使得代码更加简洁易懂。例如,以下代码展示了如何使用 Sequential 构建一个简单的卷积神经网络:
```
import torch.nn as nn
model = nn.Sequential(
nn.Conv2d(1, 32, kernel_size=3, padding=1),
nn.ReLU(),
nn.MaxPool2d(kernel_size=2),
nn.Conv2d(32, 64, kernel_size=3, padding=1),
nn.ReLU(),
nn.MaxPool2d(kernel_size=2),
nn.Flatten(),
nn.Linear(64 * 7 * 7, 10),
nn.Softmax(dim=1)
)
```
在上面的代码中,我们首先使用 nn.Conv2d 定义了一个卷积层,然后使用 nn.ReLU 激活函数,nn.MaxPool2d 最大池化层等,最后使用 nn.Linear 定义了一个全连接层,并使用 nn.Softmax 作为输出层的激活函数。通过将这些层逐个添加到 Sequential 中,我们就可以轻松地构建出一个深度神经网络。
阅读全文