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
Instructions de l’exercice
- Configurez la perte à erreur quadratique moyenne (Mean Squared Error) et assignez-la à
criterion. - Remodellez
seqsen(batch size, sequence length, num features), ce qui est ici(32, 96, 1), et réassignez le résultat àseqs. - Passez
seqsau modèle pour obtenir sesoutputs. - À 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()}")