Bases: Callback
Callback to save CAREamics configuration in Lightning checkpoints.
This callback automatically stores CAREamics version, experiment name, and training configuration in the checkpoint file for reproducibility.
Parameters:
| Name | Type | Description | Default |
careamics_version | str | Version of CAREamics used for training. | required |
experiment_name | str | | required |
training_config | TrainingConfig | Training configuration to store in checkpoint. | required |
Attributes:
| Name | Type | Description |
careamics_version | str | Version of CAREamics used for training. |
experiment_name | str | |
training_config | TrainingConfig | Training configuration to store in checkpoint. |
Source code in src/careamics/lightning/callbacks/careamics_checkpoint_info_callback.py
| class CareamicsCheckpointInfo(Callback):
"""
Callback to save CAREamics configuration in Lightning checkpoints.
This callback automatically stores CAREamics version, experiment name,
and training configuration in the checkpoint file for reproducibility.
Parameters
----------
careamics_version : str
Version of CAREamics used for training.
experiment_name : str
Name of the experiment.
training_config : TrainingConfig
Training configuration to store in checkpoint.
Attributes
----------
careamics_version : str
Version of CAREamics used for training.
experiment_name : str
Name of the experiment.
training_config : TrainingConfig
Training configuration to store in checkpoint.
"""
def __init__(
self,
careamics_version: str,
experiment_name: str,
training_config: TrainingConfig,
):
"""
Initialize the callback.
Parameters
----------
careamics_version : str
Version of CAREamics used for training.
experiment_name : str
Name of the experiment.
training_config : TrainingConfig
Training configuration to store in checkpoint.
"""
super().__init__()
self.careamics_version = careamics_version
self.experiment_name = experiment_name
self.training_config = training_config
def on_save_checkpoint(
self, trainer: Trainer, pl_module: LightningModule, checkpoint: dict[str, Any]
) -> None:
"""
Lightning hook called when saving a checkpoint.
Adds CAREamics configuration to the checkpoint dictionary.
Parameters
----------
trainer : Trainer
Lightning trainer instance.
pl_module : LightningModule
Lightning module being trained.
checkpoint : dict[str, Any]
Checkpoint dictionary to modify.
"""
checkpoint["careamics_info"] = {
"version": self.careamics_version,
"experiment_name": self.experiment_name,
"training_config": self.training_config.model_dump(mode="json"),
}
|
__init__(careamics_version, experiment_name, training_config)
Initialize the callback.
Parameters:
| Name | Type | Description | Default |
careamics_version | str | Version of CAREamics used for training. | required |
experiment_name | str | | required |
training_config | TrainingConfig | Training configuration to store in checkpoint. | required |
Source code in src/careamics/lightning/callbacks/careamics_checkpoint_info_callback.py
| def __init__(
self,
careamics_version: str,
experiment_name: str,
training_config: TrainingConfig,
):
"""
Initialize the callback.
Parameters
----------
careamics_version : str
Version of CAREamics used for training.
experiment_name : str
Name of the experiment.
training_config : TrainingConfig
Training configuration to store in checkpoint.
"""
super().__init__()
self.careamics_version = careamics_version
self.experiment_name = experiment_name
self.training_config = training_config
|
on_save_checkpoint(trainer, pl_module, checkpoint)
Lightning hook called when saving a checkpoint.
Adds CAREamics configuration to the checkpoint dictionary.
Parameters:
| Name | Type | Description | Default |
trainer | Trainer | Lightning trainer instance. | required |
pl_module | LightningModule | Lightning module being trained. | required |
checkpoint | dict[str, Any] | Checkpoint dictionary to modify. | required |
Source code in src/careamics/lightning/callbacks/careamics_checkpoint_info_callback.py
| def on_save_checkpoint(
self, trainer: Trainer, pl_module: LightningModule, checkpoint: dict[str, Any]
) -> None:
"""
Lightning hook called when saving a checkpoint.
Adds CAREamics configuration to the checkpoint dictionary.
Parameters
----------
trainer : Trainer
Lightning trainer instance.
pl_module : LightningModule
Lightning module being trained.
checkpoint : dict[str, Any]
Checkpoint dictionary to modify.
"""
checkpoint["careamics_info"] = {
"version": self.careamics_version,
"experiment_name": self.experiment_name,
"training_config": self.training_config.model_dump(mode="json"),
}
|