lightning_template.utils.callbacks.save_and_log_config_callback

lightning_template.utils.callbacks.save_and_log_config_callback#

Classes#

SaveAndLogConfigCallback

Saves and logs a LightningCLI config to the log_dir when training starts.

Module Contents#

class lightning_template.utils.callbacks.save_and_log_config_callback.SaveAndLogConfigCallback(*args, save_to_log_dir: bool = False, **kwargs)#

Bases: lightning.pytorch.cli.SaveConfigCallback

Saves and logs a LightningCLI config to the log_dir when training starts.

save_config(trainer: lightning.pytorch.Trainer, pl_module: lightning.pytorch.LightningModule, stage: str) None#

Implement to save the config in some other place additional to the standard log_dir.

Example

def save_config(self, trainer, pl_module, stage):
if isinstance(trainer.logger, Logger):

config = self.parser.dump(self.config, skip_none=False) # Required for proper reproducibility trainer.logger.log_hyperparams({“config”: config})

Note

This method is only called on rank zero. This allows to implement a custom save config without having to worry about ranks or race conditions. Since it only runs on rank zero, any collective call will make the process hang waiting for a broadcast. If you need to make collective calls, implement the setup method instead.