YOLOv9提前结束训练得到数据或者训练轮数不够想增加轮数的方法,适用于模型已经收敛,不需要再继续训练,且早停轮数设置过多,没办法提前停止的情况,也可由于断点继续训练或者增加训练轮数
·
比如你想训练300轮,但是发现在200轮就已经收敛,不想继续训练100轮等到模型结束再输出信息,想早点结束训练。
1.先手动将训练停止,例如使用Ctrl + C将训练代码停止。
2.然后将训练代码train.py或者其他训练代码(v9有三种训练代码)中的参数resume的default改为True(记得后面全部修改完后改回去)。
3.找到自己训练的保存结果的文件夹,例如runs/train/exp,如果自己训练没有设置name参数,那么就是exp+数字的文件夹名称;如果自己设置了那就去自己设置的文件夹A下,然后找到opt.yaml文件,把epoch参数改为你想结束的轮数,比如改为201轮结束。
4.修改完毕后,在最开始的训练代码的基础上,加上 --resume --weights runs/train/保存的文件夹名称/weights/last.pt 注意:如果你按照默认设置的文件夹名称,就是exp+数字的形式,即训练代码时没有额外设置name参数,那么如果你的train文件夹下有很多exp为前缀的文件夹名称,可能会出现问题,我建议要么删除所有的exp+数字的文件夹,只留下存放当前要修改的文件夹,并把名字改为exp;要么在前面增加的命令的基础上,额外增加 --name 自己项目的文件夹名称A ,例如 --name 文件夹A 这种格式。
5.然后删除上面得到的命令中的epoch参数,不需要设置!因为已经在opt.yaml作出了更改。
6.运行此训练代码,将会在201轮结束,并且得到混淆矩阵等生成的信息。
有用请点赞收藏哦
更多推荐


所有评论(0)