Reduce learning rate when a metric has stopped improving.
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.
callback_reduce_lr_on_plateau(monitor = "val_loss", factor = 0.1,
patience = 10, verbose = 0, mode = c("auto", "min", "max"),
min_delta = 1e-04, cooldown = 0, min_lr = 0)
Arguments
monitor | quantity to be monitored. |
factor | factor by which the learning rate will be reduced. new_lr = lr
|
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. |
See also
Other callbacks: callback_csv_logger
,
callback_early_stopping
,
callback_lambda
,
callback_learning_rate_scheduler
,
callback_model_checkpoint
,
callback_progbar_logger
,
callback_remote_monitor
,
callback_tensorboard
,
callback_terminate_on_naan