RNN 訓練迴圈
是時候來訓練電力消耗預測模型了!
你將使用先前定義的 LSTM 網路,已經實例化並指派給 net,先前建立的 dataloader_train 也已就緒。此外,你也需要使用 torch.nn,已經匯入為 nn。
在這個練習中,你只會訓練 3 個 epoch,用來確認訓練能如預期進行。開始吧!
本練習屬於課程
Intermediate Deep Learning with 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()}")