CommencezCommencez gratuitement

Boucle d'entraînement RNN

Il est temps d'entraîner le modèle de prévision de la consommation d'électricité!

Vous utiliserez le réseau LSTM que vous avez défini plus tôt, déjà instancié et assigné à net, ainsi que le dataloader_train que vous avez construit précédemment. Vous aurez aussi besoin de torch.nn, déjà importé sous le nom nn.

Dans cet exercice, vous entraînerez le modèle pendant seulement trois époques pour vérifier que l'entraînement progresse comme prévu. Allons-y!

Cette activité fait partie du cours

Apprentissage profond intermédiaire avec PyTorch

Voir le cours

Instructions de l’exercice

  • Configurez la perte à erreur quadratique moyenne (Mean Squared Error) et assignez-la à criterion.
  • Remodellez seqs en (batch size, sequence length, num features), ce qui est ici (32, 96, 1), et réassignez le résultat à seqs.
  • Passez seqs au modèle pour obtenir ses outputs.
  • À partir des quantités calculées précédemment, calculez la perte et assignez-la à loss.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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()}")
Modifier et exécuter le code