记pytorch版faster rcnn配置运行中的一些坑

记pytorch版faster rcnn配置运行中的一些坑

1. 分支爬取错误

git clone -b pytorch-1.0 https://github.com/jwyang/faster-rcnn.pytorch.git

不同分支的项目需求配置不一样,比如主分支是支持pytorch-0.4.0,上述克隆的分支是支持pytorch-1.0的

2.ImportError: cannot import name '_mask'

训练时遇到无法导入_mask的问题

https://github.com/jwyang/faster-rcnn.pytorch/issues/410
https://github.com/cocodataset/cocoapi/issues/59#issuecomment-469859646

原因应该是项目中/lib/pycocotools里的文件过于老旧,将https://github.com/cocodataset/cocoapi/tree/master/PythonAPI/pycocotools中的文件复制到/lib/pycocotools文件中,然后进入lib目录下,执行下列代码

python setup.py build develop

3.训练过程发生assert(boxes[:,2]>=boxes[:,0]).all()

这个问题是由于标注框中含有0导致的,网上有很多的解决办法,比如https://blog.csdn.net/xzzppp/article/details/52036794,但是个人觉得这样其实改变了代码原本用意,所以没有采用。我所采用的解决方法其实很简单,就是在自己制作数据集,写XML文件的时候,遇到边框为0的时候+1,也就是起始从1开始,而不是从0开始。

4.修改检测类别

修改/lib/datasets/pascal_voc.py文件

将上述代码修改成你需要的检测的类别。

例:

self._classes = ('__background__',  # always index 0
                 'apple', 'banana)

5.清空缓存

当重新训练的时候,往往会遇到图片读取错误的问题,这个便是因为缓存没有清空。原因是当训练数据集的时候,会读取data/cache目录下的.pkl缓存文件,所以每次重新训练的时候,一定要记得删除data/cache文件夹下的缓存文件。

6.运行demo.py文件模型数量过多

修改demo.py文件

对应4,修改成对应检测类别

posted @ 2019-05-12 14:18  WhiteBlackCat  阅读(4519)  评论(4编辑  收藏