yowov2训练自己制作的ucf24格式的数据集(踩坑记录)

最近要做打架斗殴识别,最后选定yowov2这篇2023cvpr论文,论文代码已开源GitHub

1.ucf数据集制作

数据集制作借鉴这篇博客

2.训练

官方源码(下载官方源码,按照官方源码创建虚拟环境,下载必要的依赖包。注意在requirements.txt中会安装cpu版本torch和torchvision,若你不需要则将其注释掉,单独安装gpu版本的)

2.1 首先修改dataset_config.py文件

第一处待修改

第二处待修改

第一步,将gt_folder修改为自己数据集的路径,修改如下(我的数据集保存在dataset文件夹下)

第二步,将valid num classes修改为自己数据集所有的类别数和类别名。

2.2 修改yolo_free.py文件

若不修改,会从以下链接下载预训练权重,

由于网络原因,大概率会导致报错如下:

解决办法是自己手动(直接点击上面报错链接),下载好预训练权重后修改yolo_free.py文件,从本地加载(我下载后直接放在yowov2目录下)。

第一处待修改:

第二处待修改:

第一步修改如下:(注释掉model_url,添加本地预训练地址)

第二步,修改加载函数修改如下:

2.3 修改shufflnetv2.py

同2.2一样,先手动下载预训练权重(放在yowov2目录下)。

第一处待修改

第二处待修改

第一处修改如下

第二处修改如下:

2.4修改ucf_jhmdb.py

第一处待修改:

第二处待修改:

第三处待修改:(有可能用不到)

第一处和第二处都修改如下:(根据自己的数据集类别改,我的只有一个fight类别。)

第三处修改如下:

原始ucf类别标签可能是从1开始的,而我按照1中制作数据集的标签文件中标签类别是从0开始的。若减去一就会报错类别标签为负。报错:RuntimeError: Class values must be non-negative。

成功训练:运行train.py,在train.py文件中设置数据集路径,是否使用cuda,等参数。

4.总结

训练的版本是yowo_v2_tiny版本,若要训练yowo_v2_large版本,需要修改resnext.py

具体修改若有需要请可留言 

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值