为YOLOv5搭建COCO数据集训练、验证和测试环境

问题:在使用Python train.py训练YOLOv5时,2个多小时没有动静,原因是数据集下载解压和加载。

2个小时没有动静

解决方案:手动下载COCO数据集,并按照YOLOv5训练、验证和测试程序的数据存储路径要求解压COCO数据集。

相比于使用YOLOv5提供的download函数(from utils.general import download), 迅雷下载速度相当令人满意,资源也多,猜测大家都遇到类似问题,在手动下载。


手动下载速度

COCO数据集介绍。COCO全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集;当在ImageNet竞赛停办后,COCO竞赛就成为是当前目标识别、检测等领域的一个最权威、最重要的标杆,也是目前该领域在国际上唯一能汇集Google、微软、Facebook以及国内外众多顶尖院校和优秀创新企业共同参与的大赛。YOLOv5算法采用的数据集就是COCO数据集

COCO数据集有多个,应该选择哪个呢?根据官方的信息,应该选择2017 Train/Val/Test

选择COCO2017

2017 COCO数据集的特点

名字 描述 下载链接
train2017.zip 19G, 118k images http://images.cocodataset.org/zips/train2017.zip
val2017.zip 1G, 5k images http://images.cocodataset.org/zips/val2017.zip
test2017.zip 7G, 41k images http://images.cocodataset.org/zips/test2017.zip

按照表格中的链接,手动下载图片数据
手动下载train2017.zip、val2017.zip和test2017.zip

下载后,依据https://github.com/cocodataset/cocoapi 的要求,将图片解压到coco/images/,如下图所示。

下载并按路径要求解压图片

接着下载标注文件annotations_trainval2017.zip,并按cocoapi 的要求,将标注文件解压到coco/annotations/

下载并按路径要求解压标注

其中用于目标检测的是:instances_val2017.json和instances_train2017.json

COCO数据集标注文件详解:

“info”和“licenses”键值:说明数据集信息,与训练无关

“categories"表示类别
“images"表示图像文件信息
“annotations"表示标注信息
一个完整的annotation信息

YOLOv5把官方的json格式的标注文件解析成为txt文件,请从https://ultralytics.com/assets/coco2017val.zip下载,然后解压到../datasets文件夹

上述数据都下载解压到指定文件夹后,就可以开始在COCO数据集上跑YOLOv5的验证、测试和训练了。

运行验证功能val.py

验证(Validation)通常在完成模型训练后,用于测试模型的精度。

训练数据集和验证数据集都是有标注的,需要注意的是:YOLOv5把官方JSON标注转换成了YOLO(darknet)标注格式,所以需要下载:'https://ultralytics.com/assets/coco2017labels.zip',然后解压到../datasets文件夹下

YOLO(darknet)标注格式

在YOLOv5文件下,使用命令

python val.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65 --half --batch-size 8

运行结果
val.py运行结果

注意:coco 里面大概有1%的图是无目标的,所以会提示有48missing

运行测试功能test.py

python val.py --weights yolov5x.pt --data coco.yaml --img 640 --iou 0.65 --half --task test --batch-size 8

test运行结果

根据COCO Detection Evaluation规定,获得的结果文件要以.zip形式提交到https://competitions.codalab.org/competitions/20794,从Evaluation server上获得判断结果

Evaluation server的评估结果

运行训练功能train.py

首先安装wandb, 参考:https://wandb.ai/home,获得API key,完成注册

然后运行:

!python train.py --img 640 --batch-size 16 --epochs 3 --data coco.yaml --weights yolov5s.pt --optimizer Adam --workers 6

--workers 数量设置为与CPU物理核数一致
注意:若使用--cache, 计算机内存小于128G,会报错

内存不够

另外,使用机械硬盘HDD来训练YOLOv5,在Scanning这步,也是非常耗费时间的
机械硬盘速度太慢!!!

YOLOv5 train.py训练成功
Batch_Size=16的训练时间
batch-size=32,启动训练
batch-size=32,训练时间
batch-size=48,训练时间
Batch Size=64, 报错:CUDA out of memory

另外,glenn-jocher也给出了训练结果

YOLOv5各版本训练时间比较

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容