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    (别的文件也可以,应该...)

复制,粘贴一下,改成你自己文件名,也就是后边提到的 your_exp_file.py(ps:好多人问,我就重新在这里说再详细点)

 

 需要改的参数就是  

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

 

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

  • 15
    点赞
  • 95
    收藏
    觉得还不错? 一键收藏
  • 45
    评论
评论 45
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值