Почему PyTorch не находит мои драйверы NVDIA для поддержки CUDA? - PullRequest
0 голосов
/ 19 января 2019

Я добавил GeForce GTX 1080 Ti в свою машину (с Ubuntu 18.04 и Anaconda с Python 3.7), чтобы использовать графический процессор при использовании PyTorch. Обе карты правильно определены:

$ lspci | grep VGA
03:00.0 VGA compatible controller: NVIDIA Corporation GF119 [NVS 310] (reva1)
04:00.0 VGA compatible controller: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] (rev a1)

NVS 310 управляет настройкой двух мониторов, я хочу использовать только 1080 для PyTorch. Я также установил последние драйверы NVIDIA, которые в настоящее время находятся в репозитории, и это, кажется, хорошо:

$ nvidia-smi 
Sat Jan 19 12:42:18 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.87                 Driver Version: 390.87                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVS 310             Off  | 00000000:03:00.0 N/A |                  N/A |
| 30%   60C    P0    N/A /  N/A |    461MiB /   963MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:04:00.0 Off |                  N/A |
|  0%   41C    P8    10W / 250W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Версия драйвера 390.xx позволяет запускать CUDA 9.1 (9.1.85) в соответствии с документами NVIDIA . Так как это также версия в репозиториях Ubuntu, я просто установил CUDA Toolkit с:

$ sudo apt-get-installed nvidia-cuda-toolkit

И снова, похоже, все в порядке:

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Nov__3_21:07:56_CDT_2017
Cuda compilation tools, release 9.1, V9.1.85

и

$ apt-cache policy nvidia-cuda-toolkit
nvidia-cuda-toolkit:
  Installed: 9.1.85-3ubuntu1
  Candidate: 9.1.85-3ubuntu1
  Version table:
 *** 9.1.85-3ubuntu1 500
        500 http://sg.archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages
        100 /var/lib/dpkg/status

Наконец, я установил PyTorch с нуля с conda

conda install pytorch torchvision -c pytorch

Также ошибка, насколько я могу сказать:

$ conda list
...
pytorch                   1.0.0           py3.7_cuda9.0.176_cudnn7.4.1_1    pytorch
...

Однако PyTorch, похоже, не находит CUDA:

$ python -c 'import torch; print(torch.cuda.is_available())'
False

Более подробно, если я заставлю PyTorch преобразовать тензор x в CUDA с помощью x.cuda(), я получу ошибку:

Found no NVIDIA driver on your system. Please check that you have an NVIDIA GPU and installed a driver from 82 http://...

Что мне здесь не хватает? Я новичок в этом, но я думаю, что я уже достаточно много раз проверил в Интернете, чтобы найти какие-либо предостережения, такие как драйверы NVIDIA и версии инструментария CUDA?

РЕДАКТИРОВАТЬ: Еще несколько выходов из PyTorch:

print(torch.cuda.device_count())   # --> 0
print(torch.cuda.is_available())   # --> False
print(torch.version.cuda)          # --> 9.0.176
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...