写在前面:在跑自己的数据集前非常有必要 先是用VOC数据集跑一遍,以证环境以及其他方面没有问题,这样训练自己的数据集时,可以只从这方面找问题。

参考了这位博主:链接

  • 将voc_dataset.py和vis_tool.py里面的VOC_BBOX_LABEL_NAMES类别替换成自己标签中类别名称,必须和xml文件里面的标签名字一致,否则会直接跳过这个样本。
  • 修改config.py中的config.py中的voc_data_dir路径,改成自己的路径。
  • 修改faster_rcnn_vgg16.py 中的n_fg_class参数值,来调整最后一层,改成自己标签的数量。
  • 修改trainer.py中self.roi_cm = ConfusionMeter(21) 将21改成自己标签中类别名+1。

然后我就报错了:ValueError: need at least one array to stack
具体信息:

File "\simple-faster-rcnn-pytorch-master\data\dataset.py", line 107, in getitem
ori_img, bbox, label, difficult = self.db.get_example(idx)
File "\simple-faster-rcnn-pytorch-master\data\voc_dataset.py", line 131, in get_example
bbox = np.stack(bbox).astype(np.float32)
File "<array_function internals>", line 6, in stack
File "\simple-faster-rcnn-pytorch-master\venv\lib\site-packages\numpy\core\shape_base.py", line 423, in stack
raise ValueError('need at least one array to stack')
ValueError: need at least one array to stack

先说解决办法:

排查标签中的空标签,如果遇到空标签的话就会报错。

可以在这个地方输出一下,idx号,最后卡在bug那里的就是有问题的。
但是需要注意的是!idx是一个匹配
我的输出是11,所以他出现问题的地方可能是11,111,211,311
再去 get_example里面打印输出日志,就可以定位到具体哪张图片了。

Simple Faster Rcnn 采坑实录(训练自己的数据集)相关推荐

  1. 使用Faster R-CNN(linux-pytorch)训练自己的数据集过程记录

    目录 准备工作 源码下载 配置环境 制作VOC数据集 data目录结构 训练 编译CUDA依赖环境 预训练模型 修改pascal_voc.py文件 进行训练 遇到的问题 主要参考文章 准备工作 源码下 ...

  2. 目标检测simple Faster R-CNN训练自己的数据集

    一.复现 刚开始接触目标检测,自己动手复现的第一个开源项目是github上chenyuntc的simple faster rcnn.历经千辛万苦最后貌似因为服务器显卡内存不够,在训练时一直出现一个错误 ...

  3. Flutter采坑实录

    Flutter采坑实录 搭建环境踩了不少坑,这里开始记录下: 因为科学上网,正常的依赖下载不下来,这里记录下遇到的问题,大家直接全文搜索你的关键词,如果有,直接去文章末尾参考我修改的地方修改吧. 看不 ...

  4. faster rcnn学习之rpn训练全过程

    上篇我们讲解了rpn与fast rcnn的数据准备阶段,接下来我们讲解rpn的整个训练过程.最后 讲解rpn训练完毕后rpn的生成. 我们顺着stage1_rpn_train.pt的内容讲解. nam ...

  5. (原创)修改BIOS让华硕Z87-A老主板支持NVMe硬盘启动(采坑实录)

    当年经典的华硕Z87-A主板至今仍然老当益壮,美中不足就是不支持NVMe SSD作为启动盘.由于工作生活繁忙,2年多来陆陆续续查了好多资料,再加上有CH341A编程器加持,自认已经准备得够充分.最近乘 ...

  6. Faster RCNN中的交替训练

    1.stage1_rpn_train.pt 单独训练RPN 网络,训练的模型用ImageNet的模型来初始化,采用end to end的方式来调整参数. (backbone+rpn+fast rcnn ...

  7. (原创)华硕Z87-A老主板修改BIOS支持NVMe启动后的常见问题及解决办法(采坑实录)

    关于华硕Z87-A如何修 关于华硕Z87-A如何修改BIOS支持NVMe硬盘启动的操作方法,可以看我写的<(原创)修改BIOS让华硕Z87-A老主板支持NVMe硬盘启动>一文,截止2021 ...

  8. AST逆向实战|5s盾混淆代码还原思路及采坑实录

    免责声明:本文仅作为学习参考之用,请勿用于非法用途,否则后果自负. 本文仅提供还原思路和方法,不提供源代码,请不要找我索取,谢谢. 本文不保证看了就能还原,有些简单的坑需要自己去踩,插件也需要自己去写 ...

  9. faster rcnn接口_源码解析faster rcnn (mask rcnn)全过程

    1. 总领过程--官方faster cnnn 调用过程 import torchvision, torch # 导入官方faster rcnn 模型 model = torchvision.model ...

  10. 经验 | 详解 Faster R-CNN目标检测的实现过程

    计算机视觉联盟  报道 转载于 :机器之心 Faster R-CNN 实现代码:https://github.com/tryolabs/luminoth/tree/master/luminoth/mo ...

最新文章

  1. php自定义函数出现乱码,php的imagettftext 函数出现乱码的解决方法
  2. ConstraintLayout 全解析
  3. 算法练习----java字符全排列
  4. Java基础day12
  5. scrapy在命令行指定要采集的url
  6. 反思快速在新项目中找字段的方法
  7. Effective Java之慎用可变参数(四十二)
  8. windows7 64位下安装tensorflow终极解决方案
  9. linux之nm命令
  10. 信元模式mpls 避免环路_【基础】交换机堆叠模式
  11. SEO之Google--PageRank优化剖析(一)
  12. 基于JAVA+SpringMVC+Mybatis+MYSQL的教学管理平台
  13. Springboot 跨域配置
  14. 手机号归属地区编码_Excel隐藏手机号中间4位的6种方法,你见过几种?
  15. 记录一次VM14虚拟机出问题 Oh no,something has gone wrong!
  16. 达梦数据库SQL语句执行
  17. 【关于微信授权和微信授权限制解决方案】
  18. 老徐自述:《软件自动化测试实战解析_基于Python3编程语言》
  19. Codeforces Round #460 (Div. 2) C Seat Arrangements
  20. A1012 The Best Rank

热门文章

  1. SWMM[Storm Water Management Model]模型代码编译调试环境设置
  2. 《等级保护二级基本要求》
  3. Java Excel转图片
  4. CAD制图教程之CAD中怎么画剪刀楼梯?
  5. 欢迎大家访问吐槽人网 http://www.tucaoman.com/
  6. 毛星云opencv7.1.3之sobel算子--失败算法
  7. 汇编语言:将ASCⅡ码表示的十进制数转换为二进制数/十六进制数
  8. Linux基础知识点总结
  9. 带你啃透深度学习必学“圣经”花书!(附带论文代码精读讲解)
  10. mac的word中添加带圆圈的数字