callback_learning_rate_scheduler | R Documentation |
At the beginning of every epoch, this callback gets the updated learning
rate value from schedule
function provided, with the current
epoch and current learning rate, and applies the updated learning rate on
the optimizer.
callback_learning_rate_scheduler(schedule, verbose = 0L)
schedule |
A function that takes an epoch index (integer, indexed from 0) and current learning rate (float) as inputs and returns a new learning rate as output (float). |
verbose |
Integer. 0: quiet, 1: log update messages. |
A Callback
instance that can be passed to fit.keras.src.models.model.Model()
.
# This function keeps the initial learning rate steady for the first ten epochs # and decreases it exponentially after that. scheduler <- function(epoch, lr) { if (epoch < 10) return(lr) else return(lr * exp(-0.1)) } model <- keras_model_sequential() |> layer_dense(units = 10) model |> compile(optimizer = optimizer_sgd(), loss = 'mse') model$optimizer$learning_rate |> as.array() |> round(5)
## [1] 0.01
callback <- callback_learning_rate_scheduler(schedule = scheduler) history <- model |> fit(x = array(runif(100), c(5, 20)), y = array(0, c(5, 1)), epochs = 15, callbacks = list(callback), verbose = 0) model$optimizer$learning_rate |> as.array() |> round(5)
## [1] 0.00607
Other callbacks:
Callback()
callback_backup_and_restore()
callback_csv_logger()
callback_early_stopping()
callback_lambda()
callback_model_checkpoint()
callback_reduce_lr_on_plateau()
callback_remote_monitor()
callback_swap_ema_weights()
callback_tensorboard()
callback_terminate_on_nan()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.