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