Perfezionare il metodo forward
Dopo aver configurato i layer nel metodo __init__, il metodo forward stabilisce come i dati fluiscono attraverso di essi. In PyTorch Lightning, questa separazione mantiene il codice pulito e facile da mantenere. Hai già visto come strutturare il costruttore: ora è il momento di concentrarti sul forward pass, assicurandoti che la logica di classificazione sia chiara e ottimizzata per l'addestramento. Qui, i layer in __init__ sono già definiti per te, così puoi concentrarti esclusivamente sul flusso forward.
lightning.pytorch e torch.nn sono già stati importati come pl e nn.
Questo esercizio fa parte del corso
Modelli di AI scalabili con PyTorch Lightning
Istruzioni dell'esercizio
- Implementa il metodo
forwardall'interno diClassifierModel. - Applica un'attivazione ReLU dopo il layer nascosto.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
class ClassifierModel(pl.LightningModule):
def __init__(self, input_dim, hidden_dim, output_dim):
super().__init__()
self.hidden = nn.Linear(input_dim, hidden_dim)
self.output = nn.Linear(hidden_dim, output_dim)
# Define forward method
def ____(self, ____):
# Complete the forward pass
x = self.hidden(x)
x = ____(x)
x = self.output(x)
return x