1、环境配置
官方给出的Faster R-CNN的代码是caffe框架下的,我对caffe不是很了解,一直用的是tensorflow环境,所以去网上找了一下用tensorflow实现的Faster R-CNN。找到了一篇博客https://www.cnblogs.com/toone/p/8433581.html,作者使用的是一个github上Xinlei Chen的tensorflow版本的faster rcnn代码。这里贴出github链接https://github.com/endernewton/tf-faster-rcnn
首先,按照博客里面作者的步骤,一步步实现,但是我是在自己的台式机上跑的,没有GPU,因此需要做一些修改。下面走一遍整个流程,记录下踩过的坑
1.本机环境(安装的一切环境均在本机的tf虚拟环境下安装)
ubuntu16.04
无GPU
tensorflow版本是1.7.0
python版本2.7.13 (anaconda安装,虽然系统自带python,但是使用anaconda安装可以一次性将大部分机器学习中用到的包装好,所以建议使用anaconda安装)
cython版本0.25.2
opencv-python(该博客使用的是这个,但是我装的是opencv-contrib-python3.4.1.15,也没问题,看网上说,带contrib的会有很多好处,我对这个了解不多,所以先装再看)
easydict版本1.7(博客作者用的1.6,感觉有装就可以,版本关系不大)
2.下载github项目代码和数据
git clone https://github.com/endernewton/tf-faster-rcnn.git
我是直接在home目录下建了一个我自己的文件夹fast,然后在这个文件夹上右击,在此处打开终端,输入上面的命令就可以将整个项目代码下载到fast文件夹下。
目录介绍
data-----------------这里是用来存放你的数据图片的
experiments------这个文件夹决定了你要采用什么样的方式去训练你的数据,大家都知道,faster-rcnn提供了两种训练方式:
1.交替训练(alt_opt)
2.近似联合训练(end-to-end)
这里我们就使用的是第二种,因为它速度更快,同时也能保证准确率,但是两者修改代码是不一样的。
lib--------------------存放python的接口文件,如需要数据读入等。
tools-----------------存放的是训练、测试等python文件,这里是我们的重点。
output是用来存放自己训练好的模型的,所以在未训练前,里面是空的。我建议大家要仔细阅读README.md文件,可以很好的帮助我们运行程序。
3.修改配置(因为使用的是cpu,有蛮多地方要修改的)
1)在lib文件夹下有个setup.py文件,里面可以设置CPU和GPU的参数。如图所示
首先按照github里面的readme,只要将USE_GPU_NMS 由原来的True改为False就可以。
2)修改lib/model/nms_wrapper.py
按照图中箭头所指示的地方,将代码注释,作用就是为了直接禁用掉GPU模式
3)lib/setup.py