RNN 训练循环
现在开始训练电力消耗预测模型!
您将使用之前定义的 LSTM 网络,它已实例化并赋值给 net,之前构建的 dataloader_train 也已就绪。您还需要使用已经以 nn 导入的 torch.nn。
本练习中,您将仅训练 3 个 epoch,用于确认训练按预期进行。开始吧!
本练习是课程的一部分
PyTorch 深度学习进阶
练习说明
- 设置均方误差(Mean Squared Error)损失,并将其赋值给
criterion。 - 将
seqs重塑为(batch size, sequence length, num features),在本例中为(32, 96, 1),并将结果重新赋值给seqs。 - 将
seqs传入模型以获得其outputs。 - 基于先前计算的量计算损失,并将其赋值给
loss。
交互式实操练习
通过完成这段示例代码来试试这个练习。
net = Net()
# Set up MSE loss
criterion = ____
optimizer = optim.Adam(
net.parameters(), lr=0.0001
)
for epoch in range(3):
for seqs, labels in dataloader_train:
# Reshape model inputs
seqs = ____
# Get model outputs
outputs = ____
# Compute loss
loss = ____
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f"Epoch {epoch+1}, Loss: {loss.item()}")