Yolov8添加无参数注意力
实验添加SimAM注意力机制
源码地址: https://github.com/ZjjConan/SimAM
修改位置:
1.yolov8中新建simam_module.py文件,保存源码
复制mmdetection/mmdet/models/backbones/attentions/simam_module.py
在tasks.py文件下导入代码模块
2.修改yaml文件,加入simam_module模块。
(上述yaml将simam_module添加到了第10层)后续大于10层的都加1.
3.测试yaml文件是否可行。在目录.\ultralytics-main下创建文件test-model.py,在变量CFG中指定刚刚yaml文件的绝对路径或相对路径,执行python文件,若为pass,则表明添加成功;
test-model.py
-
Yolov8添加1参数(一个通道数)注意力
-
实验添加一个通道数注意力机制EMA
源码地址:https://github.com/yoloonme/ema-attention-module
修改位置:
1.yolov8中新建EMA_attention_module.py文件,保存源码
2.在tasks.py文件中导入EMA模块,并添加两行代码:
elif m in {EMA}: args = [ch[f]]
-
3.修改yaml文件,加入simam_module模块,后续层数加1.
- 测试同前
-
Yolov8添加2参数(二个通道数)注意力
-
实验添加二个通道数注意力机制GAM
源码地址:即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)
修改位置:
- 1.yolov8中新建GAM_Attention_module.py文件,保存源码
- 2.在tasks.py文件中导入GAM模块,并对添加部分代码。
-
elif m in {GAM_Attention}: args = [ch[f], *args]
- 3.修改yaml文件,加入GAM_Attention模块,后续层数相应修改。
-
(使用test_model.py查看原始yolov8的yaml文件的具体通道数就可以得出32、64和128。)
-
修改层数。
-
测试: