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轮结束,并且得到混淆矩阵等生成的信息。

有用请点赞收藏哦

### YOLOv11 训练过程中的卡住问题及其解决方案 当遇到YOLOv11训练过程中卡住的情况时,可以考虑以下几个方面来排查并解决问题。 #### 1. 外部资源加载超时 在初始化阶段,模型可能会尝试访问外部网络资源用于测试或验证。如果这些资源无法及时获取,则可能导致程序在此处前[^2]。对于这种情况: - **确认本地环境配置**:确保所有必要的测试图像存在于指定路径下(如`yolov5-master/data/images/bus.jpg`),这有助于避免必要的网络请求。 - **调整源码逻辑**:可以通过修改`utils/general.py`文件内的相应部分,使得即使缺少特定图片也能继续执行后续操作。具体做法是将原本依赖于远程URL的部分改为返回固定尺寸的空白数组或其他替代方案。 ```python im = f if f.exists() else 'https://ultralytics.com/images/bus.jpg' if False else np.ones((640, 640, 3)) ``` 上述代码片段展示了如何通过设置条件表达式的真假值来控制是否使用默认图像作为输入。 #### 2. 数据加载器阻塞 另一个可能的原因在于数据加载环节出现了瓶颈,特别是多线程处理当的情况下容易引发此类现象[^4]。针对这个问题有以下建议: - **减少工作进程数量**:适当降低`dataloader workers`的数量至较低水平甚至设为零,以此减轻CPU负担并防止因并发过多而导致的任务积压。 - **优化磁盘读取效率**:检查存储介质的状态以及文件系统的性能表现;必要时可迁移数据到更快的SSD硬盘上进行实验。 #### 3. 验证集扫描暂 有时,在完成一轮迭代之后进入评估模式时也会发生类似的等待状态[^5]。此时应该关注日志输出的信息量变化趋势,并采取措施加快进度条推进速度: - **简化验证流程**:临时关闭某些耗时较长的功能选项(比如复杂的后处理算法),以便快速定位根本原因所在。 - **增加反馈频率**:提高中间结果记录密度,让开发者能更直观地掌握当前运行状况。 综上所述,面对YOLOv11训练期间出现的情况,可以从以上几个角度出发逐步缩小范围直至找到确切诱因并加以修复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值