yolov8学习笔记(三)添加注意力机制+源码简单了解

目录

一、前言

 二、注意力机制添加

 三、源码简单了解

1、YOLO类中的——私有Model类

2、在哪来初始化的网络模型

3、注释版下载 

4、笔记下载


一、前言

因为我没有学过pytorch,所以看源码也是一头雾水,不过大概看懂的是yolo是对pytorch的再次封装,封装得很好,让我们无需对pytorch了解,也可以快速上手,训练自己的模型,进行目标检测!还可以获得不错的检测效果。

我简单过了一遍源码,再去添加注意力机制的时候,就明白了许多,知道为什么要添加

下一次添加的时候,我也知道哪几个地方需要修改了

所以,建议没有看过yolo源码的话,还是建议看看,不然跟着改注意力容易出错哟!

注意力机制是比较好添加的,反正我也了解,直接跟着博主们的教程修改就完事了

然后去跑模型,看看有没有涨点,涨了就好,没有涨的话,就换一个注意力机制教程~

(我这是急于求成)(我只想水一个毕设)(┭┮﹏┭┮)

 二、注意力机制添加

1、 什么是注意力机制:

什么是 Attention(注意力机制)?【知多少】_哔哩哔哩_bilibili

2、引子(先跟着教学视频修改):

注意力机制添加总结_哔哩哔哩_bilibili

这里我跟着博主修改了,完全没有问题,用的yolo自带的注意力机制

3、添加ShuffleAttentionECAEffectiveSESE

Yolov8改进---注意力机制:ShuffleAttention、ECA、EffectiveSE、SE - 知乎

我改了一个ShuffleAttention,完美运行

4、添加EMA

YOLOv8改进:添加EMA注意力机制_efficient multi-scale attention module with cross--CSDN博客文章浏览阅读4.1k次,点赞6次,收藏84次。用YOLOv5x作为骨干CNN在VisDrone数据集上进行目标检测,其中CA, CBAM和EMA注意力分别集成到检测器中。从表2的结果可以看出,CA, CBAM和EMA都可以提高目标检测的基线性能。/EMA.py文件中新建一个名为EMA.py文件,将下述代码复制到EMA.py文件中并保存。本文提出了一种新的跨空间学习方法,并设计了一个多尺度并行子网络来建立短和长依赖关系。EMA的位置可以改变,看个人的数据集效果,改注意编号的变化。运行的时候看框架可以看到EMA说明添加成功。录用:ICASSP2023。_efficient multi-scale attention module with cross-spatial learninghttps://blog.csdn.net/ShawN1022/article/details/132854884

 这个我用了,涨点了,涨了5个点,所以我就用这个了

5、还有其他的可以去github上找找,还有好几个,我找不到了

 三、源码简单了解

YOLOv8模型详细解释,逐行debug讲解:

YOLOv8模型详细解释,逐行debug讲解,真的太细了,小白也能听懂!!!后续将更改网络模型结构。_哔哩哔哩_bilibili

  • 这个视频直接开始讲yolo里面的网络模型如何读配置的
  • 然而没有提到yolo的一个高内聚!
  • 也就是yolo的所有调用都是从这里进入的!(下图所示)

yolo用了python中许多的魔术方法,很难理解,我都是靠chatGPT慢慢翻译,强行理解

唉,路漫漫其修远兮啊!

1、YOLO类中的——私有Model类

根据 task_map 字典中的映射关系实例化相应的模型、训练器、验证器和预测器

实例化出的YOLO对象——中的私有model类

2、在哪来初始化的网络模型

3、注释版下载 

我自己写的yolo源码注释版:

 ultralytics-注释版.zip - 蓝奏云

4、笔记下载

https://wwm.lanzout.com/isyZD1p3puyj
密码:hoab

猜你喜欢

转载自blog.csdn.net/Pan_peter/article/details/136298804