RNN-trainingslus
Tijd om het model voor het voorspellen van het elektriciteitsverbruik te trainen!
Je gebruikt het LSTM-netwerk dat je eerder hebt gedefinieerd; dit is al geïnstantieerd en toegewezen aan net, net als de dataloader_train die je eerder hebt gebouwd. Je hebt ook torch.nn nodig, dat al is geïmporteerd als nn.
In deze oefening train je het model slechts drie epochs om te controleren of de training verloopt zoals verwacht. Aan de slag!
Deze oefening maakt deel uit van de cursus
Gevorderde Deep Learning met PyTorch
Oefeninstructies
- Stel de Mean Squared Error-loss in en wijs deze toe aan
criterion. - Herschik
seqsnaar(batch size, sequence length, num features), wat in ons geval(32, 96, 1)is, en wijs het resultaat opnieuw toe aanseqs. - Geef
seqsdoor aan het model om deoutputste krijgen. - Bereken op basis van eerder berekende grootheden de loss en wijs deze toe aan
loss.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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()}")