Оптимизация обучения модели с помощью Lightning
Используя автоматизированные техники ModelCheckpoint и EarlyStopping, вы обеспечите выбор наилучших параметров модели и избежите лишних вычислений.
Набор данных — подмножество Osmanya MNIST — представляет собой реальный сценарий, в котором масштабируемые техники обучения ИИ позволяют существенно повысить эффективность и точность.
OsmanyaDataModule и ImageClassifier уже определены за вас.
Это упражнение является частью курса
Масштабируемые модели ИИ с PyTorch Lightning
Инструкции к упражнению
- Импортируйте колбэки для сохранения контрольных точек модели и ранней остановки обучения.
- Обучите модель, используя колбэки
ModelCheckpointиEarlyStopping.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)