使用Theano加载库gpuarray时出错

时间:2017-04-23 23:53:52

标签: gpu theano

我正在尝试运行this script来测试Theano对我的GPU的使用并收到以下错误:

ERROR (theano.gpuarray): Could not initialize pygpu, support disabled
Traceback (most recent call last):
  File "/home/me/anaconda3/envs/py35/lib/python3.5/site-
packages/theano/gpuarray/__init__.py", line 164, in <module>
    use(config.device)
  File "/home/me/anaconda3/envs/py35/lib/python3.5/site-
packages/theano/gpuarray/__init__.py", line 151, in use
    init_dev(device)
  File "/home/me/anaconda3/envs/py35/lib/python3.5/site-
packages/theano/gpuarray/__init__.py", line 60, in init_dev
    sched=config.gpuarray.sched)
  File "pygpu/gpuarray.pyx", line 614, in pygpu.gpuarray.init 
(pygpu/gpuarray.c:9419)
  File "pygpu/gpuarray.pyx", line 566, in pygpu.gpuarray.pygpu_init 
(pygpu/gpuarray.c:9110)
  File "pygpu/gpuarray.pyx", line 1021, in 
    pygpu.gpuarray.GpuContext.__cinit__ (pygpu/gpuarray.c:13472)
pygpu.gpuarray.GpuArrayException: Error loading library: -1

我需要使用nvidia-381驱动程序,因为我的GPU是1080 ti并且与nvidia-375不兼容。我不确定这是否重要,但是如果我在设置nvcc后重新安装381,那么安装nvcc会覆盖381并导致一些错误,因此我无法使用nvcc

我可以毫无错误地导入pygpu,但如果我运行pygpu.test(),我会收到以下错误,而且我不知道如何在没有{{1}的情况下指定DEVICE变量}。

nvcc

1 个答案:

答案 0 :(得分:3)

警告:完全有可能这是完全错误的,实际上你的问题的实际原因 - 你怀疑 - 是你的gpu驱动程序。

我在Windows 10上遇到了与gpuarray相同的问题。 最后我解决了它:

  1. 完全卸载python
  2. 安装cuda 8.0(使用cudnn 5.1)
  3. 安装anaconda
  4. 通过anaconda安装theano:

    conda install theano pygpu 
    
  5. 当您使用linux时:此错误消息基本上意味着它没有工作,不会问我为什么并且如果您的设置有问题(例如,用于编译python和theano的不同编译器,或不兼容的cuda版本)

    我建议更新到cuda 8.0并在anaconda上重新安装你的python环境(以防万一)

    旁注:我从文档中测试了您的示例脚本,至少它正在运行....

    Windows用户注意事项:永远不要尝试在路径中有空格的地方安装Anaconda ......一切都很好......直到theano开始无法查找和编译内容。< / p>

    关于pygpu.test()

    的注意事项

    通常你只需设置环境变量:

    windows: set DEVICE=cuda
    linux: export DEVICE=cuda
    

    但是如果图书馆无法加载,测试就会说您没有指定设备......