TF 2.0 is out! Get hands-on practice at TF World, Oct 28-31. Use code TF20 for 20% off select passes. Register now

tf.keras.callbacks.ReduceLROnPlateau

TensorFlow 1 version View source on GitHub

Class ReduceLROnPlateau

Reduce learning rate when a metric has stopped improving.

Inherits From: Callback

Aliases:

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])

Arguments:

  • 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.

__init__

View source

__init__(
    monitor='val_loss',
    factor=0.1,
    patience=10,
    verbose=0,
    mode='auto',
    min_delta=0.0001,
    cooldown=0,
    min_lr=0,
    **kwargs
)

Initialize self. See help(type(self)) for accurate signature.

Methods

in_cooldown

View source

in_cooldown()

on_batch_begin

View source

on_batch_begin(
    batch,
    logs=None
)

A backwards compatibility alias for on_train_batch_begin.

on_batch_end

View source

on_batch_end(
    batch,
    logs=None
)

A backwards compatibility alias for on_train_batch_end.

on_epoch_begin

View source

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.

on_epoch_end

View source

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

on_predict_batch_begin

View source

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

on_predict_batch_end

View source

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.

on_predict_begin

View source

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.

on_predict_end

View source

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.

on_test_batch_begin

View source

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

on_test_batch_end

View source

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.

on_test_begin

View source

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.

on_test_end

View source

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.

on_train_batch_begin

View source

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

on_train_batch_end

View source

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.

on_train_begin

View source

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.

on_train_end

View source

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.

set_model

View source

set_model(model)

set_params

View source

set_params(params)