A related issue with logger and log dir namings. Let’s say I want the following loggers:
# A
pl_loggers.TensorBoardLogger(save_dir=os.getcwd(),
version=None,
name='lightning_logs'),
# B
pl_loggers.WandbLogger(save_dir=os.getcwd()),
Logs saved with Trainer(…, logger=[A]) :
lightning_logs
├── 0
│ └── checkpoints
│ └── epoch=4.ckpt
└── version_0
├── events.out.tfevents.1601074580.ip-172-31-95-173.103868.0
└── hparams.yaml
Logs saved with Trainer(…, logger=[A,B]) :
lightning_logs
└── version_0
├── events.out.tfevents.1601071061.ip-172-31-95-173.63314.0
└── hparams.yaml
lightning_logs_<project_dir_name>
└── 0_210yiyz0
└── checkpoints
└── epoch=24.ckpt
Logs saved with Trainer(…, logger=[B,A]) :
<project_dir_name>_lightning_logs
├── 3n3bfyoa_0
│ └── checkpoints
│ └── epoch=29.ckpt
lightning_logs
├── version_0
│ ├── events.out.tfevents.1601073059.ip-172-31-95-173.86365.0
│ └── hparams.yaml
Finally, logs saved without explicitly passing logger:
lightning_logs
├── version_0
│ ├── checkpoints
│ │ └── epoch=39.ckpt
│ ├── events.out.tfevents.1601074683.ip-172-31-95-173.105180.0
│ └── hparams.yaml
The last output structure/naming is desired. However, that seems to conflict with the requirement of adding logger B the w&b logger.