Delete deprecated `TrainerTrainingTricksMixin` (#8679)
This commit is contained in:
parent
d187008e84
commit
cf0d362658
|
@ -61,16 +61,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
|||
- Removed the deprecated `outputs` argument in both the `LightningModule.on_train_epoch_end` and `Callback.on_train_epoch_end` hooks ([#8587](https://github.com/PyTorchLightning/pytorch-lightning/pull/8587))
|
||||
|
||||
|
||||
- Removed the deprecated `TrainerLoggingMixin` class ([#8609](https://github.com/PyTorchLightning/pytorch-lightning/pull/8609))
|
||||
|
||||
- Delete the deprecated `TrainerLoggingMixin` class ([#8609](https://github.com/PyTorchLightning/pytorch-lightning/pull/8609))
|
||||
|
||||
- Removed the deprecated `TrainerTrainingTricksMixin` class ([#8679](https://github.com/PyTorchLightning/pytorch-lightning/pull/8679))
|
||||
|
||||
|
||||
- Removed the deprecated `optimizer_idx` from `training_step` as an accepted argument in manual optimization ([#8576](https://github.com/PyTorchLightning/pytorch-lightning/pull/8576))
|
||||
|
||||
|
||||
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed `trainer.fit_loop.split_idx` always returning `None` ([#8601](https://github.com/PyTorchLightning/pytorch-lightning/pull/8601))
|
||||
|
|
|
@ -62,7 +62,6 @@ from pytorch_lightning.trainer.model_hooks import TrainerModelHooksMixin
|
|||
from pytorch_lightning.trainer.optimizers import TrainerOptimizersMixin
|
||||
from pytorch_lightning.trainer.properties import TrainerProperties
|
||||
from pytorch_lightning.trainer.states import TrainerFn, TrainerState, TrainerStatus
|
||||
from pytorch_lightning.trainer.training_tricks import TrainerTrainingTricksMixin
|
||||
from pytorch_lightning.tuner.auto_gpu_select import pick_multiple_gpus
|
||||
from pytorch_lightning.tuner.lr_finder import _LRFinder
|
||||
from pytorch_lightning.tuner.tuning import Tuner
|
||||
|
@ -96,7 +95,6 @@ class Trainer(
|
|||
TrainerCallbackHookMixin,
|
||||
TrainerModelHooksMixin,
|
||||
TrainerOptimizersMixin,
|
||||
TrainerTrainingTricksMixin,
|
||||
TrainerDataLoadingMixin,
|
||||
DeprecatedTrainerAttributes,
|
||||
):
|
||||
|
|
|
@ -1,58 +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.
|
||||
|
||||
import logging
|
||||
from abc import ABC
|
||||
|
||||
import torch
|
||||
from torch import Tensor
|
||||
|
||||
import pytorch_lightning as pl
|
||||
from pytorch_lightning.utilities import rank_zero_deprecation
|
||||
from pytorch_lightning.utilities.finite_checks import detect_nan_parameters, print_nan_gradients
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class TrainerTrainingTricksMixin(ABC):
|
||||
"""
|
||||
TODO: Remove this class in v1.5.
|
||||
|
||||
Use the NaN utilities from ``pytorch_lightning.utilities.finite_checks`` instead.
|
||||
"""
|
||||
|
||||
# this is just a summary on variables used in this abstract class,
|
||||
# the proper values/initialisation should be done in child class
|
||||
lightning_module: "pl.LightningModule"
|
||||
|
||||
def print_nan_gradients(self) -> None:
|
||||
rank_zero_deprecation(
|
||||
"Internal: TrainerTrainingTricksMixin.print_nan_gradients is deprecated in v1.3"
|
||||
" and will be removed in v1.5."
|
||||
" Use `pytorch_lightning.utilities.finite_checks.print_nan_gradients` instead."
|
||||
)
|
||||
model = self.lightning_module
|
||||
print_nan_gradients(model)
|
||||
|
||||
def detect_nan_tensors(self, loss: Tensor) -> None:
|
||||
rank_zero_deprecation(
|
||||
"Internal: TrainerTrainingTricksMixin.detect_nan_tensors is deprecated in v1.3"
|
||||
" and will be removed in v1.5."
|
||||
" Use `pytorch_lightning.utilities.finite_checks.detect_nan_parameters` instead."
|
||||
)
|
||||
# check if loss is nan
|
||||
if not torch.isfinite(loss).all():
|
||||
raise ValueError("The loss returned in `training_step` is nan or inf.")
|
||||
model = self.lightning_module
|
||||
detect_nan_parameters(model)
|
|
@ -181,18 +181,6 @@ def test_v1_5_0_profiler_output_filename(tmpdir, cls):
|
|||
assert profiler.filename == "test"
|
||||
|
||||
|
||||
def test_v1_5_0_trainer_training_trick_mixin(tmpdir):
|
||||
model = BoringModel()
|
||||
trainer = Trainer(default_root_dir=tmpdir, max_epochs=1, checkpoint_callback=False, logger=False)
|
||||
trainer.fit(model)
|
||||
with pytest.deprecated_call(match="is deprecated in v1.3 and will be removed in v1.5"):
|
||||
trainer.print_nan_gradients()
|
||||
|
||||
dummy_loss = torch.tensor(1.0)
|
||||
with pytest.deprecated_call(match="is deprecated in v1.3 and will be removed in v1.5"):
|
||||
trainer.detect_nan_tensors(dummy_loss)
|
||||
|
||||
|
||||
def test_v1_5_0_auto_move_data():
|
||||
with pytest.deprecated_call(match="deprecated in v1.3 and will be removed in v1.5.*was applied to `bar`"):
|
||||
|
||||
|
|
Loading…
Reference in New Issue