nn.Sequential()模块
时间: 2023-11-12 21:52:53 浏览: 84
`nn.Sequential()`是PyTorch中的一个模块,它允许我们按顺序组合多个神经网络层。通过将这些层按顺序传递给`nn.Sequential()`,可以创建一个模型,其中每个层的输出都作为下一层的输入。
下面是一个简单的例子,展示如何使用`nn.Sequential()`创建一个具有三个全连接层的模型:
```python
import torch
import torch.nn as nn
# 定义模型
model = nn.Sequential(
nn.Linear(input_size, hidden_size), # 第一个全连接层
nn.ReLU(), # ReLU激活函数
nn.Linear(hidden_size, output_size) # 第二个全连接层
)
# 使用模型进行前向传播
input_data = torch.randn(batch_size, input_size)
output = model(input_data)
```
在这个例子中,模型由三个层组成:第一个全连接层 (`nn.Linear`),ReLU激活函数 (`nn.ReLU`) 和第二个全连接层 (`nn.Linear`)。输入数据通过这些层后,得到最后的输出。
`nn.Sequential()`使模型的定义更加简洁和直观,特别是当模型是线性堆叠的情况下。但是请注意,`nn.Sequential()`适用于那些按照顺序进行前向传播的模型,如果模型结构更加复杂,可能需要使用其他方式来定义模型。
阅读全文