Träningsloop för RNN
Nu är det dags att träna modellen för elförbrukningsprognoser!
Du använder det LSTM-nätverk som du definierade tidigare – det har instansierats och tilldelats net, liksom dataloader_train som du skapade tidigare. Du behöver också torch.nn, som redan har importerats som nn.
I den här övningen tränar du modellen i tre epoker för att kontrollera att träningen fortskrider som förväntat. Sätt igång!
Den här övningen är en del av kursen
Fördjupad djupinlärning med PyTorch
Övningsinstruktioner
- Konfigurera förlustfunktionen Mean Squared Error och tilldela den till
criterion. - Omforma
seqstill(batch size, sequence length, num features), vilket i vårt fall är(32, 96, 1), och tilldela resultatet tillbaka tillseqs. - Skicka
seqstill modellen för att få dessoutputs. - Beräkna förlusten baserat på tidigare beräknade värden och tilldela den till
loss.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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()}")