坑爹的Caffe + Ubuntu14.04 + NVIDIA 环境配置

换了新电脑,整个人喜气洋洋,然后就屁颠屁颠地开始配置caffe的使用环境。
可是!!!配置这个坑爹的caffe环境让我重装系统N次加上重装cudaN次,后来发现有好多都是很琐碎的注意事项,好多人都没有提到过,我就假装伟大一下,发到博客上,与大家共勉。

首先安装ubuntu14.04,一般根据指示安装下去就可以了。,

但是有一点要注意!!!!!
千万不要更新系统!!!!!
千万不要手贱!!!!
千万不要更新那个三百多M的更新包!!!
理由是更新会把原有的nvidia的驱动覆盖掉,还会改掉ubuntu的内核,导致cuda使用不了,驱动的mismatch

提前做好的准备包括:  ubuntu  系统下面下载  Nvidia  官网上面的  run  文件。
&&  不要单独装  Nvidia  驱动再装  cuda  驱动,应该直接下载  cuda  驱动 (cuda  驱动包括  Nvidia  驱动, Toolkit    samples)

在ubuntu下面装caffe,配合NVIDIA的显卡,需要依赖以下几个库

1 Cuda(目前是6.5.14)
2 OpenCV Boost  Atlas等等
其中Cuda的安装比较麻烦,有很多琐碎的注意事项。

具体步骤如下
1 安装ubuntu14.04
2 配置一下网络,使得ubuntu能够连接Internet
3 update一下apt-get
sudo apt-get update
若出现一些update无法下载,一般是因为天朝的墙,可以在系统设置那里找到源服务器,切换一下看看哪个可以用。有时候server for China是会被墙一部分的。。
4 安装一个vim方便后续一个操作
sudo apt-get install vim
5 安装一些必要的库:
     sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev  libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
6 禁掉nouveau:
在/etc/modprobe.d/blacklist.conf最后一行加上 blacklist nouveau
禁了nouveau之后有时要重启下电脑才生效
7 关闭GUI:
     sudo service lightdm stop
8 更改CUDA Toolkit执行权限:
     sudo chmod +x cuda-6.5.14_linux_64.run 
9 执行CUDA安装文件

(注意!!!!!假如是用集显做未显示而用独显做计算的话,必须要加上一句 no-opengl-libs, 否则会覆盖到显示文件,导致无法在显示器显示)
(而个人比较推荐的做法,正是用集显输出,用独显计算)

 sudo ./cuda-6.5.14_linux_64.run  --no-opengl-libs

(If the target system includes both an integrated GPU (iGPU) and a discrete GPU
(dGPU), the --no-opengl-libs option must be used. Otherwise, the openGL library used
by the graphics driver of the iGPU will be overwritten and the GUI will not work. In
addition, the xorg.conf update at the end of the installation must be declined.)

10 切换回GUI:
     sudo service lightdm start

11 成功切回GUI后添加环境变量PATH:

$ sudo gedit /etc/profile
 在/etc/profile文件最后添加
 export  PATH=/usr/local/cuda-6.5/bin:$PATH
然后source一下,使之生效
$ source /etc/profile    
可以使用
$ echo $PATH
来检测是否成功添加环境变量

再然后就是添加共享库变量。
在 /etc/ld.so.conf.d/加入文件 cuda.conf, 内容如下
/usr/local/cuda-6.5/lib64
执行下列命令使之立刻生效
sudo ldconfig

12 检验:
 $ sudo nvidia-settings 
to check whether nvidia drivers are installed
$ glxinfo | grep rendering
如果出现  direct rendering: Yes  则表明显卡正在运行
$ sudo ldconfig  v | grep cuda  如果安装成功,会出现类似到信息  /usr/local/cuda-5.0/lib:
libcudart.so.5.0 -> libcudart.so.5.0.35
 libicudata.so.48 -> libicudata.so.48.1.1
 libcuda.so.1 -> libcuda.so.304.54
这样子的信息(具体版本具体分析)

13 测试一下cuda的一些sample 
cd到cuda sample的路径
一般是Home下面有一个NVDIA。。。(具体忘记了,,有点长的)
然后cd进去,make一下,
$ make  j8
之后生成了一个bin,在一路cd进去,直到有个目录有很多程序文件。
./deviceQuery
如果看到一大串正常的状态显示,就证明cuda装好了
例如输出  Pass  等信息,则说明成功安装。



把CUDA这个大块头搞定之后,剩下的就是一些命令行就可以安装好的东西了
1.(optional)cuDNN安装(加速用):
将cudnn.h复制到usr/include,將libcudnn.so.6.5.18复制到usr/lib
sudo ln -s libcudnn.so.6.5.18  libcudnn.6.5
sudo ln -s libcudnn.so.6.5    libcudnn.so
在config中加USE_CUDNN := 1 flag set in your Makefile.config.

2.BLAS如MKL安装:MKL找不到,用ATLAS代替:sudo apt-get install libatlas-base-dev

3.安装依赖库:包含了boost opencv leveldb protobuf  等
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler


接下来就可以开始真正地编译caffe了
不对,首先还要获取git上面的代码

如果是新系统,估计要先
$sudo apt-get install git

然后就是正常的git的使用,把caffe从git上用
git clone拉取到某个路径
然后再开始编译
cp Makefile.config.example  Mkefile.config
make all -j8
make test -j8
make runtest -j8
(有时候,如果环境变量和共享库那一步没做好,runtest的时候会报错,是cudart找不到文件,各种查都不知道为什么,最后用了个博客的做法)
(sudo ldconfig /usr/local/cuda-6.5/bin)

实验跑一个MNIST
下载MNIST数据库,放在caffe/data/mnist下
1. 数据预处理
cd $CAFFE_ROOT/data/mnist
./get_mnist.sh               
2.重建LDB文件
cd $CAFFE_ROOT/examples/mnist
./create_mnist.sh    
3.训练mnist     
cd $CAFFE_ROOT/examples/mnist
./train_lenet.sh

mnist里面的路径基本都是错的。。把train_lenet.sh, solver, train_test等几个脚本打开看看,把路径改对就可以了。
GPU:5分钟跑完,准确率在99%左右


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值