栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

[YOLOX]——训练自己的数据集(Ubuntu20.04)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

[YOLOX]——训练自己的数据集(Ubuntu20.04)

环境搭建及详细配置:深入浅出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,不过这里是设置默认参数

 或者是在创建对象的时候指定:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487517.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号