Bootstrap

YOLOv8(Ultralytics)从断点处继续训练(Resume)

使用官方脚本命令训练时的断点继续训练方法。

训练时的命令(总共训练100epoch):

yolo detect train data=./ultralytics/cfg/datasets/coco.yaml model=./ultralytics/cfg/models/v8/yolov8.yaml project=./run/yolov8/ epochs=100

情况1:还未训练完100epoch,希望继续训练。

方法:将model替换为训练中途的last.pt文件,并且添加resume=True。

detect train data=./ultralytics/cfg/datasets/coco.yaml model=./run/yolov8/train/weights/last.pt project=./run/yolov8/ epochs=100 resume=True

结果:模型将会从断点处开始训练直到100epoch结束。

情况2:已经训练完100epoch,希望增加训练epoch(增加500epoch)。

方法:将epochs替换为500,并且将已有的权重作为pretrained进行加载。

yolo detect train data=./ultralytics/cfg/datasets/coco.yaml model=./ultralytics/cfg/models/v8/yolov8.yaml project=./run/yolov8/ epochs=500 pretrained=./run/yolov8/train/weights/last.pt

结果:模型将会加载100个epoch时的模型权重,但是会从0epoch开始训练。

注意:需要将存储结果的地方没用的train文件夹删除(最好只保留一个),否则将无法自动识别权重。并且如果使用情况1的方法会提示已经训练完。

AssertionError: ultralytics\run\yolov8\train\weights\last.pt training to 100 epochs is finished, nothing to resume.
Start a new training without resuming, i.e. 'yolo train model=ultralytics\run\yolov8\train\weights\last.pt'

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;