ubuntu14.04+gtx1060配置caffe

来源:互联网 发布:java环境变量一键配置 编辑:程序博客网 时间:2024/05/16 01:50

本方法是传统方法,安装起来比较麻烦,但最保险。之后还会共享新的方法,没有100%能成功的方法,具体使用哪种方法,请根据寄几的GPU来决定。

A.安装前的准备工作

$ sudo apt-get update  //这步是更新源。$ 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  //官网上指导的需要安装的一些工具包。$ sudo apt-get install build-essential //必备包,几乎任何教程上都有。

B.禁独显 //禁独显是为了安装显卡驱动时万无一失
1.在BIOS设置里选择用Intel显卡来显示或作为主要显示设备(开机进入bios设置,找到advanced中的VGA configuration设置,将intel显卡设为primary)。 //不同的bios肯定不同,反正要用集显禁独显。抱歉,这个步骤我没办法用文字详细描述,请自行百度一下哦。
2.将nouveau添加到黑名单,防止它启动

$ cd /etc/modprobe.d$ sudo gedit nvidia-graphics-drivers.conf

写入:blacklist nouveau
保存并退出: wq! //这里的wq! 是针对图形界面的保存退出。
检查:

$ cat nvidia-graphics-drivers.conf    //出现blacklist nouveau

接下来对于:/etc/default/grub,添加这行黑名单到末尾。

$ sudo gedit /etc/default/grub

末尾写入:rdblacklist=nouveau nouveau.modeset=0
保存并退出: wq!
检查:

$ cat /etc/default/grub    //出现rdblacklist nouveau nouveau.modeset=0

3.进入Ubuntu字符界面(tty1), 按 ctrl+alt+F1 进入tty1, 登录tty1后输入如下命令

$ sudo service lightdm stop  //结束桌面显示管理器,回桌面时按ctrl+alt+f7

C.装显卡驱动,先从官网下好驱动放在home里

$ cd /home/yourname    //cd到文件目录$ sudo sh linux367.run    //安装驱动$ sudo service lightdm start   //重新启用桌面$ cat /proc/driver/nvidia/version  //检查一下驱动版本和gcc版本

D.装老朋友cuda

$ sudo chmod +x ./ cuda_8.0_linux_64.run    //获取权限,要先cd到cuda的文件夹

1.将CUDA8.0解压成三个文件

$ sudo sh cuda*.run --noexec --target .      //(.前面有空格)

分别为:
CUDA安装包: cuda-linux64-8.0.run //解压出来名称可能有不同
NVIDIA驱动: NVIDIA-Linux-x86_64-361.run
SAMPLE包: cuda-samples-linux-8.0.run
(这里一定不能安装NVIDIA驱动)!!!建议直接把它删掉,因为之前已经安装过driver了

2.开始安装CUDA,

$ sudo ./cuda-linux64-8.0.run   //文件名自己要改哦

安装完成后需要在/etc/profile中
①添加环境变量

$ PATH=/usr/local/cuda-8.0/bin:$PATH$ export PATH

保存后, 执行下列命令, 使环境变量立即生效

$ source /etc/profile

②添加lib路径,
下面这段代码的意思是:在/etc/ld.so.conf.d/新建文件cuda.conf,并编辑。

$ cd /etc/ld.so.conf.d$ sudo touch cuda.conf $ sudo gedit cuda.conf

/usr/local/cuda-8.0/lib64 //这行复制到新建的conf中
执行下列命令使之立刻生效

$ sudo ldconfig

3.安装CUDA SAMPLE,安装下列依赖包

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev  //这里若有小部分报错,暂时忽略,无所谓的,经常敲代码,哪有不报错。哈哈哈

然后用下述命令安装sample文件

$ cd 路径    //打开到sample的路径,路径尼要自己写哦$ sudo ./cuda-samples-linux-8.0.run    //这里的sample文件名要改成尼解压出来那个名字

完成后编译Sample文件,更若干分钟后

$ cd /usr/local/cuda-6.5/samples$ sudo make

编译完成后,检查一下

$ cd /usr/local/cuda-8.0/samples/bin/x86_64/linux/release$ sudo ./deviceQuery 

如果出现显卡信息比如有显卡型号,功率等,则驱动及cuda安装成功。

E.安装matlab2014a //matlab版本不同安装及破解方式是不同的
下载好iso格式的,还有crack
先解压(右击提取到此处)

$ cd                    //cd到该目录$ sudo chmod +x matlab2014a   //给权限

挂载iso文件:右击打开方式-磁盘映像挂载器
cd到挂载的路径

$ sudo ./install    //顺便说一句,这里的.表示当前文件夹

安装过程和windows及其相似,使用文件密钥安装,接受许可,选已有安装秘钥,去crack里找到秘钥输进去,安装路径默认,默认工具包全部安装,安装完毕,激活,不使用internet激活,浏览到lic证书,复制crack里的libmwservice.so文件到默认路径/user/local/MATLAB/R2014A/bin/glnxa64,覆盖掉。

$ sudo cp libmwservices.so /usr/local/MATLAB/R2014a/bin/glnxa64/libmwservices.so  //我只会用代码来实现

打开matlab,

$ sudo /usr/local/MATLAB/R2014a/bin/matlab

添加应用和图标到启动菜单中:

$ sudo gedit /usr/share/applications/Matlab.desktop   //用gedit打开Matlab.desktop

内容如下:
[Desktop Entry]
Name=Matlab
GenericName=Matlab R2014a
Comment=Matlab R2014a: The Language of the Techinical Computing
Exec=/usr/local/MATLAB/R2014a/bin/matlab -desktop //-desktop前面有空格
Icon=/media/matlab/matlab.png //这里可能有问题
StartupNotify=true
Terminal=false
Type=Application
Categories=Application;Development;matlab;
文件中的内容拷贝进去即可修改桌面启动菜单权限,显示home文件夹下的隐藏文件: Ctrl + h,然后修改MATLAB在桌面快捷键权限:

$ sudo chmod 777 -R ./.matlab   //777表示最高权限

在面板搜索 中找到matlab 图标,然后添加到桌面,最后运行

F.安装openblas //可以把它理解为是一个矩阵运算库
先下载git,然后安装OpenBLAS

没安装git要先装:

$ sudo apt-get install git$ mkdir ~/git$ cd ~/git$ git clone https://github.com/xianyi/OpenBLAS.git$ cd OpenBLAS$ sudo apt-get install gfortran$ make FC=gfortran -j $(($(nproc) + 1))     //这一步反应很剧烈,冷静一点,不要害怕!$ sudo make PREFIX=/usr/local install       //install成功

添加lib库的变量路径

$ echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

G.下面装老朋友caffe
1. 安装pycaffe必须的一些依赖项:

$ 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$ sudo apt-get install -y protobuf-c-compiler protobuf-compiler

克隆caffe//也可以去官网下载,但我只用过克隆法

$ cd ~/git$ git clone https://github.com/BVLC/caffe.git

修改配置文件

$ cd caffe$ cp Makefile.config.example Makefile.config

如果安装了cuDNN然后把Makefile文件的USE_CUDNN := 1注释去掉

$ sed -i 's/# USE_CUDNN := 1/USE_CUDNN := 1/' Makefile.config   //就是把#去掉

如果安装了OpenBLAS,修改BLAS参数

$ sed -i 's/BLAS := atlas/BLAS := open/' Makefile.config        //就是把atlas改成open

配置路径,实现caffe对Python和Matlab接口的支持
PYTHON_LIB := /usr/local/lib
MATLAB_DIR := /usr/local/MATLAB/R2014a //这里我就改了matlab的路径,并且去掉了前面的#

编译caffe
(-j8)是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all -j8  //-j8是线程,只要你喜欢,j8,j18都是可以的,全部调用的命令是make runtest -j $(($(nproc) +1))$ make test -j8$ make runtest -j8

编译Python和Matlab用到的caffe文件

$ make pycaffe -j8$ make matcaffe -j8

然后在编译matlab是会遇到错误,由于matlab版本不同而支持的编译器版本不同,所以会出现问题。
Matlab 2014a(2015a)的版本是支持版本4.7.x所以在使用matlab调用mex文件的时候,基本上都会报错,根据报错信息,考虑如下降级的解决方案。
降级安装gcc/g++版本为4.7.x
(1). 下载gcc/g++ 4.7.x

$ sudo apt-get install -y gcc-4.7$ sudo apt-get install -y g++-4.7

(2). 链接gcc/g++实现降级

$ cd /usr/bin$ sudo rm gcc$ sudo ln -s gcc-4.7 gcc$ sudo rm g++$ sudo ln -s g++-4.7 g++

重新编译matcaffe //重新编译的时候一定要clean

$ cd ~/git/caffe  //先cd到~/git/caffe$ sudo make clean //重新编译caffe必清零$ make all$ make test    //到这一步结束$ make runtest$ make pycaffe$ make matcaffe    //成功编译

至此,cuda+openBLAS+matlab+caffe 配置结束。

H.跑个例程mnist
1. 数据预处理

$ sh data/mnist/get_mnist.sh

2.重建lmdb文件。Caffe支持三种数据格式输入网络,包括Image(.jpg, .png等),leveldb,lmdb,根据自己需要选择不同输入吧。

$ sh examples/mnist/create_mnist.sh

生成mnist-train-lmdb 和 mnist-train-lmdb文件夹,这里包含了lmdb格式的数据集
3. 训练mnist

$ sh examples/mnist/train_lenet.sh

看到你训练出来的caffemodel了吧,恭喜你,配置成功了,拜拜,我要回去睡觉了。

1 0
原创粉丝点击