Skip to content

Commit 1cc52ab

Browse files
committed
Remove the deprecated LightningCLI arguments (#16380)
1 parent dd872b5 commit 1cc52ab

File tree

4 files changed

+10
-46
lines changed

4 files changed

+10
-46
lines changed

examples/pl_basics/autoencoder.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,9 +178,9 @@ def cli_main():
178178
LitAutoEncoder,
179179
MyDataModule,
180180
seed_everything_default=1234,
181-
save_config_overwrite=True,
182181
run=False, # used to de-activate automatic fitting.
183182
trainer_defaults={"callbacks": ImageSampler(), "max_epochs": 10},
183+
save_config_kwargs={"overwrite": True},
184184
)
185185
cli.trainer.fit(cli.model, datamodule=cli.datamodule)
186186
cli.trainer.test(ckpt_path="best", datamodule=cli.datamodule)

src/pytorch_lightning/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
5656

5757
- Removed the deprecated `pytorch_lightning.profiler` module ([#16359](https://github.com/Lightning-AI/lightning/pull/16359))
5858

59+
- Removed the deprecated `LightningCLI` arguments ([#16380](https://github.com/Lightning-AI/lightning/pull/16380))
60+
* save_config_filename
61+
* save_config_overwrite
62+
* save_config_multifile
63+
* description
64+
* env_prefix
65+
* env_parse
66+
5967
- Removed the deprecated automatic GPU selection ([#16184](https://github.com/Lightning-AI/lightning/pull/16184))
6068
* Removed the `Trainer(auto_select_gpus=...)` argument
6169
* Removed the `pytorch_lightning.tuner.auto_gpu_select.{pick_single_gpu,pick_multiple_gpus}` functions

src/pytorch_lightning/cli.py

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
from pytorch_lightning import Callback, LightningDataModule, LightningModule, seed_everything, Trainer
2929
from pytorch_lightning.utilities.exceptions import MisconfigurationException
3030
from pytorch_lightning.utilities.model_helpers import is_overridden
31-
from pytorch_lightning.utilities.rank_zero import rank_zero_deprecation, rank_zero_warn
31+
from pytorch_lightning.utilities.rank_zero import rank_zero_warn
3232

3333
_JSONARGPARSE_SIGNATURES_AVAILABLE = RequirementCache("jsonargparse[signatures]>=4.17.0")
3434

@@ -279,7 +279,6 @@ def __init__(
279279
args: ArgsType = None,
280280
run: bool = True,
281281
auto_configure_optimizers: bool = True,
282-
**kwargs: Any, # Remove with deprecations of v2.0.0
283282
) -> None:
284283
"""Receives as input pytorch-lightning classes (or callables which return pytorch-lightning classes), which
285284
are called / instantiated using a parsed configuration file and / or command line args.
@@ -331,8 +330,6 @@ def __init__(
331330
self.parser_kwargs = parser_kwargs or {} # type: ignore[var-annotated] # github.com/python/mypy/issues/6463
332331
self.auto_configure_optimizers = auto_configure_optimizers
333332

334-
self._handle_deprecated_params(kwargs)
335-
336333
self.model_class = model_class
337334
# used to differentiate between the original value and the processed value
338335
self._model_class = model_class or LightningModule
@@ -357,28 +354,6 @@ def __init__(
357354
if self.subcommand is not None:
358355
self._run_subcommand(self.subcommand)
359356

360-
def _handle_deprecated_params(self, kwargs: dict) -> None:
361-
for name in kwargs.keys() & ["save_config_filename", "save_config_overwrite", "save_config_multifile"]:
362-
value = kwargs.pop(name)
363-
key = name.replace("save_config_", "").replace("filename", "config_filename")
364-
self.save_config_kwargs[key] = value
365-
rank_zero_deprecation(
366-
f"LightningCLI's {name!r} init parameter is deprecated from v1.8 and will "
367-
f"be removed in v2.0.0. Use `save_config_kwargs={{'{key}': ...}}` instead."
368-
)
369-
370-
for name in kwargs.keys() & ["description", "env_prefix", "env_parse"]:
371-
value = kwargs.pop(name)
372-
key = name.replace("env_parse", "default_env")
373-
self.parser_kwargs[key] = value
374-
rank_zero_deprecation(
375-
f"LightningCLI's {name!r} init parameter is deprecated from v1.9 and will "
376-
f"be removed in v2.0. Use `parser_kwargs={{'{key}': ...}}` instead."
377-
)
378-
379-
if kwargs:
380-
raise ValueError(f"Unexpected keyword parameters: {kwargs}")
381-
382357
def _setup_parser_kwargs(self, parser_kwargs: Dict[str, Any]) -> Tuple[Dict[str, Any], Dict[str, Any]]:
383358
subcommand_names = self.subcommands().keys()
384359
main_kwargs = {k: v for k, v in parser_kwargs.items() if k not in subcommand_names}

tests/tests_pytorch/deprecated_api/test_remove_2-0.py

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
from pytorch_lightning import Trainer
2424
from pytorch_lightning.accelerators.cpu import CPUAccelerator
25-
from pytorch_lightning.cli import LightningCLI
2625
from pytorch_lightning.core.mixins.device_dtype_mixin import DeviceDtypeModuleMixin
2726
from pytorch_lightning.demos.boring_classes import BoringModel, RandomDataset
2827
from pytorch_lightning.overrides import LightningDistributedModule, LightningParallelModule
@@ -68,15 +67,6 @@
6867
from tests_pytorch.helpers.runif import RunIf
6968

7069

71-
@pytest.mark.parametrize(
72-
["name", "value"],
73-
[("description", "description"), ("env_prefix", "PL"), ("env_parse", False)],
74-
)
75-
def test_lightningCLI_parser_init_params_deprecation_warning(name, value):
76-
with mock.patch("sys.argv", ["any.py"]), pytest.deprecated_call(match=f".*{name!r} init parameter is deprecated.*"):
77-
LightningCLI(BoringModel, run=False, **{name: value})
78-
79-
8070
@pytest.mark.parametrize(
8171
"wrapper_class",
8272
[
@@ -281,15 +271,6 @@ def test_v1_10_deprecated_accelerator_setup_environment_method():
281271
CPUAccelerator().setup_environment(torch.device("cpu"))
282272

283273

284-
@pytest.mark.parametrize(
285-
["name", "value"],
286-
[("save_config_filename", "config.yaml"), ("save_config_overwrite", False), ("save_config_multifile", False)],
287-
)
288-
def test_lightningCLI_save_config_init_params_deprecation_warning(name, value):
289-
with mock.patch("sys.argv", ["any.py"]), pytest.deprecated_call(match=f".*{name!r} init parameter is deprecated.*"):
290-
LightningCLI(BoringModel, run=False, **{name: value})
291-
292-
293274
def test_tuning_enum():
294275
with pytest.deprecated_call(
295276
match="`TrainerFn.TUNING` has been deprecated in v1.8.0 and will be removed in v2.0.0."

0 commit comments

Comments
 (0)