diff --git a/CHANGELOG.md b/CHANGELOG.md index 3913552145fda..a76126cdf19d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -257,6 +257,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Removed deprecated properties `DeepSpeedPlugin.cpu_offload*` in favor of `offload_optimizer`, `offload_parameters` and `pin_memory` ([#9244](https://github.com/PyTorchLightning/pytorch-lightning/pull/9244)) +- Removed deprecation warnings being called for `on_{task}_dataloader` ([#9279](https://github.com/PyTorchLightning/pytorch-lightning/pull/9279)) + + ### Fixed - Fixed save/load/resume from checkpoint for DeepSpeed Plugin ( diff --git a/pytorch_lightning/core/hooks.py b/pytorch_lightning/core/hooks.py index 479a2eae0f8bc..ebac9963a15f7 100644 --- a/pytorch_lightning/core/hooks.py +++ b/pytorch_lightning/core/hooks.py @@ -20,7 +20,6 @@ from pytorch_lightning.utilities import move_data_to_device from pytorch_lightning.utilities.types import EVAL_DATALOADERS, STEP_OUTPUT, TRAIN_DATALOADERS -from pytorch_lightning.utilities.warnings import rank_zero_deprecation class ModelHooks: @@ -691,10 +690,6 @@ def on_train_dataloader(self) -> None: :meth:`on_train_dataloader` is deprecated and will be removed in v1.7.0. Please use :meth:`train_dataloader()` directly. """ - rank_zero_deprecation( - "Method `on_train_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - " Please use `train_dataloader()` directly." - ) def on_val_dataloader(self) -> None: """Called before requesting the val dataloader. @@ -703,10 +698,6 @@ def on_val_dataloader(self) -> None: :meth:`on_val_dataloader` is deprecated and will be removed in v1.7.0. Please use :meth:`val_dataloader()` directly. """ - rank_zero_deprecation( - "Method `on_val_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - " Please use `val_dataloader()` directly." - ) def on_test_dataloader(self) -> None: """Called before requesting the test dataloader. @@ -715,10 +706,6 @@ def on_test_dataloader(self) -> None: :meth:`on_test_dataloader` is deprecated and will be removed in v1.7.0. Please use :meth:`test_dataloader()` directly. """ - rank_zero_deprecation( - "Method `on_test_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - " Please use `test_dataloader()` directly." - ) def on_predict_dataloader(self) -> None: """Called before requesting the predict dataloader. @@ -727,10 +714,6 @@ def on_predict_dataloader(self) -> None: :meth:`on_predict_dataloader` is deprecated and will be removed in v1.7.0. Please use :meth:`predict_dataloader()` directly. """ - rank_zero_deprecation( - "Method `on_predict_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - " Please use `predict_dataloader()` directly." - ) def transfer_batch_to_device(self, batch: Any, device: torch.device, dataloader_idx: int) -> Any: """ diff --git a/tests/deprecated_api/test_remove_1-7.py b/tests/deprecated_api/test_remove_1-7.py index 188b7f4a4a3fa..6786a72fae34d 100644 --- a/tests/deprecated_api/test_remove_1-7.py +++ b/tests/deprecated_api/test_remove_1-7.py @@ -91,25 +91,50 @@ def test_v1_7_0_trainer_prepare_data_per_node(tmpdir): _ = Trainer(prepare_data_per_node=False) -def test_v1_7_0_deprecated_on_train_dataloader(tmpdir): +def test_v1_7_0_deprecated_on_task_dataloader(tmpdir): + class CustomBoringModel(BoringModel): + def on_train_dataloader(self): + print("on_train_dataloader") + + def on_val_dataloader(self): + print("on_val_dataloader") + + def on_test_dataloader(self): + print("on_test_dataloader") + + def on_predict_dataloader(self): + print("on_predict_dataloader") + + def _run(model, task="fit"): + trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=2) + getattr(trainer, task)(model) + + model = CustomBoringModel() - model = BoringModel() with pytest.deprecated_call( match="Method `on_train_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." ): - model.on_train_dataloader() + _run(model, "fit") + with pytest.deprecated_call( match="Method `on_val_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." ): - model.on_val_dataloader() + _run(model, "fit") + + with pytest.deprecated_call( + match="Method `on_val_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." + ): + _run(model, "validate") + with pytest.deprecated_call( match="Method `on_test_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." ): - model.on_test_dataloader() + _run(model, "test") + with pytest.deprecated_call( match="Method `on_predict_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." ): - model.on_predict_dataloader() + _run(model, "predict") @mock.patch("pytorch_lightning.loggers.test_tube.Experiment") diff --git a/tests/trainer/test_trainer.py b/tests/trainer/test_trainer.py index da092aa602a25..681c48a17d764 100644 --- a/tests/trainer/test_trainer.py +++ b/tests/trainer/test_trainer.py @@ -1897,30 +1897,3 @@ def test_error_handling_all_stages(tmpdir, accelerator, num_processes): ) as exception_hook: trainer.predict(model, model.val_dataloader(), return_predictions=False) exception_hook.assert_called() - - -def test_overridden_on_dataloaders(tmpdir): - model = BoringModel() - with pytest.deprecated_call( - match="Method `on_train_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - ): - trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True) - trainer.fit(model) - - with pytest.deprecated_call( - match="Method `on_val_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - ): - trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True) - trainer.validate(model) - - with pytest.deprecated_call( - match="Method `on_test_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - ): - trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True) - trainer.test(model) - - with pytest.deprecated_call( - match="Method `on_predict_dataloader` in DataHooks is deprecated and will be removed in v1.7.0." - ): - trainer = Trainer(default_root_dir=tmpdir, fast_dev_run=True) - trainer.predict(model)