做网站通过什么挣钱,威海网站优化,敬请期待换个说法,网站建设算行政工作吗YOLOv9继续训练主要分为两个情况#xff1a;
其一、训练过程中意外中断#xff0c;未完成训练预期的epoch数量#xff1b;
其二、训练完了#xff0c;但是未收敛#xff0c;在这个基础上#xff0c;还想用这个权重、学习率等参数继续训练多一些轮次 一、训练过程中意外…YOLOv9继续训练主要分为两个情况
其一、训练过程中意外中断未完成训练预期的epoch数量
其二、训练完了但是未收敛在这个基础上还想用这个权重、学习率等参数继续训练多一些轮次 一、训练过程中意外中断
将train.py文件中的442行即patser中第9个参数resume将其设置为defaultTrue即可 parser.add_argument(--resume, nargs?, constFalse, defaultTrue, helpresume most recent training) 注意点如果你想从上一次训练结果中回复训练那么首先保证你的训练结果一般都存放在/runs/train目录下在保存目录中代号为最大的 断续前训练的设置参数、超参数和每轮训练效果在/runs/train/exp3下的opt.yaml、hyp.yaml、results.csv中有记录 设置好resume参数后python train.py重新启动训练程序将从上次断续点处开始训练 二、训练完后继续增加轮次训练
训练完原有epoch后但还继续训练共分为3大步进行程序更改。此处以原本训练epoch为5已经训练完了但是没有收敛继续增加5个epoch训练总共训练10epoch为例子。
备注不是直接在train.py设置weight参数为训练好的权重last.pt然后设置epoch为10这样不行因为学习率等超参数启动时还是按照默认的。
第一步
将train.py文件中patser中第5个参数从5改为10第9个参数resume设置为defaultTrue
原本训练完的参数设置图 继续训练的参数设置图 第二步
对utils/torch_utils.py中大致458行smart_resume函数进行更改
添加一行代码ckpt[‘epoch’] 5 #原本训练完的epoch 修改代码start_epoch ckpt[‘epoch’]后面不加1 注意这两处修改是为了断点训练如果不再需要断点训练请将这两处修改都还原。 第三步
在trainds.py文件中大概487行如图添加一行代码
init_epochs opt.epochs记录最开始由epochs参数设定的数值10因为replace这行代码将epochs替换成了原始的epochs数值5 修改代码如图进行添加reinstate恢复成设定的epochs,
opt.cfg, opt.weights, opt.resume,opt.epochs , str(last), True,init_epochs 完成以上3步可以进行继续训练了python trainds.py:
原本训练完的显示记录 继续训练的显示记录