tf.keras.callbacks.ReduceLROnPlateau

TensorFlow 2 version View source on GitHub

Reduce learning rate when a metric has stopped improving.

Inherits From: Callback

Models often benefit from reducing the learning rate by a factor of 2-10 once learning stagnates. This callback monitors a quantity and if no improvement is seen for a 'patience' number of epochs, the learning rate is reduced.

Example:

reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2,
                              patience=5, min_lr=0.001)
model.fit(X_train, Y_train, callbacks=[reduce_lr])

monitor quantity to be monitored.
factor factor by which the learning rate will be reduced. new_lr = lr * factor
patience number of epochs with no improvement after which learning rate will be reduced.
verbose int. 0: quiet, 1: update messages.
mode one of {auto, min, max}. In min mode, lr will be reduced when the quantity monitored has stopped decreasing; in max mode it will be reduced when the quantity monitored has stopped increasing; in auto mode, the direction is automatically inferred from the name of the monitored quantity.
min_delta threshold for measuring the new optimum, to only focus on significant changes.
cooldown number of epochs to wait before resuming normal operation after lr has been reduced.
min_lr lower bound on the learning rate.

Methods

in_cooldown

View source

on_batch_begin

View source

A backwards compatibility alias for on_train_batch_begin.

on_batch_end

View source

A backwards compatibility alias for on_train_batch_end.

on_epoch_begin

View source

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.

on_epoch_end

View source

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 with val_.

on_predict_batch_begin

View source

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 keys batch and size representing the current batch number and the size of the batch.

on_predict_batch_end

View source

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.

on_predict_begin

View source

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.

on_predict_end

View source

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.

on_test_batch_begin

View source

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 keys batch and size representing the current batch number and the size of the batch.

on_test_batch_end

View source

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.

on_test_begin

View source

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.

on_test_end

View source

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.

on_train_batch_begin

View source

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 keys batch and size representing the current batch number and the size of the batch.

on_train_batch_end

View source

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.

on_train_begin

View source

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.

on_train_end

View source

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.

set_model

View source

set_params

View source