From b5933f9af06069e4afe224f511f624f1aec297b3 Mon Sep 17 00:00:00 2001 From: wangtianshu Date: Tue, 16 Aug 2022 21:06:45 +0800 Subject: [PATCH 1/3] Fix wandb save_dir is None (#12748) --- src/pytorch_lightning/CHANGELOG.md | 3 +++ src/pytorch_lightning/loggers/wandb.py | 9 +++++---- tests/tests_pytorch/loggers/test_wandb.py | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pytorch_lightning/CHANGELOG.md b/src/pytorch_lightning/CHANGELOG.md index 9d4323548cb7e..70b67a35830fd 100644 --- a/src/pytorch_lightning/CHANGELOG.md +++ b/src/pytorch_lightning/CHANGELOG.md @@ -162,6 +162,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Fixed an issue to avoid the impact of sanity check on `reload_dataloaders_every_n_epochs` for validation ([#13964](https://github.com/Lightning-AI/lightning/pull/13964)) +- Fixed `WandbLogger` `save_dir` is not set after creation ([#14326](https://github.com/Lightning-AI/lightning/pull/14326)) + + ## [1.7.2] - 2022-08-17 ### Added diff --git a/src/pytorch_lightning/loggers/wandb.py b/src/pytorch_lightning/loggers/wandb.py index baf4bc9092774..20687dac5833b 100644 --- a/src/pytorch_lightning/loggers/wandb.py +++ b/src/pytorch_lightning/loggers/wandb.py @@ -31,9 +31,10 @@ from pytorch_lightning.utilities.rank_zero import rank_zero_only, rank_zero_warn try: - import wandb from wandb.sdk.lib import RunDisabled from wandb.wandb_run import Run + + import wandb except ModuleNotFoundError: # needed for test mocks, these tests shall be updated wandb, Run, RunDisabled = None, None, None # type: ignore @@ -223,7 +224,7 @@ def __init__(self, *args, **kwarg): Args: name: Display name for the run. - save_dir: Path where data is saved (wandb dir by default). + save_dir: Path where data is saved. offline: Run offline (data can be streamed later to wandb servers). id: Sets the version, mainly used to resume a previous run. version: Same as id. @@ -255,7 +256,7 @@ def __init__(self, *args, **kwarg): def __init__( self, name: Optional[str] = None, - save_dir: Optional[str] = None, + save_dir: str = ".", offline: bool = False, id: Optional[str] = None, anonymous: Optional[bool] = None, @@ -300,7 +301,7 @@ def __init__( name=name, project=project, id=version or id, - dir=save_dir, + dir=save_dir or kwargs.pop("dir"), resume="allow", anonymous=("allow" if anonymous else None), ) diff --git a/tests/tests_pytorch/loggers/test_wandb.py b/tests/tests_pytorch/loggers/test_wandb.py index 648e1a8f38ec8..bc21f29734677 100644 --- a/tests/tests_pytorch/loggers/test_wandb.py +++ b/tests/tests_pytorch/loggers/test_wandb.py @@ -58,7 +58,7 @@ def test_wandb_logger_init(wandb, monkeypatch): wandb.init.reset_mock() WandbLogger(project="test_project").experiment wandb.init.assert_called_once_with( - name=None, dir=None, id=None, project="test_project", resume="allow", anonymous=None + name=None, dir=".", id=None, project="test_project", resume="allow", anonymous=None ) # test wandb.init and setting logger experiment externally From 963298f476f1ab21d24e0eeea3042c95b6ca19c4 Mon Sep 17 00:00:00 2001 From: wangtianshu Date: Sat, 3 Sep 2022 20:15:37 +0800 Subject: [PATCH 2/3] add a test --- tests/tests_pytorch/loggers/test_wandb.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/tests_pytorch/loggers/test_wandb.py b/tests/tests_pytorch/loggers/test_wandb.py index bc21f29734677..b408046c9e5d2 100644 --- a/tests/tests_pytorch/loggers/test_wandb.py +++ b/tests/tests_pytorch/loggers/test_wandb.py @@ -61,6 +61,12 @@ def test_wandb_logger_init(wandb, monkeypatch): name=None, dir=".", id=None, project="test_project", resume="allow", anonymous=None ) + # test wandb.init set save_dir correctly after created + wandb.run = None + wandb.init.reset_mock() + logger = WandbLogger(project="test_project") + assert logger.save_dir is not None + # test wandb.init and setting logger experiment externally wandb.run = None run = wandb.init() From e9552c580d57765b66a9bbee689e405b6bc80040 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sat, 3 Sep 2022 12:19:45 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/pytorch_lightning/loggers/wandb.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pytorch_lightning/loggers/wandb.py b/src/pytorch_lightning/loggers/wandb.py index 20687dac5833b..3198e46b1a586 100644 --- a/src/pytorch_lightning/loggers/wandb.py +++ b/src/pytorch_lightning/loggers/wandb.py @@ -31,10 +31,9 @@ from pytorch_lightning.utilities.rank_zero import rank_zero_only, rank_zero_warn try: + import wandb from wandb.sdk.lib import RunDisabled from wandb.wandb_run import Run - - import wandb except ModuleNotFoundError: # needed for test mocks, these tests shall be updated wandb, Run, RunDisabled = None, None, None # type: ignore