-
Notifications
You must be signed in to change notification settings - Fork 3.6k
fix mypy errors for loggers/wandb.py #13483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix mypy errors for loggers/wandb.py #13483
Conversation
remove extra assert
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, thanks for the PR, I left one comment in the code. It also seems one additional test gets broken by your change related to CLI (utilities/test_cli.py::test_wandb_logger_init_args). However, I'm not too familiar with CLI tests, would someone else mind taking a look at that test please? cc @carmocca as he helped land the particular failing test
I'm actually not sure about what's the problem. I see: E ValueError: Value "Namespace(class_path='pytorch_lightning.loggers.WandbLogger', init_args=Namespace(notes='wandb', save_dir='wandb'))" does not validate against any of the types in typing.Union[pytorch_lightning.loggers.logger.Logger, typing.Iterable[pytorch_lightning.loggers.logger.Logger], bool]:
E - Problem with given class_path "pytorch_lightning.loggers.WandbLogger":
E - Component not supported: Call(func=Attribute(value=Attribute(value=Name(id='self', ctx=Load()), attr='_wandb_init', ctx=Load()), attr='update', ctx=Load()), args=[], keywords=[keyword(arg=None, value=Name(id='kwargs', ctx=Load()))])Perhaps you know @mauvilsa? |
Seems like the error is due to the @pytest.mark.skipif(not _WANDB_AVAILABLE, reason="wandb is required")
def test_wandb_logger_init_args():
_test_logger_init_args("WandbLogger", {"save_dir": "wandb", "notes": "wandb"})'Configuration check failed :: No action for destination key "notes" to check its value.'
- Expected a List but got "Namespace(class_path='pytorch_lightning.loggers.WandbLogger', init_args=Namespace(name=None, save_dir='wandb', offline=False, id=None, anonymous=None, version=None, project=None, log_model=False, experiment=None, prefix='', agg_key_funcs=None, agg_default_func=None, notes='wandb'))"
- Expected a <class 'bool'> but got "Namespace(class_path='pytorch_lightning.loggers.WandbLogger', init_args=Namespace(name=None, save_dir='wandb', offline=False, id=None, anonymous=None, version=None, project=None, log_model=False, experiment=None, prefix='', agg_key_funcs=None, agg_default_func=None, notes='wandb'))"Changing |
Head branch was pushed to by a user without write access
Codecov Report
@@ Coverage Diff @@
## master #13483 +/- ##
=========================================
- Coverage 86% 76% -10%
=========================================
Files 327 327
Lines 25485 25486 +1
=========================================
- Hits 21893 19446 -2447
- Misses 3592 6040 +2448 |
Co-authored-by: Carlos Mocholí <[email protected]> Co-authored-by: Rohit Gupta <[email protected]> Co-authored-by: Akihiro Nitta <[email protected]>
* Rename GPUAccelerator to CUDAAccelerator * Add back GPUAccelerator and deprecate it * Remove temporary registration * accelerator connector reroute * accelerator_connector tests * update enums * lite support + tests * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * typo * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * move "gpu" support up before actual accelerator flag checks * Stupid arguments * fix tests * change exception type * fix registry test * pre-commit * CI: debug HPU flow (#13419) * Update the hpu-tests.yml to pull docker from vault * fire & sudo * habana-gaudi-hpus * Check the driver status on gaudi server (#13718) Co-authored-by: arao <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Akarsha Rao <[email protected]> * Update typing-extensions requirement from <4.2.1,>=4.0.0 to >=4.0.0,<4.3.1 in /requirements (#13529) Update typing-extensions requirement in /requirements Updates the requirements on [typing-extensions](https://github.com/python/typing_extensions) to permit the latest version. - [Release notes](https://github.com/python/typing_extensions/releases) - [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md) - [Commits](python/typing_extensions@4.0.0...4.3.0) --- updated-dependencies: - dependency-name: typing-extensions dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * [pre-commit.ci] pre-commit suggestions (#13540) updates: - [github.com/psf/black: 22.3.0 → 22.6.0](psf/black@22.3.0...22.6.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * [FIX] Native FSDP precision + tests (#12985) * Simplify fetching's loader types (#13111) * Include app templates to the lightning and app packages (#13731) * Include app templates to the package Co-authored-by: mansy <[email protected]> Co-authored-by: Adrian Wälchli <[email protected]> * Fix mypy typing errors in pytorch_lightning/callbacks/model_checkpoint.py (#13617) Co-authored-by: Carlos Mocholí <[email protected]> * Fix typos initialize in docs (#13557) Co-authored-by: Carlos Mocholí <[email protected]> Co-authored-by: Adrian Wälchli <[email protected]> * Fix main progress bar counter when `val_check_interval=int` and `check_val_every_n_epoch=None` (#12832) * Fix mypy errors attributed to `pytorch_lightning.loggers.tensorboard.py` (#13688) Co-authored-by: Adrian Wälchli <[email protected]> Co-authored-by: Rohit Gupta <[email protected]> Co-authored-by: Carlos Mocholí <[email protected]> * Fix mypy errors attributed to `pytorch_lightning.loggers.mlflow` (#13691) Co-authored-by: Jirka Borovec <[email protected]> Co-authored-by: otaj <[email protected]> * fix mypy errors for loggers/wandb.py (#13483) Co-authored-by: Carlos Mocholí <[email protected]> Co-authored-by: Rohit Gupta <[email protected]> Co-authored-by: Akihiro Nitta <[email protected]> * Fix gatekeeper minimum check (#13769) * changelog * changelog * fix order * move up again * add missing test Co-authored-by: rohitgr7 <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Jirka Borovec <[email protected]> Co-authored-by: arao <[email protected]> Co-authored-by: Akarsha Rao <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sean Naren <[email protected]> Co-authored-by: Carlos Mocholí <[email protected]> Co-authored-by: Mansy <[email protected]> Co-authored-by: mansy <[email protected]> Co-authored-by: Adrian Wälchli <[email protected]> Co-authored-by: Lee Jungwon <[email protected]> Co-authored-by: Nathaniel D'Amours <[email protected]> Co-authored-by: Justin Goheen <[email protected]> Co-authored-by: otaj <[email protected]> Co-authored-by: Gautier Dagan <[email protected]> Co-authored-by: Akihiro Nitta <[email protected]>
What does this PR do?
This PR fixes mypy errors for the
pytorch_lightning/loggers/wandb.pyfile.Note, I had to loosen the typing in
loggers.pyto allow anOptional[str]return for bothnameandversionfunctions of theLoggerclass.There are a couple additional types that could be imported from
wandbfor stricter checks, for instance theImageDataOrPathTypetype could be used to check valid image data. However, I resorted to keeping itAnyfor now.Fixes
pytorch_lightning/loggers/wandb.pyfrom #13445Does your PR introduce any breaking changes? If yes, please list them.
No
Before submitting
PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing, make sure you have read the review guidelines. In short, see the following bullet-list:
Did you have fun?
Make sure you had fun coding 🙃