caffe 安装以及复现 FaceBoxes

一、下载源码并编译

首先在终端输入

git clone https://github.com/zeusees/FaceBoxes.git

得到源码。

然后配置Makefile.config文件。

主要看你的电脑是否使用GPU,我是使用CPU,只在一些地方做了更改。

最重要的几个地方是:

因为这里没有配置GPU,所以去掉CPU_ONLY := 1前面的注释,同时去掉那些cudnn,cuda的选项(如果使用GPU,则自己google把~)

 

由于Ubuntu16.04文件结构的变化,#Whatever else you find you need goes here.处要改成下面这样:

# Whatever else you find you need goes here.

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
  • python接口 的配置

设置python的接口(2.7),如果为3.5需要改一下路径。

WITH_PYTHON_LAYER := 1

重新打开Makefile.config目录,又查找了一下numpy的安装目录,发现对应不上,需要重新设置,需要把原本如下的内容:

# NOTE: this is required only if you will compile the python interface.

# We need to be able to find Python.h and numpy/arrayobject.h.

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

更改为:

# NOTE: this is required only if you will compile the python interface.

# We need to be able to find Python.h and numpy/arrayobject.h.

PYTHON_INCLUDE := /usr/include/python2.7 \

/usr/lib/python2.7/dist-packages/numpy/core/include

在这些地方注意查看文件都是否存在,一般设置是这样的,但还是要看自己的电脑怎么样。 

在改完了上面的config文件之后就可以进行编译了,在你的FaceBoxes目录下输入以下命令:

mkdir build
cd build
cmake ..
make all -j4
make test -j4
make runtest -j4

 这里的4指的是你的电脑的核数,如果顺利的话,应该都没有报错。

紧接着进行python接口的配置:

先切换到caffe下的pyhon文件夹下

for req in $(cat requirements.txt); do pip install $req; done

设置环境变量

A.把环境变量路径放到 ~/.bashrc文件中(注意是你的caffe的python,具体路径需要自己看)

sudo echo export PYTHONPATH="~/FaceBoxes/python" >> ~/.bashrc 

B.使环境变量生效

source ~/.bashrc

编译pycaffe

make pycaffe

进入python环境,输入:(这里使用的是python2)

import caffe

如果没有报错,证明安装成功。 

二、准备数据集

1.将图片转为VOC格式

这次训练使用的是widerface的数据集,可以在官网下:http://mmlab.ie.cuhk.edu.hk/projects/WIDERFace/index.html

注意要下载四个压缩包,然后切换到:

cd /home/chan/FaceBoxes/examples/faceboxes/tool

在与py文件的同一个目录创建一个wider_face的文件夹,把解压后的图片放在里面 

caffe 安装以及复现 FaceBoxes_第1张图片

运行wider_face_2_voc.py将图片生成voc格式。生成三个文件:

caffe 安装以及复现 FaceBoxes_第2张图片

一般来说,没有那么顺利,原因在于你的python可能少了一些库的导入,这个时候,你可能就要看一下源py文件,看你少了那些包,然后google一下安装上去就行了。

2.把VOC转为IMDB格式

在CAFFE /数据目录下创建faces_database文件夹,拷贝wider_face文件夹(前面生成的VOC格式数据),布局如图:caffe 安装以及复现 FaceBoxes_第3张图片caffe 安装以及复现 FaceBoxes_第4张图片

是里面的FACE和faces_database,其他的不用管

然后运行以下的命令:

cd FaceBoxes
\# Create the trainval.txt, test.txt, and test_name_size.txt in data/FACE/                
./data/FACE/create_list.sh                                                                
\# You can modify the parameters in create_data.sh if needed.                             
\# It will create lmdb files for trainval and test with encoded original image:           
\#   data/faces_database/FACE/lmdb/FACE_trainval_lmdb                                     
\#   data/faces_database/FACE/lmdb/FACE_test_lmdb                                         
\# and make soft links at examples/FACE/                                                  
./data/FACE/create_data.sh  

注意:你需要修改路径: 

list.sh文件

caffe 安装以及复现 FaceBoxes_第5张图片

 data.sh文件

 caffe 安装以及复现 FaceBoxes_第6张图片

如果能够顺利完成的话,会生成以下文件:

 caffe 安装以及复现 FaceBoxes_第7张图片

 caffe 安装以及复现 FaceBoxes_第8张图片

 

 到此,数据准备就OK了。(如果顺利的话,但可能没那么简单~)

注意,如果在运行list.sh的时候没有生成test_name_size.txt,并且有警告,尝试一下,删除test.txt以及trainval.txt文件,然后用

bash create_list.sh
bash create_data.sh

(笔者在这里卡了很久。。。)

三、训练

我的数据是在cpu上转换的,就是上面的那些步骤,然后在tx2上跑(因为tx2没内存了。。。),建议是在gpu上跑,因为cpu太慢了,然后这部分主要是配置train_proto.txt以及test_proto.txt和solver文件,主要是更改路径,根据你的电脑上的文件来改。首先切换到examples

cd FaceBoxes/examples/faceboxes

然后配置里面的三个文件,可以使用gedit打开,然后ctrl+f,搜索lqy就可以知道改哪里了。

最后在你的FaceBoxes目录下输入命令:

./build/tools/caffe train --solver examples/faceboxes/solver.prototxt

就可以开始训练啦。

这里如果训练过程中,出现了killed的话,应该是你的GPU内存不足,这个时候,你应该区修改你的train_proto.txt里面的batch_size,把它变小就行。 

 

 

 

 

 

你可能感兴趣的:(深度学习)