【深度学习】YOLOv9继续训练——断点训练方法

news2024/11/16 21:24:13

YOLOv9继续训练主要分为两个情况:

其一、训练过程中意外中断,未完成训练预期的epoch数量;

其二、训练完了,但是未收敛,在这个基础上,还想用这个权重、学习率等参数继续训练多一些轮次

一、训练过程中意外中断

将train.py文件中的442行,即patser中第9个参数resume,将其设置为default=True即可


 

    parser.add_argument('--resume', nargs='?', const=False, default=True, help='resume 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设置为default=True

原本训练完的参数设置图:

继续训练的参数设置图:

第二步:

对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:

原本训练完的显示记录:

继续训练的显示记录:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1515575.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

梦百合将在深圳展发布定制新品牌“榀至”

3月17日,下午2点,蓄势已久的梦百合定制品牌发布会将在深圳时尚家居设计周暨深圳国际家具设计展隆重召开!这将是梦百合旗下定制品牌——“榀至”的首度亮相! 发布会主题为“0压升级定制生活”,诠释着梦百合0压生活方式的拓展和延伸。 作为0压概念的提出者、0压绵专利的拥有者,十…

CMOS低噪声运算放大器D721-D722-D724对比分析

一 应用领域 D721、D722、D724是芯谷科技推出的三款低噪声、轨至轨运算放大器芯片,其中D721为单运放,D722为双运放,D724为四运放。适合用于音频领域、传感器等的信号放大处理,比如K歌宝、音响、测距、滤波器、AD转换器前级信号处…

OWASP TOP 10漏洞原理和应对策略

1. 注入 当将不受信任的数据作为命令或查询的一部分发送到解释器时,会发生注入缺陷,例如SQL,NoSQL,OS和LDAP注入。攻击者的敌对数据可能会诱使解释器执行未经预期的命令或未经适当授权而访问数据。 2. 失效的身份验证 与身份验…

通过日志恢复sql server数据库

在SQL Server中,通过日志恢复数据库是一个精细的过程,主要用于在数据库出现错误、数据丢失或需要回滚到特定时间点时恢复数据。以下是一般步骤概述: 设置恢复模式: 首先,数据库必须配置为“完整恢复模式”或“大容量…

基于深度学习的图像去雨去雾

基于深度学习的图像去雨去雾 文末附有源码下载地址 b站视频地址: https://www.bilibili.com/video/BV1Jr421p7cT/ 基于深度学习的图像去雨去雾,使用的网络为unet, 网络代码: import torch import torch.nn as nn from torchsumm…

人工智能迷惑行为大赏——需求与科技的较量

目录 前言 一、 机器行为学 二、人工智能迷惑行为的现象 三、产生迷惑行为的技术原因 四、社会影响分析 五、解决措施 总结 前言 随着ChatGPT热度的攀升,越来越多的公司也相继推出了自己的AI大模型,如文心一言、通义千问等。各大应用也开始内置…

Netty架构详解

文章目录 概述整体结构Netty的核心组件逻辑架构BootStrap & ServerBootStrapChannelPipelineFuture、回调和 ChannelHandler选择器、事件和 EventLoopChannelHandler的各种ChannelInitializer类图 Protocol Support 协议支持层Transport Service 传输服务层Core 核心层模块…

多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测

多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测 目录 多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现VMD-CN…

软件测试面试都问了什么?中级软件测试岗面试(4面)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 一面(…

Excel判断CD两列在EF两列的列表中是否存在

需求 需要将CD两列的ID和NAME组合起来,查询EF两列的ID和NAME组合起来的列表中是否存在? 比如,判断第二行的“123456ABC”在EF的第二行到第四行中是否存在,若存在则显示Y,不存在则显示N 实现的计算公式 IF(ISNUMBER…

全视智慧机构养老解决方案,以科技守护长者安全

2024年2月28日凌晨1时许,在上海浦东大道的一家养护院四楼杂物间内发生了一起火灾事故。尽管火势不大,过火面积仅为2平方米,但这场小火却造成了1人死亡和3人受伤的悲剧。这一事件再次提醒我们,养老院作为老年人聚集的场所&#xff…

阿里云免费证书改为3个月,应对方法很简单

情商高点的说法是 Google 积极推进90天免费证书,各服务商积极响应。 情商低点的话,就是钱的问题。 现在基本各大服务商都在2024年停止签发1年期的免费SSL证书产品,有效期都缩短至3个月。 目前腾讯云倒还是一年期。 如果是一年期的话&#x…

关于微服务跨数据库联合查询的一些解决思路

微服务架构的一个非常明显的特征就是一个服务所拥有的数据只能通过这个服务的API来访问。通过这种方式来解耦,这样就会带来查询问题。以前通过join就可以满足要求,现在如果需要跨多个服务集成查询就会非常麻烦。 解决思路 下面提供几个思路仅供参考 表…

在centOS服务器安装docker,并使用docker配置nacos

遇到安装慢的情况可以优先选择阿里镜像 安装docker 更新yum版本 yum update安装所需软件包 yum install -y yum-utils device-mapper-persistent-data lvm2添加Docker仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.rep…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的火焰与烟雾检测系统详解(深度学习模型+UI界面升级版+训练数据集)

摘要:本研究详细介绍了一种集成了最新YOLOv8算法的火焰与烟雾检测系统,并与YOLOv7、YOLOv6、YOLOv5等早期算法进行性能评估对比。该系统能够在包括图像、视频文件、实时视频流及批量文件中准确识别火焰与烟雾。文章深入探讨了YOLOv8算法的原理&#xff0…

二、TensorFlow结构分析(5)案例

案例: minimize(error) 代码: def linear_regression():# 自实现线性回归# 1)准备数据X tf.random.normal(shape[100,1])y_true tf.matmul(X,[[0.8]]) 0.7# 2)构造模型# 定义模型参数 用 变量weights tf.Variable(initial_v…

不想多花10万块,别买理想MEGA

文 | AUTO芯球 作者 | 雷歌 理想MEGA注定要凉凉! 这个口号喊震天响的MPV,直呼要做“50 万以上销量第一,不分能源形式、不分车身形态。” 50万以上?这个限定词真够高,但上面也不是没有狠角色。 比如腾势D9&#xf…

前端自动刷新Token与超时安全退出攻略

一、token的作用 因为http请求是无状态的,是一次性的,请求之间没有任何关系,服务端无法知道请求者的身份,所以需要鉴权,来验证当前用户是否有访问系统的权限。 以oauth2.0授权码模式为例: 每次请求资源服…

机器学习-0X-神经网络

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中神经网络算法。 本门课程的目标 完成一个特定行业的算法应用全过程: 懂业务会选择合适的算法数据处理算法训练算法调优算法融合 算法评估持续调优工程化接口实现 参考 机器学习定义 关于机…

财富池指标公式--通达信短线快攻指标公式

今日分享的通达信短线快攻指标公式是一个分享短线买卖点的指标公式。 具体信号说明: 当指标中出现蓝色的哭脸的图标时,可开始关注该个股,当出现红色向上的箭头时,后市上涨的概率较大,是参考买入的信号。 当只指标中出…