Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Stel de Mean Squared Error-loss in en wijs deze toe aan criterion.
  • Herschik seqs naar (batch size, sequence length, num features), wat in ons geval (32, 96, 1) is, en wijs het resultaat opnieuw toe aan seqs.
  • Geef seqs door aan het model om de outputs te 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()}")
Code bewerken en uitvoeren