TensorFlow 1 version | View source on GitHub |
Stop training when a monitored quantity has stopped improving.
Inherits From: Callback
tf.keras.callbacks.EarlyStopping(
monitor='val_loss', min_delta=0, patience=0, verbose=0, mode='auto',
baseline=None, restore_best_weights=False
)
Arguments | |
---|---|
monitor
|
Quantity to be monitored. |
min_delta
|
Minimum change in the monitored quantity to qualify as an improvement, i.e. an absolute change of less than min_delta, will count as no improvement. |
patience
|
Number of epochs with no improvement after which training will be stopped. |
verbose
|
verbosity mode. |
mode
|
One of {"auto", "min", "max"} . In min mode,
training will stop when the quantity
monitored has stopped decreasing; in max
mode it will stop when the quantity
monitored has stopped increasing; in auto
mode, the direction is automatically inferred
from the name of the monitored quantity.
|
baseline
|
Baseline value for the monitored quantity. Training will stop if the model doesn't show improvement over the baseline. |
restore_best_weights
|
Whether to restore model weights from the epoch with the best value of the monitored quantity. If False, the model weights obtained at the last step of training are used. |
Example:
callback = tf.keras.callbacks.EarlyStopping(monitor='val_loss', patience=3)
# This callback will stop the training when there is no improvement in
# the validation loss for three consecutive epochs.
model.fit(data, labels, epochs=100, callbacks=[callback],
validation_data=(val_data, val_labels))
Methods
get_monitor_value
get_monitor_value(
logs
)
set_model
set_model(
model
)
set_params
set_params(
params
)