在训练 YOLOv8时,创建了一个train.py来运行代码,train.py代码如下:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8s.yaml") # build a new model from scratch
model = YOLO("yolov8s.pt") # load a pretrained model (recommended for training)
# Use the model
model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
device=0,resume=True,lr0=0.01,batch=16) # train the model
但是运行一直报这个错误:
后来将代码改为即可运行,修改如下:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8s.yaml") # build a new model from scratch
model.load("yolov8s.pt") # load a pretrained model (recommended for training)
# # Train the model
model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
device=0,resume=True,lr0=0.01,batch=16)
—————————————————2024.3.16更新———————————————————
看到很多评论说好像两段代码没有什么区别,确实是的,只有这一句model = YOLO("yolov8s.pt")变成了model.load("yolov8s.pt");当时确实是这样改就能正常运行。
为了再次跑出这个问题,我又重新配了个新环境,按照以前的方式从头配置YOLOv8,新问题不少,但是这个问题始终没有出现,在github官方代码上,很多人也出现了相似的问题,也有一些解决方案,大家可以去看一看,说不定就能解决这个问题。
这次运行出现的新问题1:
解决方法:
在代码中添加if __name__ =='__main__':
from ultralytics import YOLO
if __name__ == 'main':
# Load a model
model = YOLO("yolov8s.yaml") # build a new model from scratch
model.load("yolov8s.pt") # load a pretrained model (recommended for training)
# Train the model
model.train(data="ultralytics/cfg/datasets/coco128.yaml", epochs=100, imgsz=640,
device=0,resume=True,lr0=0.01,batch=16)
问题2:报错:SyntaxError: 'fl_gamma' is not a valid YOLO argument.
解决方法:根据这篇博客的评论区,解决【SyntaxError: ‘fl_gamma‘ is not a valid YOLO argument.】——YOLOv8_syntaxerror: 'image_weights' is not a valid yolo a-CSDN博客
改变这两句代码的位置就可以了:
原先:
model = YOLO("yolov8s.yaml") # build a new model from scratch
model.load("yolov8s.pt") # load a pretrained model (recommended for training)
调换后:
model.load("yolov8s.pt") # load a pretrained model (recommended for training)
model = YOLO("yolov8s.yaml") # build a new model from scratch