tf-faster rcnn 配置 及自己数据

下面主要针对 https://github.com/endernewton/tf-faster-rcnn工程,作者写的很好,但是对于我这种常识比较少的小白还是会遇到很多问题,所有都是从网上一点点找到的,整理在下面,希望可以减少大家的配置时间。

因为我是在windows10 subsystem ubuntu下跑的,所以没能用上GPU。下面我先按照我的配置说一遍,后面遇到什么问题再补充。

一、tf-faster rcnn 配置

1、下载代码: git clone https://github.com/endernewton/tf-faster-rcnn.git

2、由于运行在cpu上,所以要进行一些配置

a. 修改lib/setup.py文件,用‘return None’代替 ‘raise EnvironmentError’;注释掉Extension(‘nms.gpu_nms’…)整段代码。

b.修改lib/model/nms_wrapper.py文件,注释掉‘import gpu_nms’并且设置 ‘force_cpu = True’

3、build Cython modules

   进入lib文件夹,执行 makeclean  make 命令

4、下载VOC数据 https://github.com/rbgirshick/py-faster-rcnn#beyond-the-demo-installation-for-training-and-testing-models

5、下载与训练模型./data/scripts/fetch_faster_rcnn_models.sh

不知道是不是我网络的问题,我下载不下来,所以我通过文档中的链接下载的

https://drive.google.com/drive/folders/0B1_fAEgxdnvJSmF3YUlZcHFqWTQ

解压之后放在下图的位置,并且验证4个文件全不全

为什么是4个文件呢? 我在网上查到说是tensorflow的模型就产生4个文件,然后模型的名字是xxxx.ckpt。开始我遇到一个错误,我没有把这个文件放在这个目录下,提示我是缺少ckpt.meta文件,我只把xxxxx.ckpt.meta拷贝过来了,结果就报没有ckpt文件,我怎么找都找不到,结果知道tensorflow模型是4个文件之后才改正这个错误。

6、运行程序的demo ./tools/demo.py

7Train and test VOC

   下载预训练模型已经train

mkdir -p data/imagenet_weights
cd data/imagenet_weights
wget -v http://download.tensorflow.org/models/resnet_v1_101_2016_08_28.tar.gz
tar -xzvf resnet_v1_101_2016_08_28.tar.gz
mv resnet_v1_101.ckpt res101.ckpt
cd ../..
./experiments/scripts/train_faster_rcnn.sh 0 pascal_voc res10

这个地方可能遇到一个错误,提示找不到test.txt文件,我的解决方法就是创建一个test.txt文件,然后copy一些train.txt的数据到test.txt下面。

二、训练自己的数据 (我的是人脸检测数据,相当于就是face和背景的分类)

1、制作VOC数据集

https://www.cnblogs.com/qw12/p/6185126.html

我是根据这个代码改的,由于我有标注好的数据,只是格式不同,我只用到了后面两段代码。

2、修改代码 (http://blog.csdn.net/flashTianjiao/article/details/78032351?locationNum=4&fps=1#reply)

 a.修改 lib/datasets/pascal_voc.py  

self._classes = ('__background__'# always index 0

                     'face')

b.修改tools/demo.py.这里的数字是类别+1

net.create_architecture("TEST",2,

                          tag='default',anchor_scales=[8, 16, 32])

3、可以训练了

./experiments/scripts/train_faster_rcnn.sh0 pascal_voc res101

下面这些包需要安装,也可以到出现错误的时候提示哪个装哪个.

pip install cython,pip installopencv-python, pip installeasydict, pip install matplotlib, sudo apt-get installpython-tk, sudo pip install Pillow, sudo pip install scipy, pip install pyyaml


三、一些其他问题

1、'max_overlaps' issue on custom dataset!

删除 data/cache 文件即可。 Rm -rf data/cache

2、跑自己的数据的时候,遇到assert(boxes[:,2]>=boxes[:,0]).all()

http://blog.csdn.net/XZZPPP/article/details/52036794

我通过第一种方法就解决了。

3、KeyError:“chair” 这大概是你的数据类别没有chair,而Annotations中的xml中的name有chair这一类。


这还是在配置完之后马上写的,已经有很多都不记得啦!脑子越来越不好使!

 


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