Optimalizace trénování modelu s Lightning
Díky automatizovaným technikám jako ModelCheckpoint a EarlyStopping zajistíš, že model vybere nejlépe fungující parametry a zároveň se vyhnete zbytečným výpočtům.
Dataset – podmnožina datasetu Osmanya MNIST – představuje reálný příklad, kde škálovatelné techniky trénování AI mohou výrazně zlepšit efektivitu i přesnost.
OsmanyaDataModule a ImageClassifier jsou pro tebe předem definovány.
Toto cvičení je součástí kurzu
Škálovatelné modely AI s PyTorch Lightning
Pokyny k cvičení
- Importuj callbacks, které použiješ pro ukládání kontrolních bodů modelu a předčasné zastavení trénování.
- Natrénuj model s callbacks
ModelCheckpointaEarlyStopping.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)