-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Closed
Labels
bugSomething isn't workingSomething isn't workingneeds triageWaiting to be triaged by maintainersWaiting to be triaged by maintainersver: 2.4.x
Description
Bug description
When using the lightning CLI in combination with WandbLogger, the logger can't be serialized -> "Unable to serialize instance <lightning.pytorch.loggers.wandb.WandbLogger object at 0x102fcfc90>" is added to the config.yaml -> Can't start the CLI with the generated config file.
script.py
from lightning.pytorch.cli import LightningCLI
from lightning.pytorch.demos.boring_classes import BoringDataModule, DemoModel
from lightning.pytorch.loggers import WandbLogger
def cli_main():
wandb_logger = WandbLogger()
cli = LightningCLI(
DemoModel,
BoringDataModule,
trainer_defaults={"logger": [wandb_logger]},
)
if __name__ == "__main__":
cli_main()
config.yaml
# lightning.pytorch==2.4.0
seed_everything: 0
trainer:
accelerator: auto
strategy: auto
devices: auto
num_nodes: 1
precision: null
logger:
- Unable to serialize instance <lightning.pytorch.loggers.wandb.WandbLogger object
at 0x102fcfc90>
callbacks: null
fast_dev_run: false
...
python script.py fit --config config.yaml
error: Parser key "trainer.logger":
Does not validate against any of the Union subtypes
Subtypes: (<class 'lightning.pytorch.loggers.logger.Logger'>, typing.Iterable[lightning.pytorch.loggers.logger.Logger], <class 'bool'>, <class 'NoneType'>)
Errors:
- Not a valid subclass of Logger
Subclass types expect one of:
- a class path (str)
- a dict with class_path entry
- a dict without class_path but with init_args entry (class path given previously)
- Unexpected import path format: Unable to serialize instance <lightning.pytorch.loggers.wandb.WandbLogger object at 0x10090aa50>
- Expected a <class 'bool'>
- Expected a <class 'NoneType'>
Given value type: <class 'list'>
Given value: ['Unable to serialize instance <lightning.pytorch.loggers.wandb.WandbLogger object at 0x10090aa50>']
What version are you seeing the problem on?
master
How to reproduce the bug
from lightning.pytorch.cli import LightningCLI
from lightning.pytorch.demos.boring_classes import BoringDataModule, DemoModel
from lightning.pytorch.loggers import WandbLogger
def cli_main():
wandb_logger = WandbLogger()
cli = LightningCLI(
DemoModel,
BoringDataModule,
trainer_defaults={"logger": [wandb_logger]},
)
if __name__ == "__main__":
cli_main()
Error messages and logs
JsonargparseWarning:
Unable to serialize instance <lightning.pytorch.loggers.wandb.WandbLogger object at 0x104a92a50>
Environment
Current environment
* CUDA:
- GPU: None
- available: False
- version: None
* Lightning:
- lightning: 2.4.0
- lightning-utilities: 0.11.7
- pytorch-lightning: 2.4.0
- torch: 2.4.1
- torchmetrics: 1.4.2
* Packages:
- aiohappyeyeballs: 2.4.3
- aiohttp: 3.10.8
- aiosignal: 1.3.1
- antlr4-python3-runtime: 4.9.3
- attrs: 24.2.0
- autocommand: 2.2.2
- backports.tarfile: 1.2.0
- bert: 0.1
- bitsandbytes: 0.42.0
- certifi: 2024.8.30
- charset-normalizer: 3.3.2
- click: 8.1.7
- contourpy: 1.3.0
- cycler: 0.12.1
- docker-pycreds: 0.4.0
- docstring-parser: 0.16
- filelock: 3.16.1
- fonttools: 4.54.1
- frozenlist: 1.4.1
- fsspec: 2024.9.0
- gitdb: 4.0.11
- gitpython: 3.1.43
- hydra-core: 1.3.2
- idna: 3.10
- importlib-metadata: 8.0.0
- importlib-resources: 6.4.5
- inflect: 7.3.1
- jaraco.collections: 5.1.0
- jaraco.context: 5.3.0
- jaraco.functools: 4.0.1
- jaraco.text: 3.12.1
- jinja2: 3.1.4
- jsonargparse: 4.33.1
- kiwisolver: 1.4.7
- lightning: 2.4.0
- lightning-utilities: 0.11.7
- markdown-it-py: 3.0.0
- markupsafe: 2.1.5
- matplotlib: 3.9.2
- mdurl: 0.1.2
- more-itertools: 10.3.0
- mpmath: 1.3.0
- multidict: 6.1.0
- networkx: 3.3
- numpy: 2.1.1
- omegaconf: 2.3.0
- packaging: 24.1
- pillow: 10.4.0
- pip: 24.2
- platformdirs: 4.3.6
- protobuf: 5.28.2
- psutil: 6.0.0
- pygments: 2.18.0
- pyparsing: 3.1.4
- python-dateutil: 2.9.0.post0
- pytorch-lightning: 2.4.0
- pyyaml: 6.0.2
- requests: 2.32.3
- rich: 13.9.1
- scipy: 1.14.1
- sentry-sdk: 2.15.0
- setproctitle: 1.3.3
- setuptools: 75.1.0
- six: 1.16.0
- smmap: 5.0.1
- sympy: 1.13.3
- tensorboardx: 2.6.2.2
- tomli: 2.0.1
- torch: 2.4.1
- torchmetrics: 1.4.2
- tqdm: 4.66.5
- typeguard: 4.3.0
- typeshed-client: 2.7.0
- typing-extensions: 4.12.2
- urllib3: 2.2.3
- wandb: 0.18.3
- wheel: 0.44.0
- yarl: 1.13.1
- zipp: 3.19.2
* System:
- OS: Darwin
- architecture:
- 64bit
-
- processor: arm
- python: 3.11.0
- release: 23.6.0
- version: Darwin Kernel Version 23.6.0: Mon Jul 29 21:14:21 PDT 2024; root:xnu-10063.141.2~1/RELEASE_ARM64_T8103
Lightning installed with pip
More info
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingneeds triageWaiting to be triaged by maintainersWaiting to be triaged by maintainersver: 2.4.x