2016-03-27 2 views
10

Я установил Theano рамки и включен CUDA на моей машине, но когда я «импорт Theano» в моем питона консоли, я получил следующее сообщение:как установить cuDnn с Теано на Windows 7 64 бит

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

Теперь, когда «CuDNN недоступен», я загрузил cuDnn с веб-сайта Nvidia. Я также обновил «путь» в среде и добавил «optimizer_including = 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: 

>>> 

кто может мне помочь? Благодарю.

+0

попробуйте обновить версию вашего anano? – malioboro

+0

Возможный дубликат [Как установить anano в Anaconda ver. 2.1 Windows 64 бит для Python 3.4?] (Http://stackoverflow.com/questions/27629347/how-do-i-install-theano-in-anaconda-ver-2-1-windows-64-bit-for- python-3-4) – devinbost

ответ

35

Должен быть способ сделать это, установив только переменную окружения 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 \

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

+0

О, это работает! В моем случае я тоже скопировал \ bin. Большое спасибо!! – greentec

+9

Использование 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). –

+0

Обратите внимание, что cuDNN нужен графический процессор, который является Kepler (Compute Capability 3.0) или более поздней. например Quadro 5000 будет поддерживать только CNMeM, а не cuDNN. – abcdaa

-4

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

[lib] 
#cnmem=1.0 
cudnn=1.0