nn.Sequential是PyTorch中表示一个块的类,维护了一个由Module组成的有序列表。全连接层是Linear类的实例,通过net(X)调用模型来获得输出,实际上是net.__call__(X)的简写。前向传播函数将每个块连接在一起,将每个块的输出作为下一个块的输入
自定义块
import matplotlib.pyplot as plt
import torch
from torch import nn
from torch.nn import functional as F
net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))
X = torch.rand(2, 20)
print(net(X))
class MLP(nn.Module):
def __init__(self):
super().__init__()
self.hidden = nn.Linear(20, 256)
self.out = nn.Linear(256, 10)
def forward(self, X):
return self.out(F.relu(self.hidden(X)))
net = MLP()
print(net(X))
输出结果不同,是因为权重是随机分配的