nn.Sequential()
是PyTorch中的一个类,它允许用户将多个计算层按照顺序组合成一个模型。在深度学习中,模型可以是由各种不同类型的层组成的,例如卷积层、池化层、全连接层等。nn.Sequential()
方法可以将这些层组合在一起,形成一个整体模型。
语法
torch.nn.Sequential(*args)
参数:
args
:一个由层组成的列表。
示例
以下示例展示了如何使用nn.Sequential()
方法创建一个简单的网络模型。
import torch.nn as nn
model = nn.Sequential(
nn.Linear(784, 128),
nn.ReLU(),
nn.Linear(128, 10),
nn.LogSoftmax(dim=1)
)
在这个例子中,我们创建了一个简单的神经网络模型,该模型包含两个线性层、一个ReLU激活函数和一个LogSoftmax层。这个模型的输入大小是784,输出大小是10。
使用
一旦我们定义了模型,我们可以使用它来进行训练和推断。我们可以将输入数据传递给模型,然后获取输出。下面是一个使用示例。
import torch
# 创建模型
model = nn.Sequential(
nn.Linear(784, 128),
nn.ReLU(),
nn.Linear(128, 10),
nn.LogSoftmax(dim=1)
)
# 随机生成输入数据
input_data = torch.randn(1, 784)
# 获取模型输出
output = model(input_data)
在这个例子中,我们首先创建了一个模型。然后,我们随机生成了一个输入数据,并将其传递给模型。最后,我们获取了模型的输出。注意,输出是一个大小为1x10的张量,其中每个元素代表一个类别的对数概率。
以上就是nn.Sequential()
方法的详细说明。使用这个方法可以方便地定义一个神经网络模型,加速我们的深度学习研究和实践。