C.W.K.
Stream
Lesson 06 of 08 · published

Callback

~8 min · training

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

학습 중 자동으로 동작하는 hook. 기본 set: ModelCheckpoint (best 저장), EarlyStopping (개선 없으면 중단), ReduceLROnPlateau (LR 자동 감소), TensorBoard (로그 시각화).

list 로 fit() 의 callbacks 인자에 넘겨. monitor='val_loss' 같이 어떤 metric 보고 동작할지 지정. patience 는 몇 epoch 기다릴지. min_delta 는 의미있는 변화의 최소값.

Code

callbacks = [
    # Stop when val_loss hasn't improved for 5 epochs
    keras.callbacks.EarlyStopping(
        monitor="val_loss",
        patience=5,
        restore_best_weights=True,  # Go back to best model
    ),

    # Save the best model
    keras.callbacks.ModelCheckpoint(
        "best_model.keras",
        monitor="val_loss",
        save_best_only=True,
    ),

    # Reduce LR when stuck
    keras.callbacks.ReduceLROnPlateau(
        monitor="val_loss",
        factor=0.5,     # Halve the LR
        patience=3,
        min_lr=1e-6,
    ),

    # Log to CSV
    keras.callbacks.CSVLogger("training_log.csv"),
]

model.fit(x_train, y_train, epochs=50, callbacks=callbacks)

External links

Exercise

위 4 callback 으로 MNIST 학습. 확인 — best.keras 파일 생성, 100 epoch 전 중단 (early stop), val_loss plateau 에 lr 감소, TensorBoard log 쓰여짐.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.