关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法
早先写了一篇关于yolov3训练自己数据集的博文Pytorch实现YOLOv3训练自己的数据集
其中很详细的介绍了如何的训练自定义的数据集合,同时呢笔者也将一些容易出现的bug写在了博文中,想着的是可以帮助到大家。很荣幸这一篇博客收到了,大家的认可。最近一段时间有很多的学长、学姐、学弟、学妹询问其中出现的问题。可是问的都是我没有遇到过的,很尴尬
今天我花了一下午的时间,解决了这几个问题,接下来进行分享。
笔者的开发环境为:
ubuntu18.04
PyTorch 1.1.0
anaconda
opencv-python
tqdm
matplotlib
pycocotools
详细请参考:Pytorch实现YOLOv3训练自己的数据集
- 问题1:AssertionError: Shapefile out of sync, please delete data/test.shapes and rerun

这个问题的话需要将data文件下的test.shapes删了,再重新运行makeTxt.py和voc_labels.py即可。报错的原因:因为Shapefile的不同步,可能用于训练其他的任务,没有即使的改回来导致的。 - 问题2:在生成将voc生成txt时,打开txt后是空白

这是因为voc_label.py下的classes = ["name"] 和你标注的不一致。例如,使用labelImg标注的为face,那么你在编写时就应该在voc_label.py下写classes = ["face"] - 问题3:可视化,记得有一个学姐问我,咋不可以可视化,我当时忘了,导致她花了很长时间去解决这个bug,很尴尬,心疼学姐,哈哈哈。。。。
其实很容易解决,只需要在训练完成后,打开命令行输入命令:
python3 -c "from project import utils; utils.plot_results()"
即可在根目录下看到。


- 问题4 windows环境下路径问题
- 问题描述:有些小伙伴在按照笔者的步骤进行自定义数据集训练时,出现了如下的报错信息:

- 问题的原因:由于笔者是在linux环境下进行的实验,所以没有出现这种情况。这个问题出现的原因是由于windows系统部分符号的不敏感,所以导致这种情况。
- 解决方法:
打开dataset.py,把162行换成163行即可

总结:由于笔者能力有限,在叙述上难免有不准确的地方,还请谅解。最后希望疫情快快结束,祝武汉加油,一线的工作者你们辛苦了!!!!!!
关于yolov3在训练自己数据集时容易出现的bug集合,以及解决方法的更多相关文章
- 使用py-faster-rcnn训练VOC2007数据集时遇到问题
使用py-faster-rcnn训练VOC2007数据集时遇到如下问题: 1. KeyError: 'chair' File "/home/sai/py-faster-rcnn/tools/ ...
- vue项目初始化时npm run dev报错webpack-dev-server解决方法
vue项目初始化时npm run dev报错webpack-dev-server解决方法 原因:这是新版webpack存在的BUG,卸载现有的新版本webpack,装老版本就好webpack-dev- ...
- XCode 添加自定义framework运行时出现dyld: Library not loaded的解决方法
XCode添加自定义framework运行时出现dyld: Library not loaded的解决方法 在使用自定义的framework运行时,会出现如下的错误: dyld: Library no ...
- session_start()导致history.go(-1)返回时无法保存表单数据的解决方法
问题背景: 在填写完表单提交时,由于某个表单项可能填写的不合法,导致提交失败,返回表单页面.但返回后所有的表单都被清空了,重新填写比较麻烦,度娘解释说,是由于每个页面都调用了session_start ...
- 【Mongodb教程 第一课补加课2 】MongoDB下,启动服务时,出现“服务没有响应控制功能”解决方法
如图,如果通过下列代码,添加服务后,使用net start命令出现这样的问题时,可以参考下我的解决方法. D:\MongoDB>mongod --dbpath D:\MongoDB\Data - ...
- js关于对象键值为数字型时输出的对象自动排序问题的解决方法
一.对象键值为数字型时输出的对象自动排序问题如: var objs = { "1603":{id:"1603"}, "1702" ...
- 编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时会产生Additional information: 阅读器关闭时尝试调用 Read 无效问题,解决方法与解释
在自学杨中科老师的视频教学时,拓展编写SqlHelper使用,在将ExecuteReader方法封装进而读取数据库中的数据时 会产生Additional information: 阅读器关闭时尝试调用 ...
- dede取子栏目时重复显示同级栏目的终极解决方法
使用channelartlist标签时,当栏目没有子栏目是,会出现重复同级栏目的问题,解决方法如下: 先看下面的代码{dede:channelartlist typeid='2'} {dede:ty ...
- 关于生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
System.Drawing.Image OldImage = null; oldImage = System.Drawing.Image.FromFile(ImageUrl); 使用该方法读取图片时 ...
- 关于javac编译时出现“非法字符:\65279”的解决方法
一般用UE或记事本编辑过的UTF-8的文件头会加入BOM标识,该标识由3个char组成.在UTF-8的标准里该BOM标识是可有可无的,Sun 的javac 在编译带有BOM的UTF-8的格式的文件时会 ...
随机推荐
- 《Kali渗透基础》09. 漏洞利用、后渗透
@ 目录 1:漏洞基本介绍 1.1:漏洞从哪里来 1.2:缓冲区溢出 1.3:如何发现漏洞 2:漏洞利用 2.1:EXP 选择与修改 2.2:避免有害的 EXP 3:后渗透阶段 3.1:Linux 上 ...
- PHP调用API接口的方法及实现
随着互联网.云计算和大数据时代的到来,越来越多的应用程序需要调用第三方的API接口来获取数据,实现数据互通和协同工作.PHP作为一种常用的服务器端语言,也可以通过调用API接口来实现不同系统的数据交互 ...
- ELK环境部署-Filebeat数据收集(三)
一.安装JAVA环境 1.解压jdk压缩包 abc@elk:~$ sudo tar -zxvf jdk-11.0.18_linux-x64_bin.tar.gz -c jdk11 2.添加环境变量 a ...
- CodeForces 1408D Searchlights
题意 在二维平面有\(n\)个海盗,\(m\)个探照灯,你有两种操作 将所有海盗往上走一步 将所有海盗往右走一步 设海盗为\((a_i,b_i)\),探照灯为\((c_j,d_j)\),当且仅当\(a ...
- Dubbo3应用开发—XML形式的Dubbo应用开发和SpringBoot整合Dubbo开发
Dubbo3程序的初步开发 Dubbo3升级的核心内容 易⽤性 开箱即⽤,易⽤性⾼,如 Java 版本的⾯向接⼝代理特性能实现本地透明调⽤功能丰富,基于原⽣库或轻量扩展即可实现绝⼤多数的 微服务治理能 ...
- What is Lambda?
根据我的观察,Lambda是一种比较灵活的形式,需要多看几个案例才能明白它. Lambda是一种简化代码的技术手段,主要用于简化匿名实现类,允许把函数作为一个方法的参数传递进方法中.它本身并不会创造出 ...
- Python面向对象——Mixin机制、重载、多态与鸭子类型、绑定与非绑定方法、Python常见的内置函数
文章目录 内容回顾 Mixin机制 1.什么是Mixin 2.Mixin来源 3.定义及优点 4.在python中的应用 5.在Django项目中的应用 重载(在子类派生的新方法中如何重用父类的功能) ...
- AI在人才测评领域的应用情况概述
目录 收起 一.AI技术的通俗理解 二.AI在人才测评领域的应用情况概述 三.AI在构建人才标准上的应用 1.人才标准构建 2.人才画像 3.人岗智能匹配 四.AI在人才测评实施方面的应用 1.AI面 ...
- HexConversion 二进制 八进制 十六进制 十进制
public class HexConversion { // TODO Auto-generated method stub /** * TODO 进制转换. * * @param cc * htt ...
- mysql语句操作
1.从login表中选出name字段包含admin的前10条结果所有信息的sql语句 select * from login where name like %admin% limit 0 ,10; ...