yolov5ds-断点训练、继续训练、先终止训练并调整最终epoch(yolov5同样适用)

这篇具有很好参考价值的文章主要介绍了yolov5ds-断点训练、继续训练、先终止训练并调整最终epoch(yolov5同样适用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考链接

  • 🍀yolov5 继续训练
  • 🍅yolov5ds:Yolov5同时进行目标检测和分割分割(yolov5ds作者的博客介绍)
    • github地址:👉yolov5ds
    • 训练yolov5ds案例:用YOLOv5ds训练自己的数据集——同时检测和分割

两种情况:

  • 训练过程中中断了,继续训练
  • 训练完了,但是未收敛,在这个基础上,还想用这个权重、学习率等参数继续训练多一些批次

不再需要断点训练后,就一定要记得把以下修改全部都恢复成原状!!!


1. 训练过程中中断了,继续训练

断电、或者什么原因中断了,比如设定epoch为200,但是在90这里中断了,想从断点这里继续训练到 200个epoch

直接在trainds.py设置参数--resumedefualt=True即可(在代码 517行附近)

parser.add_argument('--resume', nargs='?', const=True, default=True, help='resume most recent training')

或者参考这个芒果大佬的方式:直接调用命令行开始resume,他还变了加载的权重(我没有变,但是也能行,保险起见还是参照大佬的方式吧,我是从这篇博文里面摘录过来的:手把手调参最新 YOLOv7 模型 训练部分 - 最新版本(二))

python train.py --resume D:\Pycharm_Projects\yolov7\runs\train\exp19\weights\last.pt

yolov5暂停训练,yolov5ds,深度学习,python,人工智能


如果觉得数值差不多稳定了,但是距离最终设置的epoch还很远,所以想要停止训练但是又得到yolov5在运行完指定最大epoch后生成的一系列map、混淆矩阵等图

  • (虽然yolov5默认有早停机制,但是是要再多训练100轮如果结果还是没改善才会自动停止)
  1. 终止训练
  2. 找到run/train/exp(注意找对文件夹,exp是本轮训练时生成的文件夹)中的opt.yaml文件,修改其中的epochs为最近的一个比较大的数值,比如现在我训练到了169轮,我就先终止训练,然后将这个epochs改成了170,再将resume的default值改为True继续训练
  3. 如上,直接在trainds.py设置参数--resumedefualt=True即可(在代码 517行附近)

2. 训练完原有epoch,但还继续训练(与参考链接操作不同)

训练完原有epoch后,但还继续训练,比如设置epoch为200,已经训练完了,但是没有收敛等原因想使用训练了200 epoch的权重继续训练100个epoch, 总共就是300个epoch

  • 不是直接在train.py设置weight参数为训练好的权重(last.pt),然后设置epoch为100,这样不行,因为学习率等超参数启动时还是按照默认的。。。(自己把一些超参数设置好也可以,但感觉有点烦)
  • 在train.py代码里面设置就可以使用原有200 epoch的权重后继续训练到300epoch

❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀❀

以训练了5个epoch后,想继续训练到15个epoch为例:

step1:
(同1.)先将--resumedefualt改为True,再将--epochs设为想要继续训练到的epochs,即defualt=300(在trainds.py代码的513行附近)

parser.add_argument('--epochs', type=int, default=15)

step2:

trainds.py文件中,按下Ctrl+F搜索Epochs定位到大概200行的位置,做以下两处修改:

  1. 添加一行代码:ckpt['epoch'] = 5
  2. 修改代码:start_epoch = ckpt['epoch'](后面不加1)

注意:这两处修改是为了断点训练,如果不再需要断点训练,请将这两处修改都还原。

yolov5暂停训练,yolov5ds,深度学习,python,人工智能

step3:

可以直接简化为下面的操作:

找到run/train/exp(注意找对文件夹,exp是本轮训练时生成的文件夹)中的opt.yaml文件,修改其中的epochs为你想要改为的最大的epoch值

#--------------------------------这个编辑代码的步骤可以省略了---------------------------------------------#

trainds.py文件中,按下Ctrl+F搜索replace定位到大概565行的位置,做以下两处修改:

  1. 如图添加一行代码:init_epochs = opt.epochs(记录最开始由epochs参数设定的数值15,因为replace这行代码,将epochs替换成了原始的epochs数值5)
  2. 修改代码:如图进行添加,reinstate恢复成设定的epochs

yolov5暂停训练,yolov5ds,深度学习,python,人工智能
#-----------------------------------------------------------------------------------------------------------------#


🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍🙋‍

做完以上3个修改,训练就会从第5个epoch的基础上进行继续训练到15个epoch,和直接设置epoch为15一样

老师让我测试了一下:这个继续训练对数据集发生变化的有效没有?
老师的解释:理论上应该是没有影响,虽然数据集变化,但训练只是沿用前面的权重表就可以,比如增加了训练数据应该没有问题

  • 前5个epoch的数据集情况:总数为708张,按9:1划分得到 -> 训练集637张,验证集71张
  • 继续训练到15个epoch的新数据集情况:总数为100张,按9:1划分得到 -> 训练集90张,验证集10张

👉经测试,是有效的,能够继续训练且正确,可参看以下3张图片:

yolov5暂停训练,yolov5ds,深度学习,python,人工智能

yolov5暂停训练,yolov5ds,深度学习,python,人工智能

yolov5暂停训练,yolov5ds,深度学习,python,人工智能文章来源地址https://www.toymoban.com/news/detail-812492.html

到了这里,关于yolov5ds-断点训练、继续训练、先终止训练并调整最终epoch(yolov5同样适用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • yolov5——训练策略

    yolov5的训练策略big big丰富,这也是yolov5涨分厉害的reason,目前yolov5的使用量也是非常大的,官网的star已经23.5k了,无论是在迁移学习还是实际场景的应用都是非常广泛的。之前参加比赛,发现好几页的选手都在使用yolov5,确实有必要梳理一下,yolov5的训练策略。感觉这些策略

    2024年02月08日
    浏览(37)
  • YOLOV5 训练

    windows上安装可以参考这篇知乎文章 自己准备数据集 可以使用 labelImg 工具,直接 pip install labelimg 就可以安装了。 命令行中输入 labelImg 就可以运行 标注数据的输出结果有多种过格式,VOC 、COCO 、YOLO等。 数据组织 先放目录树,建议先按照下面的目录格式,准备数据集。 我们

    2024年02月08日
    浏览(48)
  • yolov5解读,训练,复现

    小白的第一篇csdn...最近在准备小论文,大概率是目标检测方向了,没经验,慢慢学,本文只是跟着b站的天才up主一起训练和复现,这里只是我记录yolov5的学习历程,都是大白话,没有专业术语,肯定也会说错很多东西,但是我都想记录在这里,这样就不会忘记啦,如果有幸被

    2024年02月10日
    浏览(59)
  • yolov5训练结果解析

    yolov5训练结果的文件解析 1、weights训练好的模型,一般使用best.pt去进行推理 2、confusion_matrix.png 混淆矩阵以矩阵形式将数据集中的记录按照真实的类别与分类模型预测的类别判断两个标准进行汇总。其中矩阵的行表示真实值,矩阵的列表示预测值。 TP(True Positive): 将正类预

    2024年02月06日
    浏览(66)
  • yolov5训练部署全链路教程

    YOLOv5 模型是 Ultralytics 公司于 2020 年 6 月 9 日公开发布的。YOLOv5 模型是基于 YOLOv3 模型基础上改进而来的,有 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四个模型。YOLOv5 相比YOLOv4 而言,在检测平均精度降低不多的基础上,具有均值权重文件更小,训练时间和推理速度更短的特点。YOLOv5 的

    2024年02月11日
    浏览(52)
  • yolov5训练自己的数据集

    1.YOLOv5为开源代码,直接从github上下载,首先打开github官网,下载。 下载使用pycharm打开,有图中这些文件,   其中 data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称)

    2024年02月07日
    浏览(147)
  • 使用Yolov5训练自己的模型

    本文主要介绍如何运用开源Yolov5模型,结合自己的数据,训练其他目标检测模型。 基础准备工作: anaconda 适用Yolov5的虚拟环境 git上下载Yolov5并调通测试代码 https://github.com/ultralytics/yolov5 https://github.com/ultralytics/yolov5 本次用的环境: python==3.7 pytorch==1.7.1 torchvision==0.8.2 torchaud

    2024年02月05日
    浏览(56)
  • Yolov5部署训练及代码解读

    一、前言 1.集成的资源,包括我自己做成的成品,可以直接train与detect。需要加qq群:938162384 2.本文目的主要是能够让读者复现,直接使用,而且少讲原理。如果想深入了解yolov5的原理,可以去看热度比较高的博主做的 3.如果是制作自己的数据集,那么有一个自己给训练集打标

    2024年02月04日
    浏览(45)
  • 【机器学习】yolov5训练结果分析

    yolov5模型训练后的结果会保存到当前目录下的run文件夹下里面的train中 下面对训练结果做出分析 在yolov5的训练结果中,confusion_matrix.png文件是一个混淆矩阵的可视化图像,用于展示模型在不同类别上的分类效果。混淆矩阵是一个n×n的矩阵,其中n为分类数目, 矩阵的每一行代

    2024年02月01日
    浏览(55)
  • YOLOv5训练结果性能分析

    入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。 可参照以下博客一起看(涉及一些概念解析)深度学习之常用模型评估指标(一)—— 分类问题和目标检测_tt丫的博客-CSDN博客_深度网络模型特异度       

    2023年04月09日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包