Optimizarea antrenării modelului cu Lightning
Prin implementarea tehnicilor automate ModelCheckpoint și EarlyStopping, te vei asigura că modelul tău selectează cei mai performanți parametri, evitând totodată calculele inutile.
Setul de date, un subset al setului de date Osmanya MNIST, oferă un caz de utilizare real în care tehnicile scalabile de antrenare AI pot îmbunătăți semnificativ eficiența și acuratețea.
OsmanyaDataModule și ImageClassifier au fost predefinite pentru tine.
Acest exercițiu face parte din cursul
Modele AI scalabile cu PyTorch Lightning
Instrucțiuni pentru exercițiu
- Importă callback-urile pe care le vei folosi pentru salvarea punctelor de control ale modelului și pentru oprirea timpurie.
- Antrenează modelul folosind callback-urile
ModelCheckpointșiEarlyStopping.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import relevant checkpoints
from lightning.pytorch.callbacks import ____, ____
class EvaluatedImageClassifier(ImageClassifier):
def validation_step(self, batch, batch_idx):
x, y = batch
y_hat = self(x)
acc = (y_hat.argmax(dim=1) == y).float().mean()
self.log("val_acc", acc)
model = EvaluatedImageClassifier()
data_module = OsmanyaDataModule()
# Train the model with ModelCheckpoint and EarlyStopping checkpoints
trainer = Trainer(____=[____(monitor="val_acc", save_top_k=1), ____(monitor="val_acc", patience=3)])
trainer.fit(model, datamodule=data_module)