Simple Faster Rcnn 采坑实录(训练自己的数据集)
写在前面:在跑自己的数据集前非常有必要 先是用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 采坑实录(训练自己的数据集)相关推荐
- 使用Faster R-CNN(linux-pytorch)训练自己的数据集过程记录
目录 准备工作 源码下载 配置环境 制作VOC数据集 data目录结构 训练 编译CUDA依赖环境 预训练模型 修改pascal_voc.py文件 进行训练 遇到的问题 主要参考文章 准备工作 源码下 ...
- 目标检测simple Faster R-CNN训练自己的数据集
一.复现 刚开始接触目标检测,自己动手复现的第一个开源项目是github上chenyuntc的simple faster rcnn.历经千辛万苦最后貌似因为服务器显卡内存不够,在训练时一直出现一个错误 ...
- Flutter采坑实录
Flutter采坑实录 搭建环境踩了不少坑,这里开始记录下: 因为科学上网,正常的依赖下载不下来,这里记录下遇到的问题,大家直接全文搜索你的关键词,如果有,直接去文章末尾参考我修改的地方修改吧. 看不 ...
- faster rcnn学习之rpn训练全过程
上篇我们讲解了rpn与fast rcnn的数据准备阶段,接下来我们讲解rpn的整个训练过程.最后 讲解rpn训练完毕后rpn的生成. 我们顺着stage1_rpn_train.pt的内容讲解. nam ...
- (原创)修改BIOS让华硕Z87-A老主板支持NVMe硬盘启动(采坑实录)
当年经典的华硕Z87-A主板至今仍然老当益壮,美中不足就是不支持NVMe SSD作为启动盘.由于工作生活繁忙,2年多来陆陆续续查了好多资料,再加上有CH341A编程器加持,自认已经准备得够充分.最近乘 ...
- Faster RCNN中的交替训练
1.stage1_rpn_train.pt 单独训练RPN 网络,训练的模型用ImageNet的模型来初始化,采用end to end的方式来调整参数. (backbone+rpn+fast rcnn ...
- (原创)华硕Z87-A老主板修改BIOS支持NVMe启动后的常见问题及解决办法(采坑实录)
关于华硕Z87-A如何修 关于华硕Z87-A如何修改BIOS支持NVMe硬盘启动的操作方法,可以看我写的<(原创)修改BIOS让华硕Z87-A老主板支持NVMe硬盘启动>一文,截止2021 ...
- AST逆向实战|5s盾混淆代码还原思路及采坑实录
免责声明:本文仅作为学习参考之用,请勿用于非法用途,否则后果自负. 本文仅提供还原思路和方法,不提供源代码,请不要找我索取,谢谢. 本文不保证看了就能还原,有些简单的坑需要自己去踩,插件也需要自己去写 ...
- faster rcnn接口_源码解析faster rcnn (mask rcnn)全过程
1. 总领过程--官方faster cnnn 调用过程 import torchvision, torch # 导入官方faster rcnn 模型 model = torchvision.model ...
- 经验 | 详解 Faster R-CNN目标检测的实现过程
计算机视觉联盟 报道 转载于 :机器之心 Faster R-CNN 实现代码:https://github.com/tryolabs/luminoth/tree/master/luminoth/mo ...
最新文章
- php自定义函数出现乱码,php的imagettftext 函数出现乱码的解决方法
- ConstraintLayout 全解析
- 算法练习----java字符全排列
- Java基础day12
- scrapy在命令行指定要采集的url
- 反思快速在新项目中找字段的方法
- Effective Java之慎用可变参数(四十二)
- windows7 64位下安装tensorflow终极解决方案
- linux之nm命令
- 信元模式mpls 避免环路_【基础】交换机堆叠模式
- SEO之Google--PageRank优化剖析(一)
- 基于JAVA+SpringMVC+Mybatis+MYSQL的教学管理平台
- Springboot 跨域配置
- 手机号归属地区编码_Excel隐藏手机号中间4位的6种方法,你见过几种?
- 记录一次VM14虚拟机出问题 Oh no,something has gone wrong!
- 达梦数据库SQL语句执行
- 【关于微信授权和微信授权限制解决方案】
- 老徐自述:《软件自动化测试实战解析_基于Python3编程语言》
- Codeforces Round #460 (Div. 2) C	 Seat Arrangements
- A1012 The Best Rank
热门文章
- SWMM[Storm Water Management Model]模型代码编译调试环境设置
- 《等级保护二级基本要求》
- Java Excel转图片
- CAD制图教程之CAD中怎么画剪刀楼梯?
- 欢迎大家访问吐槽人网 http://www.tucaoman.com/
- 毛星云opencv7.1.3之sobel算子--失败算法
- 汇编语言:将ASCⅡ码表示的十进制数转换为二进制数/十六进制数
- Linux基础知识点总结
- 带你啃透深度学习必学“圣经”花书!(附带论文代码精读讲解)
- mac的word中添加带圆圈的数字