当前位置:   article > 正文

YOLOv8添加注意力机制后可以从预训练模型开始训练_改进yolov8,在训练时候还用原来的模型吗

改进yolov8,在训练时候还用原来的模型吗

        本人在YOLOv8中添加注意力机制发现新的模型,例如将yolov8s.yaml文件更改成为yolov8s-Attention.yaml文件,也就是在C2f里添加了注意力机制。

        原文件:

        

        更改后:

        

        训练的py文件就可以写成:

  1. model = YOLO("yolov8s.pt")
  2. # 使用模型
  3. model.train(model="yolov8s-Attention.yaml",
  4. data="VOC2028.yaml",
  5. epochs=300,
  6. project='runs/VOC2028/train',
  7. name='exp-SE',
  8. resume=False,
  9. lr0=0.0001,
  10. 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模型以此完成了添加注意力机制并且完成了预训练的加载,谢谢!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/352015
推荐阅读
相关标签
  

闽ICP备14008679号