yolov10 icon indicating copy to clipboard operation
yolov10 copied to clipboard

从预训练开始的微调问题

Open talebolano opened this issue 1 year ago • 1 comments

当我以yolov10x.pt在个人数据集上开始做微调训练,为何前几个epoch的测试结果很低,像是没有加载预训练模型一样(yolov8加载预训练权重训练第一个epoch就会得到很高的map),最终结果也低于yolov8x,请问这正常吗 训练代码如下

from ultralytics import YOLOv10
model = YOLOv10('./data/yolov10x.yaml').load("yolov10x.pt")
model.info()
model.train(data="data/coco.yaml",imgsz=1280,epochs=250,device="0,1,2,3,4,5,6,7",batch=32,lr0=0.005)

前几个epoch结果如下: image

talebolano avatar May 31 '24 03:05 talebolano

感谢您的关注!您好,您这样执行时会导致预训练权重没有加载成功,您可以参考这个问题https://github.com/ultralytics/ultralytics/issues/11769~

jameslahm avatar May 31 '24 03:05 jameslahm

感谢您的帮助,可以正常加载模型权重了

talebolano avatar May 31 '24 03:05 talebolano

感谢您的帮助,可以正常加载模型权重了

@talebolano 您好,请问是怎么解决的呀,可以贴下解决代码吗?谢谢!

HonestyBrave avatar May 31 '24 14:05 HonestyBrave

感谢您的帮助,可以正常加载模型权重了

@talebolano 您好,请问是怎么解决的呀,可以贴下解决代码吗?谢谢!

@HonestyBrave 参照 https://github.com/ultralytics/ultralytics/pull/11787/files 对代码进行修改,随后将训练代码修改为如下:

from ultralytics import YOLOv10
model = YOLOv10('./data/yolov10x.yaml')
model.info()
model.train(data="data/coco.yaml",imgsz=1280,epochs=250,device="0,1,2,3,4,5,6,7",batch=32,lr0=0.005,pretrained="yolov10x.pt")

talebolano avatar May 31 '24 15:05 talebolano

感谢您的帮助,可以正常加载模型权重了

@talebolano 您好,请问是怎么解决的呀,可以贴下解决代码吗?谢谢!

@HonestyBrave 参照 https://github.com/ultralytics/ultralytics/pull/11787/files 对代码进行修改,随后将训练代码修改为如下:

from ultralytics import YOLOv10
model = YOLOv10('./data/yolov10x.yaml')
model.info()
model.train(data="data/coco.yaml",imgsz=1280,epochs=250,device="0,1,2,3,4,5,6,7",batch=32,lr0=0.005,pretrained="yolov10x.pt")

好的,太谢谢你了@talebolano

HonestyBrave avatar Jun 01 '24 07:06 HonestyBrave