-
Notifications
You must be signed in to change notification settings - Fork 0
Keras Callbacks
Yang YueXiang edited this page Aug 12, 2019
·
1 revision
from keras.callbacks import EarlyStopping
from keras.callbacks import ModelCheckpoint
from keras.callbacks import ReduceLROnPlateau
checkpoint = ModelCheckpoint("D:/development/DeepLearningCV/Trained Models/MNIST_Checkpoint.h5",
monitor="val_loss",
mode="min",
save_best_only = True,
verbose=1)
earlystop = EarlyStopping(monitor = 'val_loss', # value being monitored for improvement
min_delta = 0, #Abs value and is the min change required before we stop
patience = 3, #Number of epochs we wait before stopping
verbose = 1,
restore_best_weights = True) #keeps the best weigths once stopped
reduce_lr = ReduceLROnPlateau(monitor = 'val_loss', factor = 0.2, patience = 3, verbose = 1, min_delta = 0.0001)
#If no improvement is seen in our monitored metric (val_loss typically), we wait a certain number of epochs (patience) then this callback reduces the learning rate by a factor
callbacks = [earlystop, checkpoint, reduce_lr ]
history = model.fit(x_train, y_train,
batch_size=64,
epochs=3,
verbose=2,
callbacks = callbacks,
validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)