目录
一、前言
二、注意力机制添加
三、源码简单了解
1、YOLO类中的——私有Model类
2、在哪来初始化的网络模型
3、注释版下载
4、笔记下载
一、前言
因为我没有学过pytorch,所以看源码也是一头雾水,不过大概看懂的是yolo是对pytorch的再次封装,封装得很好,让我们无需对pytorch了解,也可以快速上手,训练自己的模型,进行目标检测!还可以获得不错的检测效果。
我简单过了一遍源码,再去添加注意力机制的时候,就明白了许多,知道为什么要添加
下一次添加的时候,我也知道哪几个地方需要修改了
所以,建议没有看过yolo源码的话,还是建议看看,不然跟着改注意力容易出错哟!
注意力机制是比较好添加的,反正我也了解,直接跟着博主们的教程修改就完事了
然后去跑模型,看看有没有涨点,涨了就好,没有涨的话,就换一个注意力机制教程~
(我这是急于求成)(我只想水一个毕设)(┭┮﹏┭┮)
二、注意力机制添加
1、 什么是注意力机制:
什么是 Attention(注意力机制)?【知多少】_哔哩哔哩_bilibili
2、引子(先跟着教学视频修改):
注意力机制添加总结_哔哩哔哩_bilibili
这里我跟着博主修改了,完全没有问题,用的yolo自带的注意力机制
3、添加ShuffleAttention、ECA、EffectiveSE、SE:
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