torch.nn.Sequential()函数的意义和用法
时间: 2023-11-12 07:52:44 浏览: 237
对Pytorch中nn.ModuleList 和 nn.Sequential详解
torch.nn.Sequential()函数是PyTorch中的一个类,可以用于构建神经网络模型。它允许我们按照顺序将多个层(layers)组合在一起,构建一个神经网络模型。
使用torch.nn.Sequential()函数时,我们可以将多个层作为参数传递给它,按照传递的顺序依次添加到模型中。每个层都可以是PyTorch中提供的预定义层(如全连接层、卷积层等),也可以是自定义的层。
下面是一个简单的示例,展示了如何使用torch.nn.Sequential()函数构建一个简单的前馈神经网络模型:
```python
import torch
import torch.nn as nn
# 定义一个简单的前馈神经网络模型
model = nn.Sequential(
nn.Linear(784, 256), # 全连接层1:输入大小为784,输出大小为256
nn.ReLU(), # ReLU激活函数
nn.Linear(256, 128), # 全连接层2:输入大小为256,输出大小为128
nn.ReLU(), # ReLU激活函数
nn.Linear(128, 10), # 全连接层3:输入大小为128,输出大小为10(输出类别数)
nn.Softmax(dim=1) # Softmax激活函数,用于多分类问题
)
# 打印模型结构
print(model)
```
在这个例子中,我们使用torch.nn.Sequential()函数创建了一个模型,并按照顺序添加了三个全连接层以及两个激活函数。最后一个全连接层的输出大小设置为10,因为我们假设这是一个10类分类问题。最后,我们使用print语句打印了模型的结构。
这样,通过torch.nn.Sequential()函数,我们可以方便地按照顺序组合多个层,构建神经网络模型。
阅读全文