文章目录[隐藏]
环境搭建及详细配置:深入浅出Yolox之自有数据集训练超详细教程 - 云+社区 - 腾讯云 (tencent.com)
使用YOLOX训练自己的数据集 - 知乎https://zhuanlan.zhihu.com/p/421061236
1、加入apex梯度溢出
这里主要是在:YOLOX-main/yolox/core/trainer.py 修改amp的优化级别为 O0
model, optimizer = amp.initialize(model, self.optimizer, opt_level="O0")
- 其实训练自己的数据集时,如果数据不是很大,其实不要apex也可以
2、XML文件找不到
出现这个问题一般是在读取的时候配置的路径不对
3、类别名冲突
文件位置:YOLOX-main/yolox/data/datasets/voc.py
如果在训练自己数据集的时候,类别中存在类别名转小写后冲突的问题,需要修改代码中的统一转小写的代码,具体报错如下:
代码修改即为:去掉 lower() 部分
4、命令行训练
-d:设置使用的GPU的数量
python3 tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 2 -b 20 -c yolox_s.pth
5、YOLO-main/yolox/exp/yolox_base.py
设置训练中需要的基本参数:
- self.num_classes:设置数据集中物体的分类数
- self.max_epoch:设置训练的epoch数目,默认是300
- self.print_interval :设置经过多少个batch_size打印一次信息
- self.eval_interval :设置经过多少epoch验证一次(这里很炕)
6、eval_interval中的问题
文件位置:YOLOX-main/yolox/core/trainer.py
我在训练过程中,设置eval_interval是200,max_epoch是100,就是希望他不进行验证了。可是在第85epoch的时候报错了,后来debug后发现是self.exp.no_aug_epochs 值为15,所以100-15=85,刚好满足下面代码的条件,所以进入了最后阶段,在这一阶段(No mosaic aug),总共15epoch,将eval_interval设置成了1,每个epoch都要验证。
注:训练的过程中验证的时候targets是空的,所以出断言错误
- 为了不验证所以我将 self.exp.eval_interval=1注释掉了
- 这里我把训练和验证分开做了,使用train.py训练,使用eval.py验证
7、自建数据集问题
出现targets找不到原因是我的数据集的XML文件中的标签出错,导致没有正常读取
8、resume使用
训练过程中经常会出现中间某一阶段出错,为了查看错误复现 或者 继续训练,需要使用resume,这里需要设置:
- "--resume":设置resume的默认值,也即:default=True,正常训练时设为False。这里如果是在终端中运行的话,直接加上 --resume参数即可
- --ckpt:如果需要继续前面的工作训练的话,需要使用 YOLOX_outputs下面生成的权重文件训练
parser.add_argument(
"--resume", default=False, action="store_true", help="resume training"
)
parser.add_argument('--ckpt', default='/mnt/sda3/yolos/YOLOX-main/yolox_s.pth', type=str, help="checkpoint file")
9、检测数据
在使用已训练好的模型检测图片时,需要指定使用的 分类(cls_names) : VOC_CLASSES & COCO_CLASSES,不过这里是设置默认参数
或者是在创建对象的时候指定:
10、去掉预训练部分
修改文件:/mnt/sda3/yolos/YOLOX-main/yolox/core/trainer.py
- 这里YOLOX的做法:在resume_train中查看resume参数的值,如果是True的话,就去加载训练过程中的last模型文件继续训练;如果是False的话,就直接加载在官网中下载的预训练文件。
- 这里我是修改了原网络,所以需要去掉原网络的预训练部分,所以就注释掉else中的内容即可
版权声明:本文为CSDN博主「Star星屹程序设计」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42067873/article/details/121240724
暂无评论