Lightning으로 모델 학습 최적화하기
ModelCheckpoint와 EarlyStopping 같은 자동화 기법을 적용하면, 불필요한 계산을 줄이면서도 최적의 성능을 내는 파라미터를 선택할 수 있어요.
이 데이터셋은 Osmanya MNIST의 일부로, 확장 가능한 AI 학습 기법이 효율성과 정확도를 크게 높일 수 있는 실제 사례를 제공합니다.
OsmanyaDataModule과 ImageClassifier는 미리 정의되어 있습니다.
이 연습은 강의의 일부입니다
PyTorch Lightning으로 만드는 확장 가능한 AI 모델
연습 안내
- 모델 체크포인트와 조기 종료에 사용할 콜백을 임포트하세요.
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)