Ubuntu下安装Torch并配置CUDA和cuDNN


总说

采用的Ubuntu是14.04, 安装的cuda是7.5的cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64。cudnn是7.5 的, cudnn-7.5-linux-x64-v5.0-ga.tgz。
参考:链接:https://github.com/jcjohnson/neural-style/blob/master/INSTALL.md
neural-style
其实这篇已经讲的很清楚怎么安装了,但是安装时还是碰到了不少坑。

坑1:torch的依赖库很多!!

curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash

运行这个时,一定会经过较长时间的安装!!!!由于我这里的网很差,所以如果你的也有类似的情况,那么可能会出现:“xxx 校验和不符”。这时说明完全没有安装依赖库好吧!!我以前以为已经装好了,直接下完neural-style,然后./install.sh。我擦,结果出现什么cmake not found之类的。然后我还傻乎乎的去 sudo apt-get install cmake。结果又出现其他乱七八糟的,现在就是一句话:curl -s https://raw.githubusercontent.com/torch/ezinstall/master/install-deps | bash是把所有的依赖库都会安装好!!并且安装完之后会有类似提示:“torch dependencies have already installed.”

坑2:安装cuda,版本不符

wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/rpmdeb/cuda-repo-ubuntu1404-7-0-local_7.0-28_amd64.deb

sudo dpkg -i cuda-repo-ubuntu1204-7-0-local_7.0-28_amd64.deb

这个理论上貌似没错,但是后面

sudo apt-get update
sudo apt-get install cuda

这里用的apt-get得到的是cuda7.5的!!和上面安装的版本不符合!所以正确方式:
自己去官网下载,然后安装!
根据我的ubuntu版本,因此我选择
cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb

以后如果apt-get得到的cuda版本更高了,就一定要安装对应的版本即可!

坑3 cudnn和cuda版本一定要对应!

原文

tar -xzvf cudnn-7.0-linux-x64-v4.0-prod.tgz
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-7.0/lib64/
sudo cp cuda/include/cudnn.h /usr/local/cuda-7.0/include/
luarocks install cudnn

此处自己去下载for cuda7.5的,此处即为cudnn-7.5-linux-x64-v5.0-ga.tgz
当然了,把

sudo cp cuda/include/cudnn.h /usr/local/cuda-7.0/include/

的7.0改成7.5。

坑4 可能出现’libcudnn not found in library path’的情况

截取其中一段错误信息:

Please install CuDNN from https://developer.nvidia.com/cuDNN
Then make sure files named as libcudnn.so.5 or libcudnn.5.dylib are placed in your library load path (for example /usr/local/lib , or manually add a path to LD_LIBRARY_PATH)

LD_LIBRARY_PATH是该环境变量,主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。由于刚才已经将
“libcudnn*”复制到了/usr/local/cuda-7.5/lib64/下面,因此需要

  1. sudo gedit /etc/ld.so.conf.d/cudnn.conf 就是新建一个conf文件。名字随便
  2. 加入刚才的路径/usr/local/cuda-7.5/lib64/
  3. 反正我还添加了/usr/local/cuda-7.5/include/,这个估计不要也行。
  4. 保存后,再sudo ldconfig来更新缓存。(可能会出现libcudnn.so.5不是符号连接的问题,不过无所谓了!!)

此时运行

th neural_style.lua -gpu 0 -backend cudnn

成功了!!!!

发现用cudnn时,变成50个50个一显示了,速度快了些。刚才但存用cuda只是1个1个显示的。不说了,歇会儿。

总结

一定要版本对应!!以后apt-get会得到更高的版本的cuda和cudnn,这时候一定要根据实际情况下载对应版本的进行安装。方法类似。

相关内容