目录
一、前言
因为我没有学过pytorch,所以看源码也是一头雾水,不过大概看懂的是yolo是对pytorch的再次封装,封装得很好,让我们无需对pytorch了解,也可以快速上手,训练自己的模型,进行目标检测!还可以获得不错的检测效果。
我简单过了一遍源码,再去添加注意力机制的时候,就明白了许多,知道为什么要添加
下一次添加的时候,我也知道哪几个地方需要修改了
所以,建议没有看过yolo源码的话,还是建议看看,不然跟着改注意力容易出错哟!
注意力机制是比较好添加的,反正我也了解,直接跟着博主们的教程修改就完事了
然后去跑模型,看看有没有涨点,涨了就好,没有涨的话,就换一个注意力机制教程~
(我这是急于求成)(我只想水一个毕设)(┭┮﹏┭┮)
二、注意力机制添加
1、 什么是注意力机制:
2、引子(先跟着教学视频修改):
这里我跟着博主修改了,完全没有问题,用的yolo自带的注意力机制
3、添加ShuffleAttention、ECA、EffectiveSE、SE:
Yolov8改进---注意力机制:ShuffleAttention、ECA、EffectiveSE、SE - 知乎
我改了一个ShuffleAttention,完美运行
4、添加EMA:
这个我用了,涨点了,涨了5个点,所以我就用这个了
5、还有其他的可以去github上找找,还有好几个,我找不到了
三、源码简单了解
YOLOv8模型详细解释,逐行debug讲解:
YOLOv8模型详细解释,逐行debug讲解,真的太细了,小白也能听懂!!!后续将更改网络模型结构。_哔哩哔哩_bilibili
- 这个视频直接开始讲yolo里面的网络模型如何读配置的
- 然而没有提到yolo的一个高内聚!
- 也就是yolo的所有调用都是从这里进入的!(下图所示)
yolo用了python中许多的魔术方法,很难理解,我都是靠chatGPT慢慢翻译,强行理解
唉,路漫漫其修远兮啊!
1、YOLO类中的——私有Model类
根据
task_map
字典中的映射关系实例化相应的模型、训练器、验证器和预测器。实例化出的YOLO对象——中的私有model类
2、在哪来初始化的网络模型
3、注释版下载
我自己写的yolo源码注释版:
4、笔记下载
https://wwm.lanzout.com/isyZD1p3puyj
密码:hoab