在 virtualenv 中使用 CUDA 为 Theano 服务

Use CUDA in virtualenv to serve Theano

由于缺少 root 权限,我在 Ubuntu 14.04 的 python3 virtualenv 中安装了 Theano 和 Lasagne。

运行 一些代码,我得到一个 ImportError: dnn not available,据我所知,这是缺少 CUDA header 的结果,尽管它安装在 /usr/local/cuda-6.5/targets/x86_64-linux/include/cudnn.h

theano documentation 之后,我设置了环境变量 CUDA_ROOT=/usr/local/cuda-6.5,这会产生一个额外的错误:

ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.6.5: cannot open shared object file: No such file or directory

有什么方法可以将这个 CUDA 库包含到 virtualenv 中吗?

终于找到答案了。除了环境变量,我忘记在我的主目录中配置 .theanorc,如 theano documentation 建议:

$ cat /home/user/.theanorc
[global]
floatX = float32
device = gpu0

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

谢谢!吸取教训仔细阅读文档...