win10+python3.6运行tensoflow版本的faster-RCNN
目前大多数在线版本均基于PyTorch 1.x框架(尤其是1.x及以下)构建,并非支持PyTorch 1.x及以上版本(如1.x及更高)。本文旨在探索如何在PyTorch 1.x框架下运行FastRCNN模型,在后续内容中也会提供针对PyTorch 1.x框架的相关资源链接
Python3.5版本链接 https://github.com/dBeker/Faster-RCNN-TensorFlow-Python3.5
关于环境配置
首先需要安装TensorFlow的GPU版本。具体的安装步骤在网络上有很多资源可供参考。其中我从知乎上发现了一个非常有用的链接https://zhuanlan.zhihu.com/p/51224259。这种方法相较于其他方法更为简便,请查阅上述链接获取详细信息。
随后就是安装一系列必要的库包:例如Cython、easydict以及Python OpenCV等工具包,并非单指上述列举的几种
正文
从GitHub上获取了安装了Python 3.5版本的Faster RCNN模型,在不进行任何修改的情况下,请先执行一遍demo.py。常见的第一个错误如图所示。

根本原因是我们缺失了 lib.utils.cython_bbox文件。由于在Python 3.5版本中lib.utils.cython_bbox属于该版本。因此我们需要生成一个适用于Python 3.6版本的cython_bbox文件。具体如下
建议对Faster RCNN项目中位于Faster-RCNN-TensorFlow-Python3.5-master/data/coco/PythonAPI下的setup.py文件进行轻微改动以获取最佳性能表现。

我们添加红色箭头一下的代码
Extension(
'lib.utils.cython_bbox',
sources=['../../../lib/utils/bbox.c', '../../../lib/utils/bbox.pyx'],
include_dirs = [np.get_include(), '/lib/utils'],
extra_compile_args=[],
)
小心前面的逗号
在此处我们还需要的就是必须确保已经成功安装了pycocotools这个包;否则将会导致上述错误的发生。

关于这方面的情况,请查阅相关资料。具体来说,在安装此功能之前通常会也需要安装Visual Studio以及Git(即GitHub)。这一操作相对简单,在网上能找到很多教程。
然后就是重新编译setup.py。大家都是通过cmd进行编译具体如图


编译完成后生成的文件位于你运行的环境中(例如图中的site-packages\lib\utils),将该文件移动至fasterRCNN项目lib\utils目录所在的位置。
如图

这个我的百度云连接地址是一个获取数据集和VGG模型的连接地址。链接地址为:https://pan.baidu.com/s/1SWV3BiNFljK6pICFsQ_o_A 提取码为6tkq 您可以使用此链接进行下载。
这个是官网地址:
来自 robots.ox.ac.uk/pascal/VOC/voc2014/...
请将以上三个压缩包解压至同一文件夹内。接着,请同时选择这三个压缩包并进行右键操作,在弹出的菜单中选择"解压到"选项。系统会自动生成一个VOCdekit目录。最后,请将该文件夹命名为VOCdevkit2007,并将其复制并粘贴至Faster-RCNN项目中的data目录中。
VGG网络的预训练权重获取链接为:http://download.tensorflow.org/models
提醒,在下载完成后生成的VGG16模型名称为vgg_16.ckpt, 我们建议将其命名为vgg16.ckpt;否则会导致后续运行出现问题;为了避免后续出现错误,在此我已经进行了相应修改

为了节省时间,在测试之前,请您确认以下设置:在config.py文件中,请将数值从4,576调整为96,并等待您所需的数量。

完成训练后,则是进行模型测试的阶段。此时应当执行相应的测试流程,在代码第108行处,默认设置为res101这一参数值,在代码第108行处,默认设置为res101这一参数值,在代码第

如果改完上面直接运行demo.py还可能出现下面的问题,
操作系统的错误提示表明,在指定目录下的模型文件未找到位置
为了解决这一问题需要分两个步骤完成。第一步需要对训练权重的存储路径进行调整。接着,在生成目录时,请根据错误提示的位置自动配置文件名称。创建一个名为output的目录结构,并在其中按指示新建相应的子目录和文件以完成任务过程如上图所示。

下一步涉及的是一个需要进行7万次迭代的问题。由于预设的最大迭代次数为4千次,在未做任何修改的情况下,默认保存的是第4千次迭代对应的模型。具体来说,请修改demo.py文件中第39行对应的位置。需要注意的是,在你之前训练过的模型中如果已经包含了7万次的数据,则这一步操作可能没有必要。
然后就开始运行demo.py文件了
最后成功就是这样的结果:

关于计算map 在下一篇博客中
