Keras Callbacks

Training callbacks and monitoring in Keras.

Early Stopping

Stop training when no improvement
from tensorflow.keras.callbacks import EarlyStopping

early_stop = EarlyStopping(
  monitor="val_loss",
  patience=3,
  restore_best_weights=True
)

model.fit(x_train, y_train, epochs=100, callbacks=[early_stop])

Model Checkpoint

Save best model during training
from tensorflow.keras.callbacks import ModelCheckpoint

checkpoint = ModelCheckpoint(
  "best_model.h5",
  monitor="val_accuracy",
  save_best_only=True
)

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

Learning Rate Scheduler

Reduce learning rate on plateau
from tensorflow.keras.callbacks import ReduceLROnPlateau

reduce_lr = ReduceLROnPlateau(
  monitor="val_loss",
  factor=0.5,
  patience=5,
  min_lr=0.00001
)

TensorBoard

Log metrics for TensorBoard
from tensorflow.keras.callbacks import TensorBoard

tensorboard = TensorBoard(log_dir="./logs")

model.fit(x_train, y_train, epochs=10, callbacks=[tensorboard])

View in terminal
tensorboard --logdir=./logs