From 33668da1e1a55fddaba0a10e8b2115089bc79642 Mon Sep 17 00:00:00 2001 From: puhuk Date: Fri, 8 Apr 2022 00:28:32 +0900 Subject: [PATCH 01/10] Remove deprecated get_memory_profile To resolve issue #12521 --- CHANGELOG.md | 2 +- pytorch_lightning/core/memory.py | 8 +---- .../logger_connector/logger_connector.py | 11 ------- pytorch_lightning/utilities/memory.py | 33 ------------------- tests/deprecated_api/test_remove_1-7.py | 6 ---- tests/strategies/test_ddp_spawn.py | 3 -- tests/strategies/test_dp.py | 3 -- 7 files changed, 2 insertions(+), 64 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba38e83b77508..65b7c2f2e8e91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,7 +75,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/). - Removed the deprecated `terminate_on_nan` argument from the `Trainer` constructor ([#12553](https://github.com/PyTorchLightning/pytorch-lightning/pull/12553)) -- +- Removed the deprecated `get_memory_profile` argument from the `memory` constructor ([#12553](https://github.com/PyTorchLightning/pytorch-lightning/pull/12553)) - diff --git a/pytorch_lightning/core/memory.py b/pytorch_lightning/core/memory.py index d61164e6d88cb..bf6598bb57ada 100644 --- a/pytorch_lightning/core/memory.py +++ b/pytorch_lightning/core/memory.py @@ -13,14 +13,8 @@ # limitations under the License. from pytorch_lightning.utilities import rank_zero_deprecation -rank_zero_deprecation( - "`pytorch_lightning.core.memory.get_memory_profile` and" - " `pytorch_lightning.core.memory.get_gpu_memory_map` have been moved" - " to `pytorch_lightning.utilities.memory` since v1.5 and will be removed in v1.7." -) - # To support backward compatibility as get_memory_profile and get_gpu_memory_map have been moved -from pytorch_lightning.utilities.memory import get_gpu_memory_map, get_memory_profile # noqa: E402, F401 # isort: skip +from pytorch_lightning.utilities.memory import get_gpu_memory_map # noqa: E402, F401 # isort: skip rank_zero_deprecation( "`pytorch_lightning.core.memory.LayerSummary` and" diff --git a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py index 4409f4b70ab5f..ace54c4a686fa 100644 --- a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py +++ b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py @@ -298,17 +298,6 @@ def metrics(self) -> _METRICS: assert self.trainer._results is not None return self.trainer._results.metrics(on_step) - @property - def gpus_metrics(self) -> Dict[str, float]: - """ - .. deprecated:: v1.5 - Will be removed in v1.7. - """ - if isinstance(self.trainer.accelerator, GPUAccelerator) and self.log_gpu_memory: - mem_map = memory.get_memory_profile(self.log_gpu_memory) - self._gpus_metrics.update(mem_map) - return self._gpus_metrics - @property def callback_metrics(self) -> _OUT_DICT: if self.trainer._results: diff --git a/pytorch_lightning/utilities/memory.py b/pytorch_lightning/utilities/memory.py index dec00412babeb..f42f662d2fc65 100644 --- a/pytorch_lightning/utilities/memory.py +++ b/pytorch_lightning/utilities/memory.py @@ -96,39 +96,6 @@ def garbage_collection_cuda() -> None: raise -def get_memory_profile(mode: str) -> Dict[str, float]: - r""" - .. deprecated:: v1.5 - This function was deprecated in v1.5 in favor of - `pytorch_lightning.accelerators.gpu._get_nvidia_gpu_stats` and will be removed in v1.7. - - Get a profile of the current memory usage. - - Args: - mode: There are two modes: - - - 'all' means return memory for all gpus - - 'min_max' means return memory for max and min - - Return: - A dictionary in which the keys are device ids as integers and - values are memory usage as integers in MB. - If mode is 'min_max', the dictionary will also contain two additional keys: - - - 'min_gpu_mem': the minimum memory usage in MB - - 'max_gpu_mem': the maximum memory usage in MB - """ - memory_map = get_gpu_memory_map() - - if mode == "min_max": - min_index, min_memory = min(memory_map.items(), key=lambda item: item[1]) - max_index, max_memory = max(memory_map.items(), key=lambda item: item[1]) - - memory_map = {"min_gpu_mem": min_memory, "max_gpu_mem": max_memory} - - return memory_map - - def get_gpu_memory_map() -> Dict[str, float]: r""" .. deprecated:: v1.5 diff --git a/tests/deprecated_api/test_remove_1-7.py b/tests/deprecated_api/test_remove_1-7.py index 8e575224680e8..34de90d6acb52 100644 --- a/tests/deprecated_api/test_remove_1-7.py +++ b/tests/deprecated_api/test_remove_1-7.py @@ -51,12 +51,6 @@ def test_v1_7_0_moved_model_summary_and_layer_summary(tmpdir): from pytorch_lightning.core.memory import LayerSummary, ModelSummary # noqa: F401 -def test_v1_7_0_moved_get_memory_profile_and_get_gpu_memory_map(tmpdir): - _soft_unimport_module("pytorch_lightning.core.memory") - with pytest.deprecated_call(match="to `pytorch_lightning.utilities.memory` since v1.5"): - from pytorch_lightning.core.memory import get_gpu_memory_map, get_memory_profile # noqa: F401 - - def test_v1_7_0_deprecated_model_size(): model = BoringModel() with pytest.deprecated_call( diff --git a/tests/strategies/test_ddp_spawn.py b/tests/strategies/test_ddp_spawn.py index c914fedfb7f2a..3dd07685ba2ab 100644 --- a/tests/strategies/test_ddp_spawn.py +++ b/tests/strategies/test_ddp_spawn.py @@ -61,9 +61,6 @@ def test_multi_gpu_model_ddp_spawn(tmpdir): tpipes.run_model_test(trainer_options, model) - # test memory helper functions - memory.get_memory_profile("min_max") - @RunIf(min_gpus=2) def test_ddp_all_dataloaders_passed_to_fit(tmpdir): diff --git a/tests/strategies/test_dp.py b/tests/strategies/test_dp.py index b3a17d6080efe..ebbcc6fa0e030 100644 --- a/tests/strategies/test_dp.py +++ b/tests/strategies/test_dp.py @@ -99,9 +99,6 @@ def test_multi_gpu_model_dp(tmpdir): tpipes.run_model_test(trainer_options, model) - # test memory helper functions - memory.get_memory_profile("min_max") - class ReductionTestModel(BoringModel): def train_dataloader(self): From fea372b76224859df955d32f1cdb00ba112cb53e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 7 Apr 2022 15:30:52 +0000 Subject: [PATCH 02/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pytorch_lightning/core/memory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/core/memory.py b/pytorch_lightning/core/memory.py index bf6598bb57ada..771f11f9205b1 100644 --- a/pytorch_lightning/core/memory.py +++ b/pytorch_lightning/core/memory.py @@ -14,7 +14,7 @@ from pytorch_lightning.utilities import rank_zero_deprecation # To support backward compatibility as get_memory_profile and get_gpu_memory_map have been moved -from pytorch_lightning.utilities.memory import get_gpu_memory_map # noqa: E402, F401 # isort: skip +from pytorch_lightning.utilities.memory import get_gpu_memory_map # noqa: F401 # isort: skip rank_zero_deprecation( "`pytorch_lightning.core.memory.LayerSummary` and" From 37853e766f537790226e03158a2e6479aee40583 Mon Sep 17 00:00:00 2001 From: puhuk Date: Fri, 8 Apr 2022 00:39:31 +0900 Subject: [PATCH 03/10] Update logger_connector.py --- .../logger_connector/logger_connector.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py index ace54c4a686fa..c5f9ef0cd6d1d 100644 --- a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py +++ b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py @@ -210,21 +210,6 @@ def update_train_epoch_metrics(self) -> None: assert self.trainer._results is not None self.trainer._results.reset(metrics=True) - def _log_gpus_metrics(self) -> None: - """ - .. deprecated:: v1.5 - This function was deprecated in v1.5 in favor of - `pytorch_lightning.accelerators.gpu._get_nvidia_gpu_stats` and will be removed in v1.7. - """ - for key, mem in self.gpus_metrics.items(): - if self.log_gpu_memory == "min_max": - self.trainer.lightning_module.log(key, mem, prog_bar=False, logger=True) - else: - gpu_id = int(key.split("/")[0].split(":")[1]) - if gpu_id in self.trainer.device_ids: - self.trainer.lightning_module.log( - key, mem, prog_bar=False, logger=True, on_step=True, on_epoch=False - ) """ Utilities and properties From e5da0ebf3848c924c5e7b509e1f5b4d847df32c4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 7 Apr 2022 15:41:55 +0000 Subject: [PATCH 04/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- .../trainer/connectors/logger_connector/logger_connector.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py index c5f9ef0cd6d1d..19b09cc33b002 100644 --- a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py +++ b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py @@ -210,7 +210,6 @@ def update_train_epoch_metrics(self) -> None: assert self.trainer._results is not None self.trainer._results.reset(metrics=True) - """ Utilities and properties """ From 10e0e0c283305926cea1170eda00c702a1a39916 Mon Sep 17 00:00:00 2001 From: puhuk Date: Fri, 8 Apr 2022 00:49:58 +0900 Subject: [PATCH 05/10] Update logger_connector.py --- .../trainer/connectors/logger_connector/logger_connector.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py index c5f9ef0cd6d1d..247cbbeef093d 100644 --- a/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py +++ b/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py @@ -193,9 +193,6 @@ def update_train_step_metrics(self) -> None: if self.trainer.fit_loop._should_accumulate() and self.trainer.lightning_module.automatic_optimization: return - # TODO: remove this call in v1.7 - self._log_gpus_metrics() - # when metrics should be logged assert not self._epoch_end_reached if self.should_update_logs or self.trainer.fast_dev_run: From ebf41861618b7a29452cd6b59d0829c26ca32c25 Mon Sep 17 00:00:00 2001 From: puhuk Date: Fri, 8 Apr 2022 01:06:19 +0900 Subject: [PATCH 06/10] Update test_dp.py --- tests/strategies/test_dp.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/strategies/test_dp.py b/tests/strategies/test_dp.py index ebbcc6fa0e030..059d075c91576 100644 --- a/tests/strategies/test_dp.py +++ b/tests/strategies/test_dp.py @@ -23,7 +23,6 @@ import tests.helpers.utils as tutils from pytorch_lightning import Trainer from pytorch_lightning.callbacks import EarlyStopping -from pytorch_lightning.utilities import memory from pytorch_lightning.utilities.exceptions import MisconfigurationException from tests.helpers import BoringModel, RandomDataset from tests.helpers.datamodules import ClassifDataModule From d296f61483fce9c5728defbab9a2a19d0b60bf39 Mon Sep 17 00:00:00 2001 From: puhuk Date: Sat, 9 Apr 2022 20:23:13 +0900 Subject: [PATCH 07/10] Update memory.py --- pytorch_lightning/core/memory.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/pytorch_lightning/core/memory.py b/pytorch_lightning/core/memory.py index 771f11f9205b1..454402e615d46 100644 --- a/pytorch_lightning/core/memory.py +++ b/pytorch_lightning/core/memory.py @@ -13,9 +13,6 @@ # limitations under the License. from pytorch_lightning.utilities import rank_zero_deprecation -# To support backward compatibility as get_memory_profile and get_gpu_memory_map have been moved -from pytorch_lightning.utilities.memory import get_gpu_memory_map # noqa: F401 # isort: skip - rank_zero_deprecation( "`pytorch_lightning.core.memory.LayerSummary` and" " `pytorch_lightning.core.memory.ModelSummary` have been moved" From 6d546497e4a3376645e4d809d28334e2d9204dc8 Mon Sep 17 00:00:00 2001 From: puhuk Date: Tue, 12 Apr 2022 00:13:09 +0900 Subject: [PATCH 08/10] Update test_remove_1-7.py --- tests/deprecated_api/test_remove_1-7.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tests/deprecated_api/test_remove_1-7.py b/tests/deprecated_api/test_remove_1-7.py index 62842317d3e57..c49a96de47870 100644 --- a/tests/deprecated_api/test_remove_1-7.py +++ b/tests/deprecated_api/test_remove_1-7.py @@ -51,12 +51,6 @@ def test_v1_7_0_moved_model_summary_and_layer_summary(tmpdir): from pytorch_lightning.core.memory import LayerSummary, ModelSummary # noqa: F401 -def test_v1_7_0_moved_get_memory_profile_and_get_gpu_memory_map(tmpdir): - _soft_unimport_module("pytorch_lightning.core.memory") - with pytest.deprecated_call(match="to `pytorch_lightning.utilities.memory` since v1.5"): - from pytorch_lightning.core.memory import get_gpu_memory_map, get_memory_profile # noqa: F401 - - def test_v1_7_0_datamodule_transform_properties(tmpdir): dm = MNISTDataModule() with pytest.deprecated_call(match=r"DataModule property `val_transforms` was deprecated in v1.5"): From 0e7821a90c6451f494b002e42f8af137c726eb0a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 15:21:37 +0000 Subject: [PATCH 09/10] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- pytorch_lightning/core/memory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pytorch_lightning/core/memory.py b/pytorch_lightning/core/memory.py index 87394b3748b24..454402e615d46 100644 --- a/pytorch_lightning/core/memory.py +++ b/pytorch_lightning/core/memory.py @@ -20,4 +20,4 @@ ) # To support backward compatibility as LayerSummary and ModelSummary have been moved -from pytorch_lightning.utilities.model_summary import LayerSummary, ModelSummary # noqa: E402, F401 # isort: skip \ No newline at end of file +from pytorch_lightning.utilities.model_summary import LayerSummary, ModelSummary # noqa: E402, F401 # isort: skip From 2b738e6f404f4a01cfc6b6e72c021774ee055816 Mon Sep 17 00:00:00 2001 From: puhuk Date: Tue, 12 Apr 2022 00:26:02 +0900 Subject: [PATCH 10/10] Update test_ddp_spawn.py --- tests/strategies/test_ddp_spawn.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/strategies/test_ddp_spawn.py b/tests/strategies/test_ddp_spawn.py index 3dd07685ba2ab..fec2e71ee91af 100644 --- a/tests/strategies/test_ddp_spawn.py +++ b/tests/strategies/test_ddp_spawn.py @@ -15,7 +15,6 @@ import tests.helpers.utils as tutils from pytorch_lightning.callbacks import EarlyStopping from pytorch_lightning.trainer import Trainer -from pytorch_lightning.utilities import memory from tests.helpers import BoringModel from tests.helpers.datamodules import ClassifDataModule from tests.helpers.runif import RunIf