Ubunt16.04安装caffe;并配置py-faster-rcnn

如有需要,可前往查看
5. ubuntu16.04安装cuda8.0和cudnn6.0
6. ubuntu16.04安装opencv3.2

1、Ubunt16.04安装caffe

在安装之前,我的电脑上已有配置:ubuntu16.04,cuda8.0,cudnn6.0

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev


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

sudo cp Makefile.config.example Makefile.config
打开并修改配置文件(##!!!!修改即去掉前面的注释#):
sudo gedit Makefile.config #打开Makefile.config文件
根据个人情况修改文件:
a.若使用cudnn,则修改: 
USE_CUDNN := 1
b.若使用的opencv版本是3的,则修改: 
USE_OPENCV := 0
OPENCV_VERSION := 3
c.若要使用python来编写layer,则修改: 
WITH_PYTHON_LAYER := 1
d.将# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib 
修改为: 
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 /usr/lib/x86_64-linux-gnu/hdf5/serial       
这是因为ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
e. sudo gedit makefile,做如下修改:
将:NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
f. sudo gedit /usr/local/cuda/include/host_config.h
将#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!
改为
//#error-- unsupported GNU version! gcc versions later than 4.9 are not supported!


make all -j8  # 这步会出现一些警告computer_20,sm_20...,忽视就行
make runtest -j8
make pycaffe -j8
到此caffe配置完毕!

MNIST数据集测试
配置caffe完成后,我们可以利用MNIST数据集对caffe进行测试,过程如下: 
1.将终端定位到Caffe根目录
cd ~/caffe 
2.下载MNIST数据库并解压缩
./data/mnist/get_mnist.sh 
3.将其转换成Lmdb数据库格式
./examples/mnist/create_mnist.sh
4.训练网络
./examples/mnist/train_lenet.sh

测试mnist时得到的图像结果:
测试mnist时的图像结果

2、配置py-faster-rcnn

其实过程和上面是一样的,因为在py-faster-rcnn中包括了一个caffe-faster-rcnn,实现的是caffe的功能,要跑py-faster-rcnn不需要先安装caffe。

既然在上面我已经安装了caffe,就把caffa拷贝到py-faster-rcnn下面的caffe-faster-rcnn中,直接替换掉caffe-faster-rcnn,再在新的caffe文件夹(现在的文件名成了caffe-faster-rcnn)运行::
sudo make pycaffe -j8

对于没有安装caffe的你们,就对下载的py-faster-rcnn中的caffe-faster-rcnn做和上面caffe相同的操作。


看了别的博客后,发现直接复制caffe到caffe-faster-rcnn的做法是错误的。因为这里面有一些专门为f-rcnn写的层,具体区别可以在caffe.proto中查看,如增加了ROIPoolingParameter、SmoothL1LossParameter等参数。
所以:正确的做法应该是:

# 先安装相关依赖项
cd py-faster-rcnn/caffe-faster-rcnn/python
for req in $(cat requirements.txt);
do pip install $req; 
done

1) cd py-faster-rcnn/lib&&make

2) 修改有关cudnn文件(因为py-faster-rcnn里的cudnn的版本过旧):

将:
/py-faster-rcnn/caffe-fast-rcnn/include/caffe/util/
/py-faster-rcnn/caffe-fast-rcnn/include/caffe/layers/
/py-faster-rcnn/caffe-fast-rcnn/src/caffe/layers/
/py-faster-rcnn/caffe-fast-rcnn/src/caffe/util/
中所有有关cudnn的文件替换成我们刚编译的新caffe里相对应的文件。

3)将新编译的caffe里的MakefileMakefile.config文件复制到/py-faster-rcnn/caffe-fast-rcnn/目录下。

4)修改文件:
py-faster-rcnn/caffe-fast-rcnn/src/caffe/test/test_smooth_L1_loss_layer.cpp
删除或者注释第十一行:#include"caffe/vision_layers.hpp"

5)make-j8&&make test&&makeruntest
6)make  pycaffe

测试用例:

下载VGG16_faster_rcnn_final.caffemodel放到py-faster-rcnn/data/faster_rcnn_models文件夹下.
cd py-faster-rcnn/tools
python demo.py

看到下图即为成功:
ok

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值