Как проверить, использует ли pytorch GPU?
Я хотел бы знать, если pytorch
использует мой GPU. Это можно обнаружить с помощью nvidia-smi
если есть какая-либо активность от GPU во время процесса, но я хочу, чтобы что-то было написано в python
сценарий.
есть ли способ сделать это ?
3 ответов
Это будет работать :
In [1]: import torch
In [2]: torch.cuda.current_device()
Out[2]: 0
In [3]: torch.cuda.device(0)
Out[3]: <torch.cuda.device at 0x7efce0b03be0>
In [4]: torch.cuda.device_count()
Out[4]: 1
In [5]: torch.cuda.get_device_name(0)
Out[5]: 'GeForce GTX 950M'
Это говорит мне GPU GeForce GTX 950M
используется PyTorch
.
после запуска цикла обучения, а затем, если вы хотите вручную посмотрите с терминала, использует ли ваша программа ресурсы GPU и в какой степени, то вы можете использовать:
$ watch -n 2 nvidia-smi
Это будет обновлять статистику каждые 2 секунды, пока вы не нажмете ctrl+c
кроме того, вы можете проверить, правильно ли ваша установка PyTorch обнаруживает вашу установку CUDA делать:
In [13]: import torch
In [14]: torch.cuda.is_available()
Out[14]: True
True
статус означает, что PyTorch настроен правильно и и используя GPU, хотя вам нужно переместить/разместить тензоры с необходимыми инструкциями в вашем коде.
Если вы хотите сделать это внутри кода Python, то посмотрите в этот модуль:
https://github.com/jonsafari/nvidia-ml-py или в pypi здесь:https://pypi.python.org/pypi/nvidia-ml-py/
создайте тензор на GPU следующим образом:
$ python
>>> import torch
>>> print(torch.rand(3,3).cuda())
не выходите, откройте другой терминал и проверьте, использует ли процесс python GPU с помощью:
$ nvidia-smi