Как проверить, использует ли 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