![]() |
Class EarlyStopping
Stop training when a monitored quantity has stopped improving.
Inherits From: Callback
Aliases:
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"}
. Inmin
mode, training will stop when the quantity monitored has stopped decreasing; inmax
mode it will stop when the quantity monitored has stopped increasing; inauto
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))
__init__
__init__(
monitor='val_loss',
min_delta=0,
patience=0,
verbose=0,
mode='auto',
baseline=None,
restore_best_weights=False
)
Initialize self. See help(type(self)) for accurate signature.
Methods
tf.keras.callbacks.EarlyStopping.get_monitor_value
get_monitor_value(logs)
tf.keras.callbacks.EarlyStopping.on_batch_begin
on_batch_begin(
batch,
logs=None
)
A backwards compatibility alias for on_train_batch_begin
.
tf.keras.callbacks.EarlyStopping.on_batch_end
on_batch_end(
batch,
logs=None
)
A backwards compatibility alias for on_train_batch_end
.
tf.keras.callbacks.EarlyStopping.on_epoch_begin
on_epoch_begin(
epoch,
logs=None
)
Called at the start of an epoch.
Subclasses should override for any actions to run. This function should only be called during TRAIN mode.
Arguments:
epoch
: integer, index of epoch.logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_epoch_end
on_epoch_end(
epoch,
logs=None
)
Called at the end of an epoch.
Subclasses should override for any actions to run. This function should only be called during TRAIN mode.
Arguments:
epoch
: integer, index of epoch.logs
: dict, metric results for this training epoch, and for the validation epoch if validation is performed. Validation result keys are prefixed withval_
.
tf.keras.callbacks.EarlyStopping.on_predict_batch_begin
on_predict_batch_begin(
batch,
logs=None
)
Called at the beginning of a batch in predict
methods.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.EarlyStopping.on_predict_batch_end
on_predict_batch_end(
batch,
logs=None
)
Called at the end of a batch in predict
methods.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.EarlyStopping.on_predict_begin
on_predict_begin(logs=None)
Called at the beginning of prediction.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_predict_end
on_predict_end(logs=None)
Called at the end of prediction.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_test_batch_begin
on_test_batch_begin(
batch,
logs=None
)
Called at the beginning of a batch in evaluate
methods.
Also called at the beginning of a validation batch in the fit
methods, if validation data is provided.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.EarlyStopping.on_test_batch_end
on_test_batch_end(
batch,
logs=None
)
Called at the end of a batch in evaluate
methods.
Also called at the end of a validation batch in the fit
methods, if validation data is provided.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.EarlyStopping.on_test_begin
on_test_begin(logs=None)
Called at the beginning of evaluation or validation.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_test_end
on_test_end(logs=None)
Called at the end of evaluation or validation.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_train_batch_begin
on_train_batch_begin(
batch,
logs=None
)
Called at the beginning of a training batch in fit
methods.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.EarlyStopping.on_train_batch_end
on_train_batch_end(
batch,
logs=None
)
Called at the end of a training batch in fit
methods.
Subclasses should override for any actions to run.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.EarlyStopping.on_train_begin
on_train_begin(logs=None)
Called at the beginning of training.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.on_train_end
on_train_end(logs=None)
Called at the end of training.
Subclasses should override for any actions to run.
Arguments:
logs
: dict. Currently no data is passed to this argument for this method but that may change in the future.
tf.keras.callbacks.EarlyStopping.set_model
set_model(model)
tf.keras.callbacks.EarlyStopping.set_params
set_params(params)