如何在Windows 7 64位上使用theano设置cuDnn

Tyl*_*Xie 10 python theano cudnn

Theano在我的机器上安装了框架并启用了CUDA,但是当我在我的python控制台中"导入theano"时,我收到以下消息:

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

现在,"CuDNN不可用",我cuDnn从Nvidia网站下载.我还更新了环境中的'path',并在'.theanorc.txt'配置文件中添加了'optimizer_including = cudnn'.

然后,我再次尝试,但失败了,:

>>> 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:

>>>
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?谢谢.

Ale*_*ure 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 \

之后它应该工作.

  • 使用CUDA 7.5和CUDNN 5. CUDA的位置是`C:\ Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5`.除了复制`lib`和`include`目录外,我还必须从`bin`目录复制一个dll.然后它工作(在我切换到Theano主分支后因为0.8.1版本比CUDNN 5更早). (9认同)