class lightning.pytorch.loggers.CSVLogger(save_dir, name='lightning_logs', version=None, prefix='', flush_logs_every_n_steps=100)[source]

Bases: Logger, CSVLogger

Log to local file system in yaml and CSV format.

Logs are saved to os.path.join(save_dir, name, version).


>>> from lightning.pytorch import Trainer
>>> from lightning.pytorch.loggers import CSVLogger
>>> logger = CSVLogger("logs", name="my_exp_name")
>>> trainer = Trainer(logger=logger)
  • save_dir (Union[str, Path]) – Save directory

  • name (str) – Experiment name. Defaults to 'lightning_logs'.

  • version (Union[int, str, None]) – Experiment version. If version is not specified the logger inspects the save directory for existing versions, then automatically assigns the next available version.

  • prefix (str) – A string to put at the beginning of metric keys.

  • flush_logs_every_n_steps (int) – How often to flush logs to disk (defaults to every 100 steps).


Record hyperparameters.

  • params (Union[Dict[str, Any], Namespace]) – Namespace or Dict containing the hyperparameters

  • args – Optional positional arguments, depends on the specific logger being used

  • kwargs – Optional keyword arguments, depends on the specific logger being used

Return type:


property experiment: _ExperimentWriter

Actual _ExperimentWriter object. To use _ExperimentWriter features in your LightningModule do the following.


property log_dir: str

The log directory for this run.

By default, it is named 'version_${self.version}' but it can be overridden by passing a string value for the constructor’s version parameter instead of None or an int.

property root_dir: str

Parent directory for all checkpoint subdirectories.

If the experiment name parameter is an empty string, no experiment subdirectory is used and the checkpoint will be saved in “save_dir/version”

property save_dir: str

The current directory where logs are saved.


The path to current directory where logs are saved.