View source on GitHub |
Learning rate scheduler.
Inherits From: Callback
tf.keras.callbacks.LearningRateScheduler(
schedule, verbose=0
)
Used in the notebooks
Used in the tutorials |
---|
At the beginning of every epoch, this callback gets the updated learning
rate value from schedule
function provided at __init__
, with the current
epoch and current learning rate, and applies the updated learning rate on
the optimizer.
Example:
# This function keeps the initial learning rate for the first ten epochs
# and decreases it exponentially after that.
def scheduler(epoch, lr):
if epoch < 10:
return lr
else:
return lr * ops.exp(-0.1)
model = keras.models.Sequential([keras.layers.Dense(10)])
model.compile(keras.optimizers.SGD(), loss='mse')
round(model.optimizer.learning_rate, 5)
0.01
callback = keras.callbacks.LearningRateScheduler(scheduler)
history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
epochs=15, callbacks=[callback], verbose=0)
round(model.optimizer.learning_rate, 5)
0.00607
Attributes | |
---|---|
model
|
Methods
on_batch_begin
on_batch_begin(
batch, logs=None
)
A backwards compatibility alias for on_train_batch_begin
.
on_batch_end
on_batch_end(
batch, logs=None
)
A backwards compatibility alias for on_train_batch_end
.
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.
Args | |
---|---|
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
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.
Args | |
---|---|
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_ . For training epoch, the values of
the Model 's metrics are returned. Example:
{'loss': 0.2, 'accuracy': 0.7} .
|
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Aggregated metric results up until this batch. |
on_predict_begin
on_predict_begin(
logs=None
)
Called at the beginning of prediction.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_predict_end
on_predict_end(
logs=None
)
Called at the end of prediction.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Aggregated metric results up until this batch. |
on_test_begin
on_test_begin(
logs=None
)
Called at the beginning of evaluation or validation.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_test_end
on_test_end(
logs=None
)
Called at the end of evaluation or validation.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently the output of the last call to
on_test_batch_end() is passed to this argument for this method
but that may change in the future.
|
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
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.
Note that if the steps_per_execution
argument to compile
in
Model
is set to N
, this method will only be called every
N
batches.
Args | |
---|---|
batch
|
Integer, index of batch within the current epoch. |
logs
|
Dict. Aggregated metric results up until this batch. |
on_train_begin
on_train_begin(
logs=None
)
Called at the beginning of training.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently no data is passed to this argument for this method but that may change in the future. |
on_train_end
on_train_end(
logs=None
)
Called at the end of training.
Subclasses should override for any actions to run.
Args | |
---|---|
logs
|
Dict. Currently the output of the last call to
on_epoch_end() is passed to this argument for this method but
that may change in the future.
|
set_model
set_model(
model
)
set_params
set_params(
params
)