Yolov7-tiny如何指定某个权重继续断点训练,并且训练到指定轮数

本文详细描述了如何在Yolov7项目中,从已有的AutoDL云服务器实验中迁移权重进行断点训练,包括复制文件、删除原有权重、选择合适的权重、修改opt.yaml配置以及指定新权重路径。
摘要由CSDN通过智能技术生成

前情提要

  • 显卡使用的是RTX3090,在云服务器AutoDL上实验的
  • 实验数据:已经完成500轮训练,期间生成的权重已经全部存放weights里面,如下所示
    • 中间轮数生成的权重会比训练结束后的best.ptlast.pt大,中间的会以epoch开头best开头,可能会有40多M,而这两个只有10几M

在这里插入图片描述

步骤

1. 拷贝整个运行train.py之后生成的文件(然后删掉weights文件夹)

这是很重要的步骤!因为把他拷贝到其他地方去,就不会担心新生成的权重会覆盖掉原本的!

下图就是train.py运行之后生成的文件夹里的内容:

在这里插入图片描述

我现在要操作的文件夹名字是:All-lr22

我原本的整个文件路径是:/root/autodl-tmp/train_result/All-lr22

现在我把它拷贝到另外一个路径下去:/root/tf-logs/All-resume,使用下面的命令拷贝之后的路径就变成了/root/tf-logs/All-resume/All-lr22

cp -r /root/autodl-tmp/train_result/All-lr22 /root/tf-logs/All-resume

2. 删掉新路径下的weights里的所有权重,然后挑选一个权重放进去

先删除新路径下的weights文件夹:

rm -rf /root/tf-logs/All-resume/All-lr22/weights

然后新建一个空的weights文件夹:

mkdir /root/tf-logs/All-resume/All-lr22/weights

然后就调用yolov7的test.py查看中间某一个权重的map指标们(以epoch、best开头的都可以),假设找到了best_213.pt权重,就将他拷贝到新的文件夹下去,也就是刚刚新建的/root/tf-logs/All-resume/All-lr22/weights

所以现在的文件夹的weights文件夹里面就只有best_213.pt这一个权重

3. 修改新路径下的opt.yaml

在这里插入图片描述

4. 指定新路径下的weights重的权重的绝对路径,开始断点训练

前提:前面步骤均已完成!

命令如下:

python train.py --resume /root/tf-logs/All-resume/All-lr22/weights/best_213.pt

在这里插入图片描述

接着就出现以下的打印台,起始的epoch数和最终的epoch数已经变为设定值,训练完后就会得到best.ptlast.pt(不过可能会由于训练中没有比best_213.pt好的权重,所以就不会生成best.pt,但是肯定会生成last.pt

在这里插入图片描述

训练结束:

在这里插入图片描述

在这里插入图片描述

  • best.pt也只有10几M了

在这里插入图片描述

5. 还有个小细节

在这里插入图片描述

下图就是已经重写了的

在这里插入图片描述

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孟孟单单

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值