Skip to content

WandbLogger save_dir should be set after creation #12748

@carmocca

Description

@carmocca

🐛 Bug

Save dir is not defined on instantiation as the docs suggest: https://github.com/PyTorchLightning/pytorch-lightning/blob/16b958095849e5c03805918d66bf4a7e1d32da44/pytorch_lightning/loggers/wandb.py#L221 https://github.com/PyTorchLightning/pytorch-lightning/blob/16b958095849e5c03805918d66bf4a7e1d32da44/pytorch_lightning/loggers/wandb.py#L305

To Reproduce

from pytorch_lightning.loggers import WandbLogger

logger = WandbLogger(project="foo")
assert logger.save_dir is not None

Expected behavior

We want this because the LightningCLI tries to access the log_dir https://github.com/PyTorchLightning/pytorch-lightning/blob/16b958095849e5c03805918d66bf4a7e1d32da44/pytorch_lightning/utilities/cli.py#L430-L432 with https://github.com/PyTorchLightning/pytorch-lightning/blob/16b958095849e5c03805918d66bf4a7e1d32da44/pytorch_lightning/trainer/trainer.py#L2186 but it's not available on creation

Additional context

This can also be reproduced with

from pytorch_lightning.utilities.cli import LightningCLI
from tests.helpers import BoringModel

cli = LightningCLI(BoringModel, run=False, trainer_defaults={"max_epochs": 1})
cli.trainer.fit(cli.model)
print(cli.trainer.logger)
$ python bug.py --trainer.logger=WandbLogger
...
Traceback (most recent call last):
  File "/home/carmocca/git/pytorch-lightning/kk.py", line 5, in <module>
    cli.trainer.fit(cli.model)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 724, in fit
    self._call_and_handle_interrupt(
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 677, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 765, in _fit_impl
    results = self._run(model, ckpt_path=self.ckpt_path)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1128, in _run
    self._call_setup_hook()  # allow user to setup lightning_module in accelerator environment
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1447, in _call_setup_hook
    self._call_callback_hooks("setup", stage=fn)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/trainer/trainer.py", line 1590, in _call_callback_hooks
    fn(self, self.lightning_module, *args, **kwargs)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/utilities/cli.py", line 432, in setup
    assert log_dir is not None

cc @awaelchli @morganmcg1 @AyushExel @borisdayma @scottire @manangoel99

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinglogger: wandbWeights & Biases

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions