как настроить cuDnn с помощью theano в 64-битной Windows 7

Я установил Theano framework и включил CUDA на своем компьютере, однако, когда я «импортирую theano» в свою консоль Python, я получил следующее сообщение:

>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)

Теперь, когда «CuDNN недоступен», я скачал cuDnn с веб-сайта Nvidia. Я также обновил «путь» в среде и добавил «optimizer_Include=cudnn» в конфигурационный файл «.theanorc.txt».

Затем я попытался еще раз, но потерпел неудачу с:

>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Anaconda2\lib\site-packages\theano\__init__.py", line 111, in <module>
    theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1()
  File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 31, in test_nvidia_driver1
    profile=False)
  File "C:\Anaconda2\lib\site-packages\theano\compile\function.py", line 320, in function
    output_keys=output_keys)
  File "C:\Anaconda2\lib\site-packages\theano\compile\pfunc.py", line 479, in pfunc
    output_keys=output_keys)
  File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1776, in orig_function
    output_keys=output_keys).create(
  File "C:\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 1456, in __init__
    optimizer_profile = optimizer(fgraph)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 101, in __call__
    return self.optimize(fgraph)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 230, in apply
    sub_prof = optimizer.optimize(fgraph)
  File "C:\Anaconda2\lib\site-packages\theano\gof\opt.py", line 89, in optimize
    ret = self.apply(fgraph, *args, **kwargs)
  File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\dnn.py", line 2508, in apply
    dnn_available.msg)
AssertionError: cuDNN optimization was enabled, but Theano was not able to use it. We got this error:
Theano can not compile with cuDNN. We got this error:

>>>

кто-нибудь может мне помочь? Спасибо.


person Tyler Xie    schedule 27.03.2016    source источник
comment
попробуйте обновить теано-версию?   -  person malioboro    schedule 29.03.2016
comment
Возможный дубликат Как установить theano в Anaconda ver. 2.1 64-разрядная версия Windows для Python 3.4?   -  person devinbost    schedule 14.02.2017


Ответы (2)


Должен быть способ сделать это, установив только переменную среды Path, но я никогда не мог заставить это работать. Единственное, что мне помогло, это вручную скопировать файлы CuDNN в соответствующие папки в вашей установке CUDA.

Например, если ваша установка CUDA находится в C:\CUDA\v7.0 и вы извлекли CuDNN в C:\CuDNN, вы должны скопировать следующее:

  • Содержимое C:\CuDNN\lib\x64\ будет скопировано в C:\CUDA\v7.0\lib\x64\
  • Содержимое C:\CuDNN\include\ будет скопировано в C:\CUDA\v7.0\include\
  • Содержимое C:\CuDNN\bin\ будет скопировано в C:\CUDA\v7.0\bin\

После этого должно работать.

person Alexander Measure    schedule 07.04.2016
comment
О, это работает! В моем случае я тоже скопировал \bin. Большое тебе спасибо!! - person greentec; 11.04.2016
comment
Использование CUDA 7.5 и CUDNN 5. Местоположение CUDA — C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5. В дополнение к копированию каталогов lib и include мне также пришлось скопировать dll из каталога bin. Затем это сработало (после того, как я переключился на основную ветку Theano, потому что выпуск 0.8.1 старше, чем CUDNN 5). - person Joels Elf; 15.04.2016
comment
Обратите внимание, что для cuDNN требуется графический процессор Kepler (Compute Capability 3.0) или более поздней версии. например Quadro 5000 будет поддерживать только CNMeM, но не cuDNN. - person casper.dcl; 03.05.2017
comment
Он работает с CUDA 8.0, cuDNN 5.1 и 64-разрядной версией Windows 10 с tensorflow 1.1. Я также не мог заставить его работать, добавляя каталог к ​​пути. Парень, пришли мне свой адрес, я пришлю тебе пиво, несколько часов боя... - person Grysik; 09.05.2017

В дополнение ко всему, что вы сделали, я обновил следующее содержимое .theanorc.txt в своей домашней папке, и после этого он заработал.

[lib] 
#cnmem=1.0 
cudnn=1.0
person 0xF    schedule 15.09.2016