Zacznij terazZacznij za darmo

Optymalizacja trenowania modelu z Lightning

Dzięki wdrożeniu zautomatyzowanych technik, takich jak ModelCheckpoint i EarlyStopping, zagwarantujesz, że model wybiera najlepsze parametry i unika zbędnych obliczeń.

Zbiór danych – podzbiór zbioru Osmanya MNIST – to realistyczny przypadek użycia, w którym skalowalne techniki trenowania modeli mogą znacząco zwiększyć wydajność i dokładność.

Klasy OsmanyaDataModule i ImageClassifier zostały już wstępnie zdefiniowane.

To ćwiczenie jest częścią kursu

Skalowalne modele AI z PyTorch Lightning

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj wywołania zwrotne (callbacks), których użyjesz do zapisywania punktów kontrolnych modelu i wczesnego zatrzymywania.
  • Wytrenuj model, korzystając z wywołań zwrotnych ModelCheckpoint i EarlyStopping.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod