【转载】Caffe + Ubuntu 14.04 + CUDA 6.5 新手安装配置指南
洋洋洒洒一大篇,就没截图了,这几天一直在折腾这个东西,实在没办法,不想用Linux但是,为了Caffe,只能如此了,安装这些东西,遇到很多问题,每个问题都要折磨很久,大概第一次就是这样的。想想,之后应用,应该还会遇到很多问题吧,不过没办法了,骑虎难下!!这里有个建议是,如果将来要做大数据集,最好事先给Linux留多点空间,比如Imagenet,估计500G都不为过。另外,请阅读完,至少一个部分再进行动手操作,避免多余的工作,写作能力有限,尽请见谅。
这篇安装指南,适合零基础,新手操作,请高手勿要吐槽!
简单介绍一下:Caffe,一种Convolutional Neural Network的工具包,和Alex的cuda-convnet功能类似,但各有特点。都是使用C++ CUDA进行底层编辑,Python进行实现,原作不属于Ubuntu 12,也有大神发布了Windows版,但其他相关资料较少,不适合新手使用,所以还是Ubuntu的比较适合新手。(相对而言)
本文主要包含5个部分,包括:
第一部分 Linux安装
第二部分 nVidia驱动和CUDA Toolkit的安装和调试
第三部分 Caffe的安装和测试
第四部分 Python安装和调试
第五部分 Matlab安装和调试
- 第一部分 Linux安装
PS:今天还是重新装了,把home分区扩大到500G。所以建议真的要大数据实验的小伙伴,也趁早考虑。
删除所有域名服务器,保留:nameserver 127.0.0.1
- 第二部分:nVidia驱动和CUDA Toolkit的安装和调试
二、Verify You Have a Supported Version of Linux
三、Verify the System Has gcc Installed
四、Download the NVIDIA CUDA Toolkit
五、Handle Conflicting Installation Methods
六、Graphical Interface Shutdown
七、Interaction with Nouveau
1. 将nouveau添加到黑名单,防止它启动
$ sudo vi nvidia-graphics-drivers.conf
写入:blacklist nouveau
检查:$ cat nvidia-graphics-drivers.conf
2. 对于:/etc/default/grub,添加到末尾。
$ sudo vi /etc/default/grub
末尾写入:rdblacklist=nouveau nouveau.modeset=0
保存并退出: wq!
检查:$ cat /etc/default/grub
3. 官网提供的操作:
$ sudo update-initramfs -u
PS:其实,这一连串的工作,有点没搞懂,因为有的命令和文件不存在。原理理解了,但是步骤还是有点模糊,不过,我是照上面的操作完成了,后面的也没出问题,应该应付过去了吧。
八、Installation
鉴于安装过程中遇到的一些问题和启示,建议先安装官方最新版的显卡驱动,然后再安装CUDA,这里可能是CUDA内置的驱动不太完整,或者适应性差了一点。GTX显卡驱动的下载地址如下(Tesla版的驱动,请大家自己去nVidia的官网下载):
下载地址:
http://www.geforce.cn/drivers
$ sudo sh ./NVIDIA-Linux-x86_64-340.24.run切换到cuda_6.5.11_rc_linux_64.run 所在的目录,然后执行安装命令:
$ sudo sh cuda_6.5.11_rc_linux_64.run
再次提醒,安装前一定要执行 md5sum ,我第一次安装就是执行了,发现不一样,然后没有理它直接安装,导致安装的Sumary里显示Driver成功,Toolkit和Samples失败,第二次在装就好了。
至于如果发现md5检测不一致,怎么办?别逗了,去nVidia重新下载就行了,地球人都知道,别无限循环就好^_^!
安装完会提示丢失了四个库:libGLU.so, libx11.so, libxmu.so, libxi.so 这个木有关系,下一步就是解决这个问题的。
九、Extra Libraries
十、驱动装完了,可以回到GUI界面了,也可以继续留这里玩文本。。。
十一、POST-INSTALLATION ACTIONS
这一步就是验证一下安装是否正确,编译和完成以下CUDA自带的程序,建议做一下~
$ export LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH
2. (Optional) Install Writable Samples
3. Verify the Installation
b. Compiling the Examples
次日,这里安装完,就可以编译了,切换目录到~/NVIDIA_CUDA-6.5_Samples,记性没问题的话,应该还记得它是安装在Home文件夹的,穿越过去就好了,然后执行:
$ make
c. Running the Binaries
$ ./deviceQuery
PS:如果测试的时候出现说运行版驱动和实际驱动不符(英文原文不记得了,没记下来),原因可能是因为后面安装的nvidia-cuda-toolkit更新了配置文件,所以和原始的Cuda-Samples的配置或者是驱动程序有变化,所以检测无法编译通过。考虑下面的解决方法:
1. 卸载现有驱动
$ sudo nvidia-installer --uninstall
2. 下载合适版本的驱动,并安装:
下载地址:
http://www.geforce.cn/drivers
$ sudo sh ./NVIDIA-Linux-x86_64-340.24.run3. 重装CUDA Toolkit
$ sudo sh cuda_6.5.11_rc_linux_64.run
好了,到这里所有nVidia CUDA的安装就结束了,下面看看Caffe如何安装
- 第三部分 Caffe的安装和测试
一、安装BLAS,这里可以选择(ATLAS,MKL或者OpenBLAS),我这里使用MKL,首先下载并安装英特尔® 数学内核库 Linux* 版MKL,下载链接是:https://software.intel.com/en-us/intel-education-offerings,可以下载Student版的,先申请,然后会立马收到一个邮件(里面有安装序列号),打开照着下载就行了。下载完之后,要把文件解压到home文件夹(或直接把tar.gz文件拷贝到home文件夹,为了节省空间,安装完记得把压缩文件给删除喔~),或者其他的ext4的文件系统中。
$ tar zxvf cpp_studio_xe_2013_sp1_update3.tar.gz (如果你是直接拷贝压缩文件过来的)
$ chmod a+x /home/username/cpp_studio_xe_2013_sp1_update3 -R
$ sudo ./install_GUI.sh
2. 记得把解压后的studio_xe软件包丢到home下,或者干脆直接在home里解压,注意这里它是保存在home/username, 这里的username是你的用户名。这一步主要是,让安装程序处于linux的文件系统中,为了修改权限做保证。
$ sudo passwd root
二、MKL与CUDA的环境设置
$ cd /etc/ld.so.conf.d
/opt/intel/mkl/lib/intel64
2. 新建cuda.conf,并编辑之:
$ sudo vi cuda.conf
3. 完成lib文件的链接操作,执行:
三、安装OpenCV
2. 切换到文件保存的文件夹,然后安装依赖项:
3. 安装openCV,因为不知道有什么区别,所以就安装最新版opencv2_4_8吧,有偏好可以根据自己的要求进行设置:
保证网络畅通,因为软件需要联网这里时间较长,请耐心等待。。。,所以就安四、安装其他依赖项
$ ./ configure
$ sudo make install
2. 其他依赖项,确保都成功
如果安装过程中出现错误,E: Sub-process /usr/bin/dpkg returned an error code (1),可能是因为sudo apt-get install出现到意外,不用着急,可以试试这个解决办法:
$ cd /var/lib/dpkg
$ sudo mv info info.bak
$ sudo mkdir info
$ sudo apt-get --reinstall install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev
五、安装Caffe并测试
$ make test
$ sudo apt-get install protobuf-c-compiler protobuf-compiler
2. 提示“src/caffe/util/math_functions.cu(140): error: calling a host function("std::signbit ") from a globalfunction("caffe::sgnbit_kernel ") is not allowed”
解决办法:
得到作者,大神Yangqing Jia的回复,解决方法如上,没有二致。
六、使用MNIST数据集进行测试
$ sudo sh ./get_mnist.sh
2. 重建LDB文件,就是处理二进制数据集为Caffe识别的数据集,以后所有的数据,包括jpe文件都要处理成这个格式
$ sudo sh ./create_mnist.sh
3. 训练mnist
$ sudo sh ./train_lenet.sh
至此,Caffe安装的所有步骤完结,下面是一组简单的数据对比,实验来源于MNIST数据集,主要是考察一下不同系统下CPU和GPU的性能。可以看到明显的差别了,虽然MNIST数据集很简单,相信复杂得数据集,差别会更大,Ubuntu+GPU是唯一的选择了。
- 第四部分 Python安装和调试
$ sudo apt-get install python-numpy python-scipy python-matplotlib python-sklearn python-skimage python-h5py python-protobuf python-leveldb python-networkx python-nose python-pandas python-gflags Cython ipython
/usr/lib/python2.7/dist-packages/numpy/core/include
PYTHON_LIB := /usr/local/lib
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
3. 这里非常重要的是,为了确保支持Caffe Notebook里的程序,需要使用到IDE环境,并且支持iPython输出。
- 第五部分 Matlab安装和调试
由于该软件为商业软件,请大家自行寻找,安装学习,并确保不使用做商业目的,下载24小时删除......
(PS:我的原则是能GUI就GUI,喜欢CMD的可以参照执行)
4. 安装
5.创建快捷方式
2. 选择安装目录:/usr/local/MATLAB/R2014a
6.配置Caffe
修改文件:Makefile.config
MATLAB_DIR := /usr/local/MATLAB/R2014a
7.编译Matlab用到的caffe文件
$ make matcaffe