赞
踩
本人在YOLOv8中添加注意力机制发现新的模型,例如将yolov8s.yaml文件更改成为yolov8s-Attention.yaml文件,也就是在C2f里添加了注意力机制。
原文件:
更改后:
训练的py文件就可以写成:
- model = YOLO("yolov8s.pt")
-
- # 使用模型
- model.train(model="yolov8s-Attention.yaml",
- data="VOC2028.yaml",
- epochs=300,
- project='runs/VOC2028/train',
- name='exp-SE',
- resume=False,
- lr0=0.0001,
- lrf=0.001)
但是我们会发现在运行的界面当中并没有添加注意力机制,如图所示:
所以我们需要在源文件中更改,打开ultralytics/engine/model.py,找到train方法,找到如下图这一行:
将这一行画圈的代码改成:
self.trainer.model = self.trainer.get_model(weights=self.model if self.ckpt else None, cfg=self.trainer.model)
然后我们再来测试一下:
发现注意力机制添加成功!!!
所以我们需要进一步看看是否真的添加成功,就需要看看重新开始训练的第一轮能得到什么样的结果:
这里我们发现第一轮的训练结果为0,说明是从头开始训练。
再看看更改后的代码,发现第一轮的训练结果为0.832,说明预训练加载到模型当中了。
yolov8模型以此完成了添加注意力机制并且完成了预训练的加载,谢谢!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。