Theano-gpu坑:ERROR (theano.gpuarray): Could not initialize pygpu, support disabled

问题描述:

运行一个较大的程序是,使用了theano-gpu。同时,使用nvidia-smi进行检测,发现这个大程序,的确调用gpu成功。但是,在使用import的时候,发现运行报错,报错信息如下。

>>> import theano
ERROR (theano.gpuarray): Could not initialize pygpu, support disabled
Traceback (most recent call last):
  File "/home/zoe_env/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 227, in <module>
    use(config.device)
  File "/home/zoe_env/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 214, in use
    init_dev(device, preallocate=preallocate)
  File "/home/zoe_env/anaconda2/lib/python2.7/site-packages/theano/gpuarray/__init__.py", line 99, in init_dev
    **args)
  File "pygpu/gpuarray.pyx", line 658, in pygpu.gpuarray.init
  File "pygpu/gpuarray.pyx", line 569, in pygpu.gpuarray.pygpu_init
ValueError: invalid literal for int() with base 10: '*'
解决步骤:

(1)有一个程序可以调用theano-gpu,则说明:在本台服务器的环境下,该gpu的安装成功
(2)可能是在调用pygpu的时候出现问题
使用THEANO_FLAGS=mode=FAST_RUN,device=cuda,floatX=float32 python theano-test.py成功,则更加确定是在.theanorc文件中进行公共设置的时候出现了问题
(3)查看.theanorc文件

[global]
device=cuda*
floatX=float32
root=/usr/local/cuda-8.0   #cuda-8.0,视个人情况而定

[nvcc]
fastmath = True
[blas]
ldflags = -lopenblas

[cuda]
root = /usr/local/cuda-8.0

根据ValueError: invalid literal for int() with base 10: '*',提示,将cuda*更改为cuda,再次import theano运行,报错消失。

    原文作者:兜里有颗糖儿
    原文地址: https://www.jianshu.com/p/b67fd7140356
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞