Caffe 安装手册

Caffe 安装手册

 

Caffe 安装

安装流程,主要参考ouxinyu的文章。

http://ouxinyu.github.io/Blogs/20140723001.html

http://caffe.berkeleyvision.org/installation.html

 

主要包括显卡安装,数学库安装,boost安装,caffe库安装 python安装等。

 

2.1显卡驱动

1 修改文件

 # sudo gedit /etc/modprobe.d/blacklist.conf 

# 增加一行 :blacklist nouveau 

2 修改文件

# sudo gedit /etc/default/grub

末尾写入:rdblacklist=nouveau

option nouveau.modeset=0

3 更新使1,2有效

Sudo update -initramfs -u

4 进入tty命令界面,ctrl alt f1-f6 关闭X界面

 Sudo systemctl stop lightdm

5 第一次安装cuda

 Sh cuda7.0.0_28.run

6 重启系统

7 重复4,5再装cuda

8 开启X界面

Sudo systemctl start lightdm

9 基本的依赖库

安装一些必要的库文件,譬如:OpenGL (e.g., Mesa), GLU, GLUT, and X11 (including Xi, Xmu, and GLX).

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

10.环境设置

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

$ export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH

PS:如果出现安装失败,重启系统,重新安装一遍基本都可以解决,实在不行就卸载原来的驱动再安装一遍。

a. 卸载现有驱动

$ sudo nvidia-installer --uninstall

b. 重装CUDA Toolkit

$ sudo sh cuda_6_64.run

 

2.2 数学库

Openblas安装:

在 github上下载,并安装,如下:

$mkdir openblas
$cd openblas
然后下载git
$git clone https://github.com/xianyi/OpenBLAS.git
$cd OpenBLAS
然后编译
$make
这个编译是很帅的,是多线程编译。编译好之后安装之
  $sudo make install

装的位置是:

/opt/OpenBLAS

将这个位置和标准位置联系在一起使用下面的动作:

 

注意各人可能有各自不同的提示。接着根据这个来设定系统。
   $sudo update-alternatives --install \
   /usr/lib/libblas.so \
   libblas.so /lib/libopenblas.so 37
   $sudo update-alternatives --install \
   /usr/lib/libblas.so.3gf \
   libblas.so.3gf /lib/libopenblas.so.0 37
   然后依次打开设定,就可以看到刚才按装的两个包了。
   $sudo update-alternatives --config libblas.so
   $sudo update-alternatives --config libblas.so.3gf
   这里解释一下update-alternatives --install的用法。后面跟四个参数:
   --install <link> <name> <path> <priority>
   link是包的快捷方式,系统提供给其他程序去索用,像是地图上邮局的地址,固定不变——至于邮局里哪个邮递员在上班,寄信的人没有必要知道。
   name是包的名称。path是我们要安装的包的地址,这个根据make install显示出来的结果设定。priority是在自动模式里调用这个包的优先级。如果想要删除,可以使用命令
   $ sudo update-alternatives --remove libblas.so \
   /lib/libopenblas.so
   $ sudo update-alternatives --remove libblas.so.3gf \
   /lib/libopenblas.so.0

 

参考文献:

http://blog.sina.com.cn/s/blog_6d09848701018smp.html

 

1 libatlas-dev:可以通过sudo apt-get install libatlas-dev完成。

 

 

2.3 Opencv

 

1. 下载并编译OpenCV(官网原版OpenCVhttp://opencv.org/), 或者使用本站提供的修改版的安装包 Install-OpenCV-master (下面的安装方式使用该包完成,安装包修改了dependencies.sh文件并增加了OpenCV 3.0.0的安装文件,同时保留了原来的2.3x2.4x版)

2. 切换到文件保存的文件夹,然后安装依赖项:

$ sudo sh Ubuntu/dependencies.sh

3. 切换目录Ubuntu\3.0\安装OpenCV 3.0.0rc1

$ sudo sh opencv3_0_0-rc1.sh

2.4 Glog安装

1. Google Logging Libraryglog),下载地址:https://code.google.com/p/google-glog/,然后解压安装:

$ tar zxvf glog-0.3.3.tar.gz

$ ./configure

$ make

$ sudo make install

如果没有权限就chmod a+x glog-0.3.3 -R , 或者索性 chmod 777 glog-0.3.3 -R , 装完之后,这个文件夹就可以kill了。

2.5 其他包安装

$ sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libboost-all-dev libhdf5-serial-dev

$ sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev protobuf-compiler

 如果安装过程中出现错误,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

 

2.6 安装cuDNN

该改版本caffe-master默认支持cudnn-6.5-linux-x64-v2,使用cudnn-6.5-linux-R1会报错,安装前请去先官网下载最新的cuDNN

$ sudo cp cudnn.h /usr/local/include

$ sudo cp libcudnn.so /usr/local/lib

$ sudo cp libcudnn.so.6.5 /usr/local/lib

$ sudo cp libcudnn.so.6.5.48 /usr/local/lib

b. 链接cuDNN的库文件

$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5.48 /usr/local/lib/libcudnn.so.6.5

$ sudo ln -sf /usr/local/lib/libcudnn.so.6.5 /usr/local/lib/libcudnn.so

$ sudo ldconfig -v 

 

2.7 Boost安装

在其他安装中已有。

2.Caffe库安装

下载caffe库,解压

$ cp Makefile.config.example Makefile.config

 2配置Makefile.config文件(仅列出修改部分)

a. 启用CUDNN,去掉"#"(目前caffe-master仍然只支持R1版本)

USE_CUDNN := 1

b. 启用GPU,添加注释"#"

# CPU_ONLY := 1

c. 配置一些引用文件(增加部分主要是解决新版本下,HDF5的路径问题)

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/x86_64-linux-gnu/hdf5/serial/include

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial

这里根据需要再加入其他库。

d. 启用Intel Parallel Studio XE 2015 Professional Edition for C++ Linux

BLAS := mkl

e. 配置路径,实现caffe对Python和Matlab接口的支持

PYTHON_LIB := /usr/local/lib

MATLAB_DIR := /usr/local/MATLAB/R2014a

F. 对openblas的支持

INCLUDE_DIRS +=/opt/OpenBLAS/include

3. 配置Makefile文件(实现对OpenCV 3.x的支持)

查找“Derive include and lib directories”一节,修改“LIBRARIES +=”的最后一行,增加opencv_imgcodecs

opencv_core opencv_highgui opencv_imgproc opencv_imgcodecs

4. 编译caffe-master!!!"-j8"是使用CPU的多核进行编译,可以极大地加速编译的速度,建议使用。

$ make all -j8

$ make test -j8

$ make runtest -j8

 

5.测试

 使用MNIST数据集进行测试

Caffe默认情况会安装在$CAFFE_ROOT,就是解压到那个目录,例如:$ home/vis/caffe-master,所以下面的工作,默认已经切换到了该工作目录。具体设置请参考官网:http://caffe.berkeleyvision.org/gathered/examples /mnist.html

1. 数据预处理

$ sh data/mnist/get_mnist.sh

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

$ sh examples/mnist/create_mnist.sh

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

3. 训练mnist

$ sh examples/mnist/train_lenet.sh

 

 

6. caffe 训练测试自己的数据集

下面准备数据集和训练的过程参照imagenet的过程:可参考  http://drubiano.github.io/2014/06/18/caffe-custom-data.html

1. 将数据集分为trainvalidate, 分别写到train.txtval.txt中。 格式每一行文件名+ 空格 + label label 是从0开始, 并连续)

00001.jpg 0

00002.jpg 1

00004.jpg 1

00003.jpg 2

2. 将准备好的两个txt, 放到caffe_root/data/myfile/    (caffe_rootcaffe的根目录, myfile自己命名)。

3. 进入caffe_root/examples/imagenet/ 目录中, 修改create_imagenet.sh

DATA=data/myfile

TRAIN_DATA_ROOT=/img_full_dir1 (img_full_dir1 存放训练图片的目录)

VAL_DATA_ROOT=/img_full_dir2 (img_full_dir2 存放测试图片的目录)

caffe_root 下执行 ./examples/imagenet/create_imagenet.sh , 可以在examples/imagenet 目录下找到, ilsvrc12_train_lmdb  ilsvrc12_val_lmdb两个目录

4.  caffe_root 下执行 ./examples/imagenet/make_imagenet_mean.sh , 结果保存在data/ilsvrc12/imagenet_mean.binaryproto

5.  修改models/bvlc_reference_caffenet 下的solver.prototxt train_val.prototxt, 如果不修改网络的结构, 只需修改图片的大小crop_size <imagewidth

6. caffe_root 下执行 ./examples/imagenet/train_caffenet.sh, 进行训练,训练好的模型放在models/bvlc_reference_caffenet

Reference:http://blog.csdn.net/sllin2012/article/details/46438663

 

 

注:

1.添加可执行文件路径方法:

export 命令

如:

export  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/local/cuda-7.0/bin"

即将/usr/local/cuda-7.0/bin添加到路径中.

 

2.加载库(.so文件)方法

  方法1:  

1)在 /etc/ld.so.conf.d 下新建一个XXX.conf文件;

2)将搜索路径一行一个加入该文件即可;

3)完成lib文件的链接操作;

如:

1新建文件openblas.conf 

sudo gedit /etc/ld.so.conf.d/openblas.conf 

2)在文件中加入库路径:

/home/openblas/OpenBLAS   

3) 完成lib文件的链接操作,执行:

sudo ldconfig -v 

附件A

= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值