记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,修改成对应检测类别

记pytorch版faster rcnn配置运行中的一些坑的更多相关文章

  1. Tensorflow版Faster RCNN源码解析(TFFRCNN) (2)推断(测试)过程不使用RPN时代码运行流程

    本blog为github上CharlesShang/TFFRCNN版源码解析系列代码笔记第二篇   推断(测试)过程不使用RPN时代码运行流程 作者:Jiang Wu  原文见:https://hom ...

  2. python 版Faster Rcnn

    直接按照官网https://github.com/rbgirshick/py-faster-rcnn上的教程对faster Rcnn进行编译的时候,会发有一些层由于cudnn版本的更新,会报错如下: ...

  3. Tensorflow版Faster RCNN源码解析(TFFRCNN) (3)推断(测试)过程使用RPN时代码运行流程

    本blog为github上CharlesShang/TFFRCNN版源码解析系列代码笔记第三篇   推断(测试)过程不使用RPN时代码运行流程 作者:Jiang Wu  原文见:https://hom ...

  4. Tensorflow版Faster RCNN源码解析(TFFRCNN) (1) VGGnet_test.py

    本blog为github上CharlesShang/TFFRCNN版源码解析系列代码笔记第1篇   VGGnet_test.py ----作者:Jiang Wu(吴疆),未经允许,禁止转载--- -- ...

  5. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程2

    faster-rcnn分为matlab版本和python版本,首先记录弄python版本的环境搭建过程.matlab版本见另一篇:faster-rcnn(testing): ubuntu14.04+c ...

  6. faster rcnn相关内容

    转自: https://zhuanlan.zhihu.com/p/31426458 faster rcnn的基本结构 Faster RCNN其实可以分为4个主要内容: Conv layers.作为一种 ...

  7. faster rcnn 详解

    转自:https://zhuanlan.zhihu.com/p/31426458 经过R-CNN和Fast RCNN的积淀,Ross B. Girshick在2016年提出了新的Faster RCNN ...

  8. [转]CNN目标检测(一):Faster RCNN详解

    https://blog.csdn.net/a8039974/article/details/77592389 Faster RCNN github : https://github.com/rbgi ...

  9. Faster RCNN学习笔记

    感谢知乎大神的分享 https://zhuanlan.zhihu.com/p/31426458 Ross B. Girshick在2016年提出了新的Faster RCNN,在结构上,Faster R ...

随机推荐

  1. 集合框架(06)Arrays

    Arrays Arrays:用于操作数组的工具类,里面都是静态方法 ---数组变集合 1.asList:将数组变成List集合 把数组变成list集合的好处?可以使用集合的思想和方法来操作数组中的元素 ...

  2. C语言基础之变量、作用域

    1.变量的定义 变量类型 变量名; int score; 2.变量的赋值 score = 100; score = a; score = b = 100; 3.变量的输出 int a = 200; p ...

  3. 2.IsoDep类

    IsoDep 类概述: Provides access to ISO-DEP (ISO 14443-4) properties and I/O operations on a Tag. Acquire ...

  4. Spark-class启动脚本解读

    #!/usr/bin/env bash # # Licensed to the Apache Software Foundation (ASF) under one or more # contrib ...

  5. DevExpress.XtraTreeList

    1. DevExpress.XtraTreeList控件         将其简称为tree,tree其实就是一个树表控件,他像树一样包含具有父子关系的若干节点,同时每个节点又是一个带有多个字段的记录 ...

  6. jstl <fmt:formatDate>标签

    <fmt:formatDate>标记用于在各种不同的方式来格式化日期 属性: <fmt:formatDate>标签具有以下属性: 属性 描述 必需 默认值 value 要显示的 ...

  7. java源码阅读String

    1类签名与注释 public final class String implements java.io.Serializable, Comparable<String>, CharSeq ...

  8. 为什么实现Serializbale接口就能够进行序列化?

    从所周知,Serializbale接口是个空的接口,并没有定义任何方法.那么问题来了,为什么需要序列化的接口只要实现Serializbale接口就能够进行序列化? 这要从序列化过程的源码说起.举个例子 ...

  9. 使用RTTI为继承体系编写”==”运算符

    转载请注明出处:http://www.cnblogs.com/inevermore/p/4012079.html   RTTI,指的是运行时类型识别技术.   先看一个貌似无关的问题:   为继承体系 ...

  10. MySQL几个性能指标

    近期参加了一个DBA MySQL的分享,主要从MySQL的性能指标分析.同步及运维三个方面分享一些经验,其中,一些经验值还是值得记录下来的: 对于一个MySQL实例,CRUD上限经验值如下: Quer ...