1

我正在使用 cuda 8.0 windows 10 GTX 770M 在theano上尝试LeNet5,似乎无法正确更新参数。当我导入 theano 时,我会得到这个错误:

Can not use cuDNN on context None: cannot compile with cuDNN. We got this error:
c:\users\yanjun~1\appdata\local\temp\try_flags_8n7fhy.c:4:19: fatal error: cudnn.h: No such file or directory
compilation terminated.

Mapped name None to device cuda: GeForce GTX 770M (0000:01:00.0)

我已通过将文件复制到“NVIDIA GPU Computing Toolkit\CUDA\v8.0”将 cudnn 5 安装到我的 cuda 8.0,但仍然显示相同的错误。

是不是因为theano不能编译cudnn,两者conv2dpool_2d不能正常工作?结果我训练的时候错误率一直保持在90%左右。我是否正确安装了cudnn?我只是按照 theano 文档上的说明进行操作,但 zip 中没有 .so* 文件。

我已经尝试过 cpu 模式,它可以正确训练但真的很慢。

希望你们能帮助我摆脱困境,因为我被困了很多天。

非常感谢!

4

1 回答 1

1

在迁移到新的 theano 后端时,我遇到了类似的问题,并通过以下步骤(在我的 conda 环境中)修复了它。

  1. 用 更新 theanoconda update theano并用conda install -c rdonnelly pygpu. 我正在安装一个 RC 包,因为它给出的问题较少。
  2. 检查是否需要在此处更改代码由于我使用的是 keras,因此不必这样做。
  3. 将 theanorc 从 更改device = gpudevice = cuda0。如果您访问了上面的链接,您可能已经这样做了。
  4. 添加到 theanorc 文件的底部:

    compiler_bindir = C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
    
    [cuda]
    root = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
    
    [dnn]
    library_path = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
    include_path = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
    
于 2017-05-08T09:11:03.977 回答