From 1f6aefc81647356303f66e059aa8a8392d576183 Mon Sep 17 00:00:00 2001 From: Ferdinand Schlatt Date: Tue, 30 Dec 2025 12:54:03 +0100 Subject: [PATCH 1/6] use wandb directory as save directory --- src/lightning/pytorch/loggers/wandb.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lightning/pytorch/loggers/wandb.py b/src/lightning/pytorch/loggers/wandb.py index 37ca362fa40c1..3adeb1d5bfbee 100644 --- a/src/lightning/pytorch/loggers/wandb.py +++ b/src/lightning/pytorch/loggers/wandb.py @@ -36,6 +36,7 @@ from lightning.fabric.utilities.types import _PATH from lightning.pytorch.callbacks.model_checkpoint import ModelCheckpoint from lightning.pytorch.loggers.logger import Logger, rank_zero_experiment +from lightning.fabric.loggers.logger import _DummyExperiment from lightning.pytorch.loggers.utilities import _scan_checkpoints from lightning.pytorch.utilities.exceptions import MisconfigurationException from lightning.pytorch.utilities.rank_zero import rank_zero_only, rank_zero_warn @@ -562,7 +563,9 @@ def save_dir(self) -> Optional[str]: The path to the save directory. """ - return self._save_dir + if isinstance(self.experiment, _DummyExperiment): + return None + return self.experiment.dir @property @override From 14873256c1e4ecf2804f81f76fb6c8d80376ba23 Mon Sep 17 00:00:00 2001 From: Ferdinand Schlatt Date: Tue, 30 Dec 2025 14:07:06 +0100 Subject: [PATCH 2/6] update default value of save_dir --- src/lightning/pytorch/loggers/wandb.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lightning/pytorch/loggers/wandb.py b/src/lightning/pytorch/loggers/wandb.py index 3adeb1d5bfbee..924ba0466c345 100644 --- a/src/lightning/pytorch/loggers/wandb.py +++ b/src/lightning/pytorch/loggers/wandb.py @@ -27,6 +27,7 @@ from torch import Tensor from typing_extensions import override +from lightning.fabric.loggers.logger import _DummyExperiment from lightning.fabric.utilities.logger import ( _add_prefix, _convert_json_serializable, @@ -36,7 +37,6 @@ from lightning.fabric.utilities.types import _PATH from lightning.pytorch.callbacks.model_checkpoint import ModelCheckpoint from lightning.pytorch.loggers.logger import Logger, rank_zero_experiment -from lightning.fabric.loggers.logger import _DummyExperiment from lightning.pytorch.loggers.utilities import _scan_checkpoints from lightning.pytorch.utilities.exceptions import MisconfigurationException from lightning.pytorch.utilities.rank_zero import rank_zero_only, rank_zero_warn @@ -259,7 +259,7 @@ def any_lightning_module_function_or_hook(self): Args: name: Display name for the run. - save_dir: Path where data is saved. + save_dir: Path where data is saved. If None, defaults to the experiment's `files` directory. version: Sets the version, mainly used to resume a previous run. offline: Run offline (data can be streamed later to wandb servers). dir: Same as save_dir. @@ -295,7 +295,7 @@ def any_lightning_module_function_or_hook(self): def __init__( self, name: Optional[str] = None, - save_dir: _PATH = ".", + save_dir: Optional[_PATH] = None, version: Optional[str] = None, offline: bool = False, dir: Optional[_PATH] = None, @@ -565,7 +565,9 @@ def save_dir(self) -> Optional[str]: """ if isinstance(self.experiment, _DummyExperiment): return None - return self.experiment.dir + if self._save_dir is None: + return self.experiment.dir + return self._save_dir @property @override From 2644173bfa8a240557f15782f38050a1cbd2743c Mon Sep 17 00:00:00 2001 From: Ferdinand Schlatt Date: Tue, 30 Dec 2025 14:08:45 +0100 Subject: [PATCH 3/6] fix wandb tests --- tests/tests_pytorch/loggers/conftest.py | 1 + tests/tests_pytorch/loggers/test_wandb.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/tests_pytorch/loggers/conftest.py b/tests/tests_pytorch/loggers/conftest.py index bc72493b02fee..5c6342915e706 100644 --- a/tests/tests_pytorch/loggers/conftest.py +++ b/tests/tests_pytorch/loggers/conftest.py @@ -57,6 +57,7 @@ class RunType: # to make isinstance checks pass use_artifact=Mock(), define_metric=Mock(), id="run_id", + dir="/path/to/wandb/run", ) wandb = ModuleType("wandb") diff --git a/tests/tests_pytorch/loggers/test_wandb.py b/tests/tests_pytorch/loggers/test_wandb.py index e9b9e9a8090b0..c76d822def4c2 100644 --- a/tests/tests_pytorch/loggers/test_wandb.py +++ b/tests/tests_pytorch/loggers/test_wandb.py @@ -68,7 +68,7 @@ def test_wandb_logger_init(wandb_mock): wandb_mock.init.reset_mock() WandbLogger(project="test_project").experiment wandb_mock.init.assert_called_once_with( - name=None, dir=".", id=None, project="test_project", resume="allow", anonymous=None + name=None, dir=None, id=None, project="test_project", resume="allow", anonymous=None ) # test wandb.init set save_dir correctly after created From fcbecc8722a905ef7b28cb14a0a402db45400da9 Mon Sep 17 00:00:00 2001 From: Ferdinand Schlatt Date: Fri, 2 Jan 2026 13:31:01 +0100 Subject: [PATCH 4/6] Revert "update default value of save_dir" This reverts commit 14873256c1e4ecf2804f81f76fb6c8d80376ba23. --- src/lightning/pytorch/loggers/wandb.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lightning/pytorch/loggers/wandb.py b/src/lightning/pytorch/loggers/wandb.py index 924ba0466c345..3adeb1d5bfbee 100644 --- a/src/lightning/pytorch/loggers/wandb.py +++ b/src/lightning/pytorch/loggers/wandb.py @@ -27,7 +27,6 @@ from torch import Tensor from typing_extensions import override -from lightning.fabric.loggers.logger import _DummyExperiment from lightning.fabric.utilities.logger import ( _add_prefix, _convert_json_serializable, @@ -37,6 +36,7 @@ from lightning.fabric.utilities.types import _PATH from lightning.pytorch.callbacks.model_checkpoint import ModelCheckpoint from lightning.pytorch.loggers.logger import Logger, rank_zero_experiment +from lightning.fabric.loggers.logger import _DummyExperiment from lightning.pytorch.loggers.utilities import _scan_checkpoints from lightning.pytorch.utilities.exceptions import MisconfigurationException from lightning.pytorch.utilities.rank_zero import rank_zero_only, rank_zero_warn @@ -259,7 +259,7 @@ def any_lightning_module_function_or_hook(self): Args: name: Display name for the run. - save_dir: Path where data is saved. If None, defaults to the experiment's `files` directory. + save_dir: Path where data is saved. version: Sets the version, mainly used to resume a previous run. offline: Run offline (data can be streamed later to wandb servers). dir: Same as save_dir. @@ -295,7 +295,7 @@ def any_lightning_module_function_or_hook(self): def __init__( self, name: Optional[str] = None, - save_dir: Optional[_PATH] = None, + save_dir: _PATH = ".", version: Optional[str] = None, offline: bool = False, dir: Optional[_PATH] = None, @@ -565,9 +565,7 @@ def save_dir(self) -> Optional[str]: """ if isinstance(self.experiment, _DummyExperiment): return None - if self._save_dir is None: - return self.experiment.dir - return self._save_dir + return self.experiment.dir @property @override From 55e5791a0f3fdbc842047a924d5576ea338c8214 Mon Sep 17 00:00:00 2001 From: Ferdinand Schlatt Date: Fri, 2 Jan 2026 13:45:18 +0100 Subject: [PATCH 5/6] Revert "fix wandb tests" This reverts commit 2644173bfa8a240557f15782f38050a1cbd2743c. --- tests/tests_pytorch/loggers/conftest.py | 1 - tests/tests_pytorch/loggers/test_wandb.py | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/tests_pytorch/loggers/conftest.py b/tests/tests_pytorch/loggers/conftest.py index 5c6342915e706..bc72493b02fee 100644 --- a/tests/tests_pytorch/loggers/conftest.py +++ b/tests/tests_pytorch/loggers/conftest.py @@ -57,7 +57,6 @@ class RunType: # to make isinstance checks pass use_artifact=Mock(), define_metric=Mock(), id="run_id", - dir="/path/to/wandb/run", ) wandb = ModuleType("wandb") diff --git a/tests/tests_pytorch/loggers/test_wandb.py b/tests/tests_pytorch/loggers/test_wandb.py index c76d822def4c2..e9b9e9a8090b0 100644 --- a/tests/tests_pytorch/loggers/test_wandb.py +++ b/tests/tests_pytorch/loggers/test_wandb.py @@ -68,7 +68,7 @@ def test_wandb_logger_init(wandb_mock): wandb_mock.init.reset_mock() WandbLogger(project="test_project").experiment wandb_mock.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 set save_dir correctly after created From 21f6d5fedf79083c0a14a4cf6f5c796d955f48ca Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 2 Jan 2026 12:46:31 +0000 Subject: [PATCH 6/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- src/lightning/pytorch/loggers/wandb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lightning/pytorch/loggers/wandb.py b/src/lightning/pytorch/loggers/wandb.py index 3adeb1d5bfbee..236ba2badadb0 100644 --- a/src/lightning/pytorch/loggers/wandb.py +++ b/src/lightning/pytorch/loggers/wandb.py @@ -27,6 +27,7 @@ from torch import Tensor from typing_extensions import override +from lightning.fabric.loggers.logger import _DummyExperiment from lightning.fabric.utilities.logger import ( _add_prefix, _convert_json_serializable, @@ -36,7 +37,6 @@ from lightning.fabric.utilities.types import _PATH from lightning.pytorch.callbacks.model_checkpoint import ModelCheckpoint from lightning.pytorch.loggers.logger import Logger, rank_zero_experiment -from lightning.fabric.loggers.logger import _DummyExperiment from lightning.pytorch.loggers.utilities import _scan_checkpoints from lightning.pytorch.utilities.exceptions import MisconfigurationException from lightning.pytorch.utilities.rank_zero import rank_zero_only, rank_zero_warn