Skip to content

Commit 4687517

Browse files
committed
deprecate trainer.gpus
1 parent a9bfcc7 commit 4687517

File tree

3 files changed

+16
-7
lines changed

3 files changed

+16
-7
lines changed

pytorch_lightning/trainer/trainer.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2181,6 +2181,10 @@ def scaler(self) -> Optional[Any]:
21812181

21822182
@property
21832183
def gpus(self) -> Optional[Union[List[int], str, int]]:
2184+
rank_zero_deprecation(
2185+
"`Trainer.gpus` was deprecated in v1.6 and will be removed in v1.8."
2186+
" Please use `Trainer.num_devices` or `Trainer.device_ids` to get device information instead."
2187+
)
21842188
return self._accelerator_connector.gpus
21852189

21862190
@property

tests/accelerators/test_accelerator_connector.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -550,22 +550,24 @@ def test_accelerator_cpu_with_num_processes_priority():
550550

551551
@RunIf(min_gpus=2)
552552
@pytest.mark.parametrize(
553-
["devices", "plugin"], [(1, SingleDeviceStrategy), ([1], SingleDeviceStrategy), (2, DDPSpawnStrategy)]
553+
["devices", "plugin", "num_devices", "device_ids"],
554+
[(1, SingleDeviceStrategy, 1, [0]), ([1], SingleDeviceStrategy, 1, [1]), (2, DDPSpawnStrategy, 2, [0, 1])],
554555
)
555-
def test_accelerator_gpu_with_devices(devices, plugin):
556+
def test_accelerator_gpu_with_devices(devices, plugin, num_devices, device_ids):
556557

557558
trainer = Trainer(accelerator="gpu", devices=devices)
558559

559-
assert trainer.gpus == devices
560560
assert isinstance(trainer.strategy, plugin)
561561
assert isinstance(trainer.accelerator, GPUAccelerator)
562+
assert trainer.num_devices == num_devices
563+
assert trainer.device_ids == device_ids
562564

563565

564566
@RunIf(min_gpus=1)
565567
def test_accelerator_auto_with_devices_gpu():
566568
trainer = Trainer(accelerator="auto", devices=1)
567569
assert isinstance(trainer.accelerator, GPUAccelerator)
568-
assert trainer.gpus == 1
570+
assert trainer.num_devices == 1
569571

570572

571573
@RunIf(min_gpus=1)
@@ -576,7 +578,7 @@ def test_accelerator_gpu_with_gpus_priority():
576578
with pytest.warns(UserWarning, match="The flag `devices=4` will be ignored,"):
577579
trainer = Trainer(accelerator="gpu", devices=4, gpus=gpus)
578580

579-
assert trainer.gpus == gpus
581+
assert trainer.num_devices == gpus
580582

581583

582584
def test_validate_accelerator_and_devices():
@@ -968,8 +970,8 @@ def test_devices_auto_choice_cpu(is_ipu_available_mock, is_tpu_available_mock, i
968970
@mock.patch("torch.cuda.device_count", return_value=2)
969971
def test_devices_auto_choice_gpu(is_gpu_available_mock, device_count_mock):
970972
trainer = Trainer(accelerator="auto", devices="auto")
973+
assert isinstance(trainer.accelerator, GPUAccelerator)
971974
assert trainer.num_devices == 2
972-
assert trainer.gpus == 2
973975

974976

975977
@pytest.mark.parametrize(

tests/models/test_gpu.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import tests.helpers.pipelines as tpipes
2424
import tests.helpers.utils as tutils
2525
from pytorch_lightning import Trainer
26+
from pytorch_lightning.accelerators import CPUAccelerator, GPUAccelerator
2627
from pytorch_lightning.plugins.environments import TorchElasticEnvironment
2728
from pytorch_lightning.utilities import device_parser
2829
from pytorch_lightning.utilities.exceptions import MisconfigurationException
@@ -190,10 +191,12 @@ def test_torchelastic_gpu_parsing(mocked_device_count, mocked_is_available, gpus
190191
sanitizing the gpus as only one of the GPUs is visible."""
191192
trainer = Trainer(gpus=gpus)
192193
assert isinstance(trainer._accelerator_connector.cluster_environment, TorchElasticEnvironment)
193-
assert trainer.gpus == gpus
194194
# when use gpu
195195
if device_parser.parse_gpu_ids(gpus) is not None:
196196
assert trainer.device_ids == device_parser.parse_gpu_ids(gpus)
197+
assert isinstance(trainer.accelerator, GPUAccelerator)
198+
else:
199+
assert isinstance(trainer.accelerator, CPUAccelerator)
197200

198201

199202
@RunIf(min_gpus=1)

0 commit comments

Comments
 (0)