Ubuntu14.04下Fast-RCNN配置VGG16.caffemodel

本文详细介绍了Fast R-CNN在Ubuntu14.04上的配置流程,包括下载并解压VOC2007数据集、设置符号链接、下载预训练模型等步骤,并提供了常见错误解决方案。
注:本博文转自 fast-rcnn配置运行VGG16.caffemodel和VGG_CNN_M_1024.v2.caffemodel(Ubuntu14.04)博主是个灰常乐于帮助的好银!再次感谢他。我在他的博文基础上,参考了 研究Fast rcnn代码  ,给略微加了一些注解,帮助理解这次配置操作的意思。

另附:Fast R-CNN的作者:Ross B Girshick
1.源代码及说明: https://github.com/rbgirshick/fast-rcnn
2.作者主页: http://www.cs.berkeley.edu/~rbg/

第一部分:下载数据test data and VOCdevkit(首先要下载训练集、验证集、测试集,例子是VOC2007。)

下载原网址:http://www.cs.berkeley.edu/~rbg/fast-rcnn-data(供选择)

或者终端输入:
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar


第二部分:解压生成文件夹 VOCdevkit
就在data目录下输入下列命令解压,解压文件会自动跑到devkit这个文件夹,其中VOC2007会自动包含trainvaltest这两个文件。即终端输入:
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar


第三部分:文件夹包含目录data下有文件夹命名为VOCdevkit,此文件夹中包含VOC2007VOCcode
$VOCdevkit/                          #development kit
$VOCdevkit/VOCcode/        #VOC utility code
$VOCdevkit/VOC2007         #image sets, annotations, etc.


第四部分:建立链接

创建对VOC2007数据集的symlink,也就是链接FRCN_ROOT和VOC2007的目录。这个方法非常好,因为别的工程里面也可能用到这个数据集,这样就不用多次拷贝了,节省了很多存储空间,windows下面就没有。终端输入:
cd $FRCN_ROOT/data其中$表示您fast-rcnn的目录位置
sudo ln -s VOCdevkit VOCdevkit2007


第五部分:下载预先用selective search计算好的objectproposal。
法1:下载地址原网址:http://www.cs.berkeley.edu/~rbg/fast-rcnn-data(选择selective search那个文件)
拷贝放在data目录下解压

法2:

   cd $FRCN_ROOT

   ./data/scripts/fetch_selective_search_data.sh

   会下载到$FRCN_ROOT/data下,解压后是一个名为selective_search_data的文件夹。


第六部分:下载预先训练好的ImageNet模型。  CaffeNet (model S), VGG_CNN_M_1024 (model M), and VGG16 (model L).
法1:下载地址原网址: http://www.cs.berkeley.edu/~rbg/fast-rcnn-data(选择imagenet_models)
拷贝放在 data目录下解压

法2:

   cd $FRCN_ROOT

   ./data/scripts/fetch_imagenet_models.sh

   下载到三个模型,分别是CaffeNet (model S), VGG_CNN_M_1024(model M), and VGG16 (modelL),会下载到$FRCN_ROOT/data下,解压后是一个名为imagenet_models的文件夹。


第七部分:训练测试如下:
1.训练Train a Fast R-CNN detector.
fast-rcnn目录下终端运行:
./tools/train_net.py --gpu 0 --solver models/VGG16/solver.prototxt --weights data/imagenet_models/VGG16.v2.caffemodel
(1)如果出现错误:
EnvironmentError: MATLAB command 'matlab' not found. Please add 'matlab' toyour PATH.
则增加(终端运行):

export PATH=$PATH:/usr/local/MATLAB/R2014a/bin(前提保证matlab装好,make matcaffe通过)

(2)如果出现错误:ImportError: No module named yaml

那就下载安装一个:

   sudo apt-get install python-yaml

(3)如果显示内存不够,可以用nvidia-smi随时查看内存使用情况。每10000次迭代会生成一个model,结果存放在output文件夹中。

训练VGG16网络,据作者说,即使把每个minibatch所用的图片由2改为1,也需要将近5G的GPU内存,3G以上内存的可以尝试一下,cudnn可能在一定程度上起到了优化作用。

2.训练:VGG_CNN_M_1024网络时,会提示说内存不够,就把$FRCN_ROOT/lib/fast_rcnn下的config.py中每个minibatch所用的图片由2改为1,如果还不行,说明GPU内存太小,只能换GPU了。

./tools/train_net.py --gpu 0 --solvermodels/VGG_CNN_M_1024/solver.prototxt --weightsdata/imagenet_models/VGG_CNN_M_1024.v2.caffemodel


测试Test a Fast R-CNN detector.

在自己的模型还没有训练好,或者训练得不够好的时候,可以试试作者提供的模型:

./tools/test_net.py --gpu 0(用0不能用1,如果用1会显示核心已转存,即是内存出错) --def models/VGG16/test.prototxt --net output/default/voc_2007_trainval/vgg16_fast_rcnn_iter_40000.caffemodel

在测试的时候一直如果报下面这样的错:


问题出在VOCinit上,我们现在是在测试,把



第一句注释掉,第二句取消注释即可。测试的结果在output文件夹中。



TIPS::如果用VGG_CNN_M_1024.v2.caffemodel这个模型,改一下中间的文件夹名称,即将VGG16改为VGG_CNN_M_1024.v2.caffemodel即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值