![]() |
Class LearningRateScheduler
Learning rate scheduler.
Inherits From: Callback
Aliases:
- Class
tf.compat.v1.keras.callbacks.LearningRateScheduler
- Class
tf.compat.v2.keras.callbacks.LearningRateScheduler
Arguments:
schedule
: a function that takes an epoch index as input (integer, indexed from 0) and returns a new learning rate as output (float).verbose
: int. 0: quiet, 1: update messages.
# This function keeps the learning rate at 0.001 for the first ten epochs
# and decreases it exponentially after that.
def scheduler(epoch):
if epoch < 10:
return 0.001
else:
return 0.001 * tf.math.exp(0.1 * (10 - epoch))
callback = tf.keras.callbacks.LearningRateScheduler(scheduler)
model.fit(data, labels, epochs=100, callbacks=[callback],
validation_data=(val_data, val_labels))
__init__
__init__(
schedule,
verbose=0
)
Initialize self. See help(type(self)) for accurate signature.
Methods
tf.keras.callbacks.LearningRateScheduler.on_batch_begin
on_batch_begin(
batch,
logs=None
)
A backwards compatibility alias for on_train_batch_begin
.
tf.keras.callbacks.LearningRateScheduler.on_batch_end
on_batch_end(
batch,
logs=None
)
A backwards compatibility alias for on_train_batch_end
.
tf.keras.callbacks.LearningRateScheduler.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.
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.
tf.keras.callbacks.LearningRateScheduler.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.
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 withval_
.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.LearningRateScheduler.on_predict_begin
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.
tf.keras.callbacks.LearningRateScheduler.on_predict_end
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.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.LearningRateScheduler.on_test_begin
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.
tf.keras.callbacks.LearningRateScheduler.on_test_end
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.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Has keysbatch
andsize
representing the current batch number and the size of the batch.
tf.keras.callbacks.LearningRateScheduler.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.
Arguments:
batch
: integer, index of batch within the current epoch.logs
: dict. Metric results for this batch.
tf.keras.callbacks.LearningRateScheduler.on_train_begin
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.
tf.keras.callbacks.LearningRateScheduler.on_train_end
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.
tf.keras.callbacks.LearningRateScheduler.set_model
set_model(model)
tf.keras.callbacks.LearningRateScheduler.set_params
set_params(params)