lightning_template.utils.callbacks.save_and_log_config_callback#
Module Contents#
Classes#
Saves and logs a LightningCLI config to the log_dir when training starts. |
- class lightning_template.utils.callbacks.save_and_log_config_callback.SaveAndLogConfigCallback(parser: LightningArgumentParser, config: jsonargparse.Namespace, config_filename: str = 'config.yaml', overwrite: bool = False, multifile: bool = False, save_to_log_dir: bool = True)#
Bases:
lightning.pytorch.cli.SaveConfigCallbackSaves 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.