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
Instructions
- Configurez la perte d’erreur quadratique moyenne (Mean Squared Error) et affectez-la à
criterion. - Remaniez
seqsau 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
seqsau modèle pour obtenir sesoutputs. - À 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()}")