From b2e5024beb5fbd83f834fff963935abd271d4ffc Mon Sep 17 00:00:00 2001 From: Kishan Savant Date: Sun, 25 Sep 2022 11:10:52 +0530 Subject: [PATCH 1/4] Removed the trainer_data_loading_mixin --- src/pytorch_lightning/CHANGELOG.md | 2 + src/pytorch_lightning/trainer/data_loading.py | 62 ------------------- src/pytorch_lightning/trainer/trainer.py | 2 - .../deprecated_api/test_remove_1-8.py | 15 ----- 4 files changed, 2 insertions(+), 79 deletions(-) delete mode 100644 src/pytorch_lightning/trainer/data_loading.py diff --git a/src/pytorch_lightning/CHANGELOG.md b/src/pytorch_lightning/CHANGELOG.md index 2f7f1ffca6ca3..625d4e1335e80 100644 --- a/src/pytorch_lightning/CHANGELOG.md +++ b/src/pytorch_lightning/CHANGELOG.md @@ -232,6 +232,8 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Remove the deprecated `Trainer.should_rank_save_checkpoint` ([#14885](https://github.com/Lightning-AI/lightning/pull/14885)) +- Removed the deprecated `TrainerDataLoadingMixin` + ### Fixed diff --git a/src/pytorch_lightning/trainer/data_loading.py b/src/pytorch_lightning/trainer/data_loading.py deleted file mode 100644 index 3163e7660cb0c..0000000000000 --- a/src/pytorch_lightning/trainer/data_loading.py +++ /dev/null @@ -1,62 +0,0 @@ -# Copyright The PyTorch Lightning team. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -from abc import ABC -from typing import Any, List, Optional, Union - -from torch.utils.data import DataLoader - -import pytorch_lightning as pl -from pytorch_lightning.trainer.states import RunningStage -from pytorch_lightning.utilities.rank_zero import rank_zero_deprecation - - -class TrainerDataLoadingMixin(ABC): - r""" - .. deprecated:: v1.6 - The `TrainerDataLoadingMixin` class was deprecated in v1.6 and will be removed in v1.8. - """ - - def prepare_dataloader(self, dataloader: Any, shuffle: bool, mode: Optional[RunningStage] = None) -> Any: - r""" - .. deprecated:: v1.6 - `TrainerDataLoadingMixin.prepare_dataloader` was deprecated in v1.6 - and will be removed in v1.8. - - This function handles to following functionalities: - - - Injecting a `DistributedDataSampler` into the `DataLoader` if on a distributed environment - - Wrapping the datasets and samplers into fault-tolerant components - """ - rank_zero_deprecation( - "`TrainerDataLoadingMixin.prepare_dataloader` was deprecated in v1.6 and will be removed in v1.8." - ) - return self._data_connector._prepare_dataloader(dataloader, shuffle, mode) - - def request_dataloader( - self, stage: RunningStage, model: Optional["pl.LightningModule"] = None - ) -> Union[DataLoader, List[DataLoader]]: - r""" - .. deprecated:: v1.6 - `TrainerDataLoadingMixin.request_dataloader` was deprecated in v1.6 - and will be removed in v1.8. - - Requests a dataloader from the given model by calling dataloader hooks corresponding to the given stage. - - Returns: - The requested dataloader - """ - rank_zero_deprecation( - "`TrainerDataLoadingMixin.request_dataloader` was deprecated in v1.6 and will be removed in v1.8." - ) - return self._data_connector._request_dataloader(stage) diff --git a/src/pytorch_lightning/trainer/trainer.py b/src/pytorch_lightning/trainer/trainer.py index d286f837d85cb..c885741902343 100644 --- a/src/pytorch_lightning/trainer/trainer.py +++ b/src/pytorch_lightning/trainer/trainer.py @@ -75,7 +75,6 @@ from pytorch_lightning.trainer.connectors.logger_connector import LoggerConnector from pytorch_lightning.trainer.connectors.logger_connector.result import _ResultCollection from pytorch_lightning.trainer.connectors.signal_connector import SignalConnector -from pytorch_lightning.trainer.data_loading import TrainerDataLoadingMixin from pytorch_lightning.trainer.optimizers import TrainerOptimizersMixin from pytorch_lightning.trainer.states import RunningStage, TrainerFn, TrainerState, TrainerStatus from pytorch_lightning.trainer.supporters import CombinedLoader @@ -112,7 +111,6 @@ class Trainer( TrainerOptimizersMixin, # TODO: Remove in v1.8 - TrainerDataLoadingMixin, # TODO: Remove in v1.8 ): @_defaults_from_env_vars def __init__( diff --git a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py index 862ffc7e9014d..8785e66c9c6fb 100644 --- a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py +++ b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py @@ -93,21 +93,6 @@ def test_v1_8_0_trainer_optimizers_mixin(): trainer.convert_to_lightning_optimizers() -def test_v1_8_0_deprecate_trainer_data_loading_mixin(): - trainer = Trainer(max_epochs=1) - model = BoringModel() - dm = BoringDataModule() - trainer.fit(model, datamodule=dm) - - with pytest.deprecated_call( - match=r"`TrainerDataLoadingMixin.prepare_dataloader` was deprecated in v1.6 and will be removed in v1.8.", - ): - trainer.prepare_dataloader(dataloader=model.train_dataloader, shuffle=False) - with pytest.deprecated_call( - match=r"`TrainerDataLoadingMixin.request_dataloader` was deprecated in v1.6 and will be removed in v1.8.", - ): - trainer.request_dataloader(stage=RunningStage.TRAINING) - def test_v_1_8_0_deprecated_device_stats_monitor_prefix_metric_keys(): from pytorch_lightning.callbacks.device_stats_monitor import prefix_metric_keys From e6d67b77d8c67e8b7e4acd7c3bd2cb7f639ddae4 Mon Sep 17 00:00:00 2001 From: Kishan Savant Date: Sun, 25 Sep 2022 11:14:27 +0530 Subject: [PATCH 2/4] Modified changelog.md with PR number --- src/pytorch_lightning/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pytorch_lightning/CHANGELOG.md b/src/pytorch_lightning/CHANGELOG.md index 625d4e1335e80..f811f1fa7f57c 100644 --- a/src/pytorch_lightning/CHANGELOG.md +++ b/src/pytorch_lightning/CHANGELOG.md @@ -232,7 +232,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Remove the deprecated `Trainer.should_rank_save_checkpoint` ([#14885](https://github.com/Lightning-AI/lightning/pull/14885)) -- Removed the deprecated `TrainerDataLoadingMixin` +- Removed the deprecated `TrainerDataLoadingMixin` ([#14888](https://github.com/Lightning-AI/lightning/pull/14888)) ### Fixed From 756d0f20aedaa46b354f71f84e681c0917268321 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Sun, 25 Sep 2022 05:44:52 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- tests/tests_pytorch/deprecated_api/test_remove_1-8.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py index 8785e66c9c6fb..561498870926b 100644 --- a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py +++ b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py @@ -93,7 +93,6 @@ def test_v1_8_0_trainer_optimizers_mixin(): trainer.convert_to_lightning_optimizers() - def test_v_1_8_0_deprecated_device_stats_monitor_prefix_metric_keys(): from pytorch_lightning.callbacks.device_stats_monitor import prefix_metric_keys From 3fa0983532327ec68d588c1267b9d33704dbcb00 Mon Sep 17 00:00:00 2001 From: awaelchli Date: Mon, 26 Sep 2022 12:21:13 +0200 Subject: [PATCH 4/4] remove unused import --- tests/tests_pytorch/deprecated_api/test_remove_1-8.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py index 561498870926b..f4061817e923e 100644 --- a/tests/tests_pytorch/deprecated_api/test_remove_1-8.py +++ b/tests/tests_pytorch/deprecated_api/test_remove_1-8.py @@ -22,7 +22,6 @@ from pytorch_lightning.demos.boring_classes import BoringDataModule, BoringModel from pytorch_lightning.strategies.ipu import LightningIPUModule from pytorch_lightning.trainer.configuration_validator import _check_datamodule_checkpoint_hooks -from pytorch_lightning.trainer.states import RunningStage def test_v1_8_0_on_init_start_end(tmpdir):