Missed TensorFlow World? Check out the recap. Learn more

tf.keras.callbacks.Callback

Class Callback

Defined in tensorflow/python/keras/callbacks.py.

Abstract base class used to build new callbacks.

Attributes:

  • params: dict. Training parameters (eg. verbosity, batch size, number of epochs...).
  • model: instance of keras.models.Model. Reference of the model being trained.

The logs dictionary that callback methods take as argument will contain keys for quantities relevant to the current batch or epoch.

Currently, the .fit() method of the Sequential model class will include the following quantities in the logs that it passes to its callbacks:

  • on_epoch_end: logs include acc and loss, and optionally include val_loss (if validation is enabled in fit), and val_acc (if validation and accuracy monitoring are enabled).
  • on_batch_begin: logs include size, the number of samples in the current batch.
  • on_batch_end: logs include loss, and optionally acc (if accuracy monitoring is enabled).

__init__

__init__()

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

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,
    mode='train'
)

Called at the start of an epoch.

Subclasses should override for any actions to run.

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.
  • mode: One of 'train'/'test'/'predict'

on_epoch_end

on_epoch_end(
    epoch,
    logs=None,
    mode='train'
)

Called at the end of an epoch.

Subclasses should override for any actions to run.

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_.
  • mode: One of 'train'/'test'/'predict'

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

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.

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.

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.

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

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.

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.

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.

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

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.

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.

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.

set_model

set_model(model)

set_params

set_params(params)