Implementare lo step di training
In questo esercizio implementerai il metodo training_step() in un modulo PyTorch Lightning progettato per un task di classificazione di immagini.
La tua implementazione dovrà decomporre un batch di immagini ed etichette, calcolare le predizioni del modello tramite la forward pass, calcolare la loss di cross entropy e registrare la loss di training.
Questo esercizio fa parte del corso
Modelli di AI scalabili con PyTorch Lightning
Istruzioni dell'esercizio
- Assicurati di calcolare le predizioni usando la forward pass.
- Calcola la loss di cross entropy.
- Registra la loss di training.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
from torch.nn.functional import cross_entropy
def training_step(self, batch, batch_idx):
x, y = batch
# Ensure that you compute predictions using the forward pass
y_hat = ____
# Calculate the cross entropy loss
loss = ____
# Log the loss
self.____("train_loss", loss)
return loss