CommencerCommencer gratuitement

Boucle d'entraînement d'une RNN

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

Vous allez utiliser le réseau LSTM que vous avez défini précédemment, déjà instancié et affecté à net, ainsi que le dataloader_train que vous avez construit plus tôt. Vous devrez également utiliser torch.nn, déjà importé sous le nom nn.

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

Cet exercice fait partie du cours

Deep learning intermédiaire avec PyTorch

Afficher le cours

Instructions

  • Configurez la perte d’erreur quadratique moyenne (Mean Squared Error) et affectez-la à criterion.
  • Remaniez seqs au format (taille du batch, longueur de séquence, nombre de variables), soit dans notre cas (32, 96, 1), et réaffectez 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 affectez-la à loss.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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