Ciclo di training RNN
È il momento di addestrare il modello di previsione dei consumi elettrici!
Userai la rete LSTM che hai definito in precedenza, già istanziata e assegnata a net, così come dataloader_train che hai creato prima. Ti servirà anche torch.nn, già importato come nn.
In questo esercizio, allenerai il modello per sole tre epoche per verificare che il training proceda come previsto. Andiamo!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Istruzioni dell'esercizio
- Imposta la loss Mean Squared Error e assegnala a
criterion. - Rimodella
seqsa(batch size, sequence length, num features), che nel nostro caso è(32, 96, 1), e riassegna il risultato aseqs. - Passa
seqsal modello per ottenere i suoioutputs. - In base alle quantità calcolate in precedenza, calcola la loss assegnandola a
loss.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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()}")