Shortcuts

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.

Parameters

state_dict (Dict[str, Any]) – the callback state returned by state_dict.

Return type

None

on_after_backward(trainer, pl_module)[source]

Called after loss.backward() and before optimizers are stepped.

Return type

None

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

None

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

None

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

None

on_before_backward(trainer, pl_module, loss)[source]

Called before loss.backward().

Return type

None

on_before_optimizer_step(trainer, pl_module, optimizer, opt_idx)[source]

Called before optimizer.step().

Return type

None

on_before_zero_grad(trainer, pl_module, optimizer)[source]

Called before optimizer.zero_grad().

Return type

None

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

None

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

None

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

None

on_exception(trainer, pl_module, exception)[source]

Called when any trainer execution is interrupted by an exception.

Return type

None

on_fit_end(trainer, pl_module)[source]

Called when fit ends.

Return type

None

on_fit_start(trainer, pl_module)[source]

Called when fit begins.

Return type

None

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

None

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

None

on_keyboard_interrupt(trainer, pl_module)[source]

Deprecated since version v1.5: This callback hook was deprecated in v1.5 in favor of on_exception and will be removed in v1.7.

Called when any trainer execution is interrupted by KeyboardInterrupt.

Return type

None

on_load_checkpoint(trainer, pl_module, callback_state)[source]

Called when loading a model checkpoint, use to reload state.

Parameters

Note

The on_load_checkpoint won’t be called with an undefined state. If your on_load_checkpoint hook behavior doesn’t rely on a state, you will still need to override on_save_checkpoint to return a dummy 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.8 Callback.on_load_checkpoint(checkpoint) will receive the entire loaded checkpoint dictionary instead of only the callback state from the checkpoint.

Return type

None

on_predict_batch_end(trainer, pl_module, outputs, batch, batch_idx, dataloader_idx)[source]

Called when the predict batch ends.

Return type

None

on_predict_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]

Called when the predict batch begins.

Return type

None

on_predict_end(trainer, pl_module)[source]

Called when predict ends.

Return type

None

on_predict_epoch_end(trainer, pl_module, outputs)[source]

Called when the predict epoch ends.

Return type

None

on_predict_epoch_start(trainer, pl_module)[source]

Called when the predict epoch begins.

Return type

None

on_predict_start(trainer, pl_module)[source]

Called when the predict begins.

Return type

None

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

None

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

None

on_sanity_check_end(trainer, pl_module)[source]

Called when the validation sanity check ends.

Return type

None

on_sanity_check_start(trainer, pl_module)[source]

Called when the validation sanity check starts.

Return type

None

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
Return type

Optional[dict]

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.8 Callback.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

None

on_test_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]

Called when the test batch begins.

Return type

None

on_test_end(trainer, pl_module)[source]

Called when the test ends.

Return type

None

on_test_epoch_end(trainer, pl_module)[source]

Called when the test epoch ends.

Return type

None

on_test_epoch_start(trainer, pl_module)[source]

Called when the test epoch begins.

Return type

None

on_test_start(trainer, pl_module)[source]

Called when the test begins.

Return type

None

on_train_batch_end(trainer, pl_module, outputs, batch, batch_idx, unused=0)[source]

Called when the train batch ends.

Return type

None

on_train_batch_start(trainer, pl_module, batch, batch_idx, unused=0)[source]

Called when the train batch begins.

Return type

None

on_train_end(trainer, pl_module)[source]

Called when the train ends.

Return type

None

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:

  1. Implement training_epoch_end in the LightningModule and access outputs via the module OR

  2. Cache data across train batch hooks inside the callback implementation to post-process in this hook.

Return type

None

on_train_epoch_start(trainer, pl_module)[source]

Called when the train epoch begins.

Return type

None

on_train_start(trainer, pl_module)[source]

Called when the train begins.

Return type

None

on_validation_batch_end(trainer, pl_module, outputs, batch, batch_idx, dataloader_idx)[source]

Called when the validation batch ends.

Return type

None

on_validation_batch_start(trainer, pl_module, batch, batch_idx, dataloader_idx)[source]

Called when the validation batch begins.

Return type

None

on_validation_end(trainer, pl_module)[source]

Called when the validation loop ends.

Return type

None

on_validation_epoch_end(trainer, pl_module)[source]

Called when the val epoch ends.

Return type

None

on_validation_epoch_start(trainer, pl_module)[source]

Called when the val epoch begins.

Return type

None

on_validation_start(trainer, pl_module)[source]

Called when the validation loop begins.

Return type

None

setup(trainer, pl_module, stage=None)[source]

Called when fit, validate, test, predict, or tune begins.

Return type

None

state_dict()[source]

Called when saving a checkpoint, implement to generate callback’s state_dict.

Return type

Dict[str, Any]

Returns

A dictionary containing callback state.

teardown(trainer, pl_module, stage=None)[source]

Called when fit, validate, test, predict, or tune ends.

Return type

None

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

str