Callback¶
- class pytorch_lightning.callbacks.Callback[source]¶
Bases:
object
Abstract base class used to build new callbacks.
Subclass this class and override any of the relevant hooks
- load_state_dict(state_dict)[source]¶
Called when loading a checkpoint, implement to reload callback state given callback’s
state_dict
.
- on_after_backward(trainer, pl_module)[source]¶
Called after
loss.backward()
and before optimizers are stepped.- Return type:
- on_batch_end(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_train_batch_end
instead.Called when the training batch ends.
- Return type:
- on_batch_start(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_train_batch_start
instead.Called when the training batch begins.
- Return type:
- on_before_accelerator_backend_setup(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
setup()
instead.Called before accelerator is being setup.
- Return type:
- on_before_optimizer_step(trainer, pl_module, optimizer, opt_idx)[source]¶
Called before
optimizer.step()
.- Return type:
- on_before_zero_grad(trainer, pl_module, optimizer)[source]¶
Called before
optimizer.zero_grad()
.- Return type:
- on_configure_sharded_model(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use setup() instead.
Called before configure sharded model.
- Return type:
- on_epoch_end(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_<train/validation/test>_epoch_end
instead.Called when either of train/val/test epoch ends.
- Return type:
- on_epoch_start(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_<train/validation/test>_epoch_start
instead.Called when either of train/val/test epoch begins.
- Return type:
- on_exception(trainer, pl_module, exception)[source]¶
Called when any trainer execution is interrupted by an exception.
- Return type:
- on_init_end(trainer)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8.
Called when the trainer initialization ends, model has not yet been set.
- Return type:
- on_init_start(trainer)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8.
Called when the trainer initialization begins, model has not yet been set.
- Return type:
- on_load_checkpoint(trainer, pl_module, callback_state)[source]¶
Called when loading a model checkpoint, use to reload state.
- Parameters:
pl_module¶ (
LightningModule
) – the currentLightningModule
instance.callback_state¶ (
Dict
[str
,Any
]) – the callback state returned byon_save_checkpoint
.
Note
The
on_load_checkpoint
won’t be called with an undefined state. If youron_load_checkpoint
hook behavior doesn’t rely on a state, you will still need to overrideon_save_checkpoint
to return adummy state
.Deprecated since version v1.6: This callback hook will change its signature and behavior in v1.8. If you wish to load the state of the callback, use
Callback.load_state_dict
instead. In v1.8Callback.on_load_checkpoint(checkpoint)
will receive the entire loaded checkpoint dictionary instead of only the callback state from the checkpoint.- Return type:
- on_predict_batch_end(trainer, pl_module, outputs, batch, batch_idx, dataloader_idx)[source]¶
Called when the predict batch ends.
- Return type:
- on_predict_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]¶
Called when the predict batch begins.
- Return type:
- on_predict_epoch_end(trainer, pl_module, outputs)[source]¶
Called when the predict epoch ends.
- Return type:
- on_predict_epoch_start(trainer, pl_module)[source]¶
Called when the predict epoch begins.
- Return type:
- on_pretrain_routine_end(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_fit_start
instead.Called when the pretrain routine ends.
- Return type:
- on_pretrain_routine_start(trainer, pl_module)[source]¶
Deprecated since version v1.6: This callback hook was deprecated in v1.6 and will be removed in v1.8. Use
on_fit_start
instead.Called when the pretrain routine begins.
- Return type:
- on_sanity_check_end(trainer, pl_module)[source]¶
Called when the validation sanity check ends.
- Return type:
- on_sanity_check_start(trainer, pl_module)[source]¶
Called when the validation sanity check starts.
- Return type:
- on_save_checkpoint(trainer, pl_module, checkpoint)[source]¶
Called when saving a checkpoint to give you a chance to store anything else you might want to save.
- Parameters:
pl_module¶ (
LightningModule
) – the currentLightningModule
instance.checkpoint¶ (
Dict
[str
,Any
]) – the checkpoint dictionary that will be saved.
- Return type:
- Returns:
None or the callback state. Support for returning callback state will be removed in v1.8.
Deprecated since version v1.6: Returning a value from this method was deprecated in v1.6 and will be removed in v1.8. Implement
Callback.state_dict
instead to return state. In v1.8Callback.on_save_checkpoint
can only return None.
- on_test_batch_end(trainer, pl_module, outputs, batch, batch_idx, dataloader_idx)[source]¶
Called when the test batch ends.
- Return type:
- on_test_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]¶
Called when the test batch begins.
- Return type:
- on_train_batch_end(trainer, pl_module, outputs, batch, batch_idx)[source]¶
Called when the train batch ends.
- Return type:
- on_train_batch_start(trainer, pl_module, batch, batch_idx)[source]¶
Called when the train batch begins.
- Return type:
- on_train_epoch_end(trainer, pl_module)[source]¶
Called when the train epoch ends.
To access all batch outputs at the end of the epoch, either:
Implement training_epoch_end in the LightningModule and access outputs via the module OR
Cache data across train batch hooks inside the callback implementation to post-process in this hook.
- Return type:
- on_validation_batch_end(trainer, pl_module, outputs, batch, batch_idx, dataloader_idx)[source]¶
Called when the validation batch ends.
- Return type:
- on_validation_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]¶
Called when the validation batch begins.
- Return type:
- on_validation_epoch_start(trainer, pl_module)[source]¶
Called when the val epoch begins.
- Return type:
- on_validation_start(trainer, pl_module)[source]¶
Called when the validation loop begins.
- Return type:
- setup(trainer, pl_module, stage=None)[source]¶
Called when fit, validate, test, predict, or tune begins.
- Return type:
- teardown(trainer, pl_module, stage=None)[source]¶
Called when fit, validate, test, predict, or tune ends.
- Return type:
- property state_key: str¶
Identifier for the state of the callback.
Used to store and retrieve a callback’s state from the checkpoint dictionary by
checkpoint["callbacks"][state_key]
. Implementations of a callback need to provide a unique state key if 1) the callback has state and 2) it is desired to maintain the state of multiple instances of that callback.- Return type: