文章目录[隐藏]
YOLOX-入门2-训练-【Reproduce our results on COCO】
上一篇:
YOLOX-部署与测试
部署的平台:【极链AI云平台】
YOLOX地址:
https://github.com/Megvii-BaseDetection/YOLOX
复现YOLOX在COCO数据集的结果
数据集
在部署平台极链AI云上,有提供数据集,其中就包括coco2017,可以直接用ln语句在自己的YOLOX路径下建立软链接,使用方便。
在极链AI云提供的coco数据集中,有提示该coco数据集的路径,可以直接复制过去,替代官方给的示例中的【/path/to/your/COCO】。
注意
这里测试的是coco2017数据集,如果你想改其他的coco数据集,可以在/root/YOLOX/yolox/data/datasets/coco.py路径下,改这个coco.py。
他这里设置的是instances_train2017.json文件。
还有root/YOLOX/yolox/exp/yolox_base.py文件,如下图2。
我目前只注意到这两个,我没有实际运行过用coco2014的。
epoch修改
在/root/YOLOX/yolox/exp/yolox_base.py文件中,可以修改epoch数。
原本设定的max_epoch是300。
我自己尝试的时候,为了更快训练完,改成了5。
运行
cd /root/YOLOX
ln -s /datasets/coco2017 ./datasets/COCO
python tools/train.py -n yolox-s -d 8 -b 64 --fp16 -o
其中,d后是GPU数量,b后是batch size,通常就是GPU数量乘8:
-d: number of gpu devices
-b: total batch size, the recommended number for -b is num-gpu * 8
一开始博主在平台上创建实例的时候,由于贫穷,GPU数量选择的是1个。
但是-d 1 -b 8,这样子的参数,去跑coco2017,大概要跑一辈子。
所以,忍痛充钱,用8GPU的跑。
8GPU的跑5epoch,用时大约43分钟。
2GPU的跑5epoch,预计用时是 2:16:55。(我就不等了,没有跑完)
关于增加GPU的数量,现在平台还不能直接升。
可以先创建自定义镜像,然后再从【数据管理】——【我的镜像】——找到刚刚自定义创建的镜像——【创建实例】——改选8个GPU数量
他的官方教程:使用过程中想要增加或减少显卡数量,更换显卡型号怎么办?
或者重新从安装开始来一次,这样可能报错更少,更顺利。
训练过程
下面这个只是某一时刻的,运行一段时间后GPU-Util比较平均。
训练结束
训练结束,在YOLOX_outputs/yolox_s/目录下产生了新的权重文件。
将events.out.tfevents这两个文件copy到data-output路径下,再打开tensorboard,就可以查看训练结果的可视化展示。
在云平台上操作的教程:TensorBoard 使用
结果对比
为了保持继续深入学习的高涨的热情,建立了一个帅哥测试数据集。
今天随手测了最近看的一个韩剧的片段。
分别用yolox_m模型,和本篇博客中只训练5个epoch的/root/YOLOX/YOLOX_outputs/yolox_s/best_ckpt.pth.tar模型,运行同一段视频。
只训练了40多分钟,5个epoch的模型,全程只能识别出person这个类别,而且当人背向镜头的时候,识别他为人的概率只有50%左右。
所以这个就不放截图了。
官方给的yolox_m模型就效果好很多。能识别出很多小物体。
版权声明:本文为CSDN博主「小林爱学习99」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41793473/article/details/119027915
暂无评论