0


yolox+ByteTrack 自定义数据集训练

开的第一帖,就记录一下yolox+ByteTrack 自定义数据集训练吧!因为网上可找到的攻略太少!

顺便加一句,我也是刚入坑的菜鸟,为了弄明白自定义训练集训练废了不少劲!有什么出错的地方多多包涵!

言归正传

我的数据集是用labelimg做的voc数据集,因为ByteTrack是需要用coco数据集训练。

所以我将voc格式转到了coco格式

mot_101 随便起的,但是下面的子文件的名最好还是按照图中的来,不然的话要改好多代码,费劲!train 跟 val 放的都是做标签用的图片。

这是我xx.json文件里的信息,事先一定要搞清楚json文件里边包含了什么信息!

因为不同数据格式包含的信息不同,转成coco后的 json 包含的信息也不同

很重要,因为后边改代码要用到

然后进入 **..**\ByteTrack-main\exps\example\mot 文件下 找到 yolox_x_ch.py (别的文件也可以,应该...)

复制,粘贴一下,改成你自己文件名

需要改的参数就是

self.num_classes self.depth self.width self.train_ann self.val_ann 这几项

其余的参数根据需要自己定就行

接下来是修改该文件下的 get_data_loader get_eval_loader 两个函数内的代码

很明显就是文件名

接下来重点来了

找到 D:....\ByteTrack-main\yolox\data\datasets\mot.py 文件

代码60行:从我上边数据的截图中可以看出,我数据中的 frame_id 就是 id 所以做出了修改

这要根据不同的数距命名来修改成对应的名字

代码61行:我的数据中没有 video_id 所以就注释掉了

如果你有的话,还是改成json中 对应的名字

代码81行:同样道理,我的json文件中没有 track_id 信息 ,所以也注释掉

代码84行:同上,去掉 video_id 直接复制

到目前为止,所有的修改工作就完成了(反正我的到这就可以 train 了)!

然后就下载预训练权重 我的是 yolox_m.pth 和 修改的 your_exp_file.py

python tools/train.py -f exps/example/mot/your_exp_file.py -d 8 -b 48 --fp16 -o -c pretrained/yolox_m.pth

我这水平就只能到这了,要继续去看源码了


本文转载自: https://blog.csdn.net/Ddddd4431/article/details/126910083
版权归原作者 Ddddd4431 所有, 如有侵权,请联系我们删除。

“yolox+ByteTrack 自定义数据集训练”的评论:

还没有评论