Skip to content

CLI custom key registration does not work #12791

Closed
@carmocca

Description

@carmocca

🐛 Bug

To Reproduce

from pytorch_lightning import LightningModule
from pytorch_lightning.utilities.cli import LightningCLI, MODEL_REGISTRY


class DemoModel(LightningModule):
    ...


MODEL_REGISTRY(DemoModel, key="test")

cli = LightningCLI()
$ python kk.py fit --model=test
Traceback (most recent call last):
  File "/home/carmocca/git/pytorch-lightning/kk.py", line 11, in <module>
    cli = LightningCLI()
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/utilities/cli.py", line 553, in __init__
    self.parse_arguments(self.parser)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/utilities/cli.py", line 694, in parse_arguments
    self.config = parser.parse_args()
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/utilities/cli.py", line 265, in parse_args
    argv = self._convert_argv_issue_84(classes, k, argv)
  File "/home/carmocca/git/pytorch-lightning/pytorch_lightning/utilities/cli.py", line 341, in _convert_argv_issue_84
    raise ValueError(f"Could not generate a config for {repr(argv_class)}")
ValueError: Could not generate a config for 'test'

This happens because this line should be checking with the registered key, not the class name: https://github.com/PyTorchLightning/pytorch-lightning/blob/ae3226ced96e2bc7e62f298d532aaf2290e6ef34/pytorch_lightning/utilities/cli.py#L314

Expected behavior

Works and instantiates the DemoModel

cc @carmocca @mauvilsa

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinglightningclipl.cli.LightningCLI

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions