Written by 六个肾的派大星
问题描述:
在电脑上通宵跑检测模型,但在第90个epoch上提示页面什么太小(应用开多了,内存不够了)。
看了网上很多的解决方案,但是都不能解决,都是重头开始训练,不能继续训练。
解决办法:
第一步:
在train.py中,除了以下内容外别的都注释掉,只保留如下:
from ultralytics import YOLO
model = YOLO("D:/yolostudy/ultralytics10.24/ultralytics10.24/runs/detect/train11/weights/last.pt")
# 中断训练的权重文件中的last.pt
results = model.train(resume=True)
第二步:
在控制台输入如下命令,指向的还是中断的那次训练权重中的last.pt。
python train.py resume model=D:/yolostudy/ultralytics10.24/ultralytics10.24/runs/detect/train11/weights/last.pt
结果:
可以看到从中断的位置重新开始了,上一次是完成了90个epoch,这次是从第91个的重新开始的。
默认情况下,检查点会在每个时期结束时保存,或者使用save_period参数以固定间隔保存,因此您必须至少完成1个时期才能恢复训练运行。
参考自Ultralytics官方文档,里面:模式->训练->恢复中断的训练(官方文档还是很给力的)
https://docs.ultralytics.com/zh/modes/train/
总结:
1、既然可以继续训练,而且这么简单,那就可以自由的决定是不是终止,反正都可以继续开始。
2、虚拟内存开的大一点,内存不够是我没有想到的。
3、官方文档真好用。