RNN boucle de formation
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 précédemment, qui a été instancié et assigné à net
, tout comme le réseau dataloader_train
que vous avez construit précédemment. Vous devrez également utiliser torch.nn
qui a déjà été importé en tant que nn
.
Dans cet exercice, vous n'entraînerez le modèle que pendant trois époques afin de vous assurer que l'entraînement se déroule comme prévu. Allons-y !
Cet exercice fait partie du cours
Apprentissage profond intermédiaire avec PyTorch
Instructions
- Définissez la perte d'erreur quadratique moyenne et affectez-la à
criterion
. - Remodeler
seqs
en(batch size, sequence length, num features)
, qui dans notre cas est(32, 96, 1)
, et réaffecter le résultat àseqs
. - Passez
seqs
au modèle pour obtenir sonoutputs
. - Sur la base des quantités calculées précédemment, calculez la perte en l'attribuant à
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()}")