我是pytorch的新手。以下是使用nn模块训练包含一些随机数据的简单单层模型(from here)的基本示例
import torch
N, D_in, H, D_out = 64, 1000, 100, 10
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
model = torch.nn.Sequential(
torch.nn.Linear(D_in, H),
torch.nn.ReLU(),
torch.nn.Linear(H, D_out),
)
loss_fn = torch.nn.MSELoss(reduction='sum')
optimizer = torch.optim.Adam(model.parameters(), lr=1e-4)
for t in range(500):
y_pred = model(x)
loss = loss_fn(y_pred, y)
print(t, loss.item())
optimizer.zero_grad()
loss.backward()
optimizer.step()
据我所知,在本例中,批处理大小等于1,换句话说,使用单个点(满分64)来计算梯度和更新参数。我的问题是:如何修改这个示例来训练批量大于1的模型?
https://stackoverflow.com/questions/51735001
复制相似问题