ПРЕДУПРЕЖДЕНИЕ (theano.sandbox.cuda): CUDA установлен, но устройство gpu недоступно (ошибка: cuda недоступна)

в Ubuntu MATE 16.04 Я пытаюсь запустить примеры углубленного изучения python здесь, используя GPU:

тестирование Theano с помощью графического процессора

Я выполнил код примера,

THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py 

но кажется, что он используется CPU, а не GPU. Вот последняя часть вывода терминала:

 WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not available (error: cuda unavailable) ... Used the cpu 

Я тоже пытался запустить этот код:

 THEANO_FLAGS=device=cuda0 python check1.py 

но выход:

 ERROR (theano.sandbox.gpuarray): pygpu was configured but could not be imported Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/gpuarray/__init__.py", line 20, in <module> import pygpu ImportError: No module named pygpu ... used cpu 

Я установил инструментарий cuda из apt. Здесь есть (надеюсь) полезные данные:

 python --version Python 2.7.12 g++ -v gcc version 5.4.0 nvcc --version Cuda compilation tools, release 7.5, V7.5.17 lspci NVIDIA Corporation GM107 [GeForce GTX 750 Ti] (rev a2) nvidia-smi +------------------------------------------------------+ | NVIDIA-SMI 361.42 Driver Version: 361.42 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GTX 750 Ti Off | 0000:01:00.0 On | N/A | | 29% 35C P8 1W / 38W | 100MiB / 2044MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 2861 G /usr/lib/xorg/Xorg 90MiB | +-----------------------------------------------------------------------------+ 

2 Solutions collect form web for “ПРЕДУПРЕЖДЕНИЕ (theano.sandbox.cuda): CUDA установлен, но устройство gpu недоступно (ошибка: cuda недоступна)”

Наконец я решил! Это сообщение Ubuntu 16.04, Theano и Cuda

предлагает добавить флаг

 nvcc.flags=-D_FORCE_INLINES 

в командной строке, поэтому командная строка становится:

 THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py 

Кажется, исправить ошибку при использовании glibc 2.23

исправление для glibc 2.23

Теперь программа правильно использует GPU, это правильный вывод:

 THEANO_FLAGS=floatX=float32,device=gpu,nvcc.flags=-D_FORCE_INLINES python check1.py Using gpu device 0: GeForce GTX 750 Ti (CNMeM is disabled, cuDNN not available) [GpuElemwise{exp,no_inplace}(<CudaNdarrayType(float32, vector)>), HostFromGpu(GpuElemwise{exp,no_inplace}.0)] Looping 1000 times took 0.317012 seconds Result is [ 1.23178029 1.61879349 1.52278066 ..., 2.20771813 2.29967761 1.62323296] Used the gpu 

Обратите внимание, что перед тем, как попробовать это решение, я удалил nvidia-cuda-toolkit и установил CUDA с веб-сайта Nvidia, следуя приведенным здесь инструкциям:

CUDA с Ubuntu 16.04

Именно это я и сделал:

1) Я скачал CUDA отсюда CUDA 7.5 скачать выбрать LINUX, x86_64, Ubuntu 15.04, deb local

2) Я установил файл deb

 dpkg -i cuda_repo-ubuntu1504-7-5-local_7.5-18_amd64.deb 

3) Затем запустите

 apt-get update 

Это дает некоторые ошибки! Я исправил его, перезаписывая файл Release в \ var \ cuda-repo-7.5-local со следующими строками:

 Origin: NVIDIA Label: NVIDIA CUDA Architecture: repogenstagetemp MD5Sum: 51483bc34577facd49f0fbc8c396aea0 75379 Packages 4ef963dfa4276be01db8e7bf7d8a4f12 21448 Packages.gz SHA256: 532b1bb3b392b9083de4445dab2639b36865d7df1f610aeef8961a3c6f304d8a 75379 Packages 2e48cc13b6cc5856c9c6f628c6fe8088ef62ed664e9e0046fc72819269f7432c 21448 Packages.gz 

(извините, я не помню, где я читал это решение).

4) Я успешно бегу

 apt-get-update apt-get install cuda 

5) Все было обжарено в \ usr \ local \ cuda-7.5

6) Я прокомментировал строку n 115 в файле \ usr \ local \ cuda-7.5 \ include \ host-config.h

  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) //#error -- unsupported GNU version! gcc versions later than 4.9 are not supported! #endif /* __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 9) */ 

который, как представляется, не позволяет CUDA использовать gcc 5.4. После всех этих операций я обновил файл .theanorc, добавив корень cuda

 [cuda] root = /usr/local/cuda-7.5 

Это все 🙂

PS: Я не знаю, будет ли это работать даже с nvidia-cuda-toolkit!

В моей системе эта проблема была решена только путем перезагрузки системы. Может быть, вы можете попробовать.

  • Theano: Инициализация устройства gpu не удалась! Причина = CNMEM_STATUS_OUT_OF_MEMORY
  • Keras: конвертировать предварительно взвешенные веса между theano и tensorflow
  • Как назначить / обновить подмножество общей переменной тензора в Theano?
  • Предварительная подготовка ANN с RBM в pylearn2
  • Возможности экстракции Keras VGG
  • Как сохранить / сериализовать обучаемую модель в анано?
  • Theano: Куда поместить файл .anorc для установки Anaconda? (Windows)
  • Что делают слои свертки Keras с цветными каналами?
  • Python - лучший язык программирования в мире.