上一年总结的旧文章,也许对新接触yolo
的有点帮助.git
via网页标注的数据须要通过一系列转换,才能适配yolo的训练,主要步骤包括以下:github
xxx.txt格式(数值都是除以图片实际宽高保存的):
类名 box矩形中心x坐标 box矩形中心y坐标 box矩形宽 box矩形高
复制代码
分享: 多线程以及jupyter进度条的集合算法
这一步没有耗费多少时间,根据官网一步一步走就没问题 darknet官网json
./darknet detector train ../_question/question.data ../_question/question1280TR.cfg -i 1
-i 1 :
指定gpu:1.[吐槽:为何是 i 的简写]bash
想要不出意外,不踩坑:多线程
训练过程当中的log数据解读:学习
Region 16 Avg IOU: -nan, Class: -nan, Obj: -nan, No Obj: 0.000000, .5R: -nan, .75R: -nan, count: 0ui |
Region 23 Avg IOU: 0.860543, Class: 0.999887, Obj: 0.962618, No Obj: 0.000232, .5R: 1.000000, .75R: 0.950000, count: 20spa |
11670(当前迭代batch次数): 0.225856(整体loss), 0.287980 avg(平均loss), 0.000100 rate(当前的学习率,在cfg中定义), 11.322880 seconds(当前batch耗费时间), 1867200 images(参与训练的图片总数).net |
Region 16, Region 23
:(存疑)Avg IOU: 0.860543
:Class: 0.999887
:box分类的正确率
Obj: 0.962618, No Obj: 0.000232
:检测模型效果时, kernel have died
backup路径写错 由于是C
写的,在notebook上没有输出具体的错误log,致使在这个问题上卡了比较久,最终在jupyter.log中定位到问题缘由.
排查了很多时间,发现是xxx.data
中设置的backup 路径
没有建立,致使backup保存失败,进而训练中断
训练没法开始. 也没有什么报错信息
训练类别增长后,须要更改4个参数
classes
须要改变classes
须要与类别对应filters
须要更改:filters=(classes + 5)* mask的数量. 参考连接训练没法开始. 报错信息:
./darknet: error while loading shared libraries: libcudart.so.10.0: cannot open shared object file: No such file or directory
由于cuda 路径 darknet 没有检测到,输入临时路径命令:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64 && sudo ldconfig
复制代码
而后再执行训练命令便可
nohup ./darknet detector train ../xxxx/xxxx.data ../xxxxx/xxxx1280TR_1.cfg -i 0 >> 1280TR_0625_train1.txt &
复制代码
训练没法开始. 报错信息:
8Cannot load image "/mobileHDD/xxxx/images/xxx_ (7416).jpg"
STB Reason: unknown image type images
复制代码
图片压缩尺寸存在问题,须要从新生成图片.
根据[现象2],推测有多是cfg
中anchors
大小不正确,采用kmeans
聚类分析 anchors
大小. 由于新一批数据含有很是多得用户真实数据,而用户真实数据的物体大小波动范围很是大,原来的anchors
不适合了.
图片尺寸没有归一致使.
不知道怎么解决的了,有多是两个问题同时出现,致使了这个现象.到晚上9点才解决.左侧脑壳疼...用脑过分,硬怼把这个问题解决了....
目前来看都正常了.....
obj
较低 而在其它数据中效果较好,有些连一个都没有检测到.
[另一类检测] 基本没有效果
某类物体漏检很是严重
2~4点 都是 thresh= 0.1
的状况下 很是反常!按理来讲,loss降低到0.5左右,效果应该是比较好的,可是却明显比以前的效果差
脏数据太多,一共发现近200张含脏数据的图片.(图片颠倒,漏标,错标,二值化),去除掉这部分后再训练看看 是否会好不少.
剔除脏数据后,训练结果中 现象仍然存在,但检测率高了很多.
所以,推测是anchors 设置不合理致使的,anchors设置过小致使
darknet: ./src/parser.c:315: parse_yolo: Assertion `l.outputs == params.inputs' failed 复制代码
参数解读: blog.csdn.net/phinoo/arti…
个人滴滴云专属AI大师码:3388, 购买滴滴云GPU等AI产品输入大师码享9折优惠。 点击 www.didiyun.com前往滴滴云官网购买
本篇文章由一文多发平台ArtiPub自动发布