yolov5项目增加注意力机制

1. 添加步骤

1.1 models/common.py 加入新增的网络结构

1.2 在models/yolo.py注册组件

1.3 models/yolov5_xxx.yaml 新建一个文件夹,修改模型结构配置

1.3.1 注意力模块的添加位置

注意力机制可以添加在backbone,Neck,Head等部分,常见的有两种,一种是在主干的SPPF前添加一层;二是将backbone中的C3全部替换。不同的位置效果可能不同,需要我们用数据集反复测试。

这就是所谓的调参

1.3.2 修改后续层的参数

当在网络中添加了新的层之后,该层后续层的编号会发生变化。

1. Concat

如原本Concat层的系数也要修改,[-1, 14],[-1, 10] -> [-1, 15], [-1, 11]

2. Detect

同样Detec指定的是[17, 20, 23]层,在添加了SE注意力层之后,就需要对Detect进行修改,[17, 20, 23] -> [18, 21, 24]

1.4 验证是否加入成功

1.5 train.py 修改'--cfg'默认参数,训练时指定模型结构配置文件

2. 增加SE注意力机制

2.1 新增SE模块

放在common.py中

2.2 注册组件

yolo.py

2.3 创建yolov5s_SE.yaml文件

2.3.1 将SE模块写入第9层

2.3.2 修改后续层的参数

Concat

改为

Detect

更改为

3. 验证是否加入成功

修改yolo.py

运行yolo.py 第9层成功加入SE模块

4. 修改train.py

相关推荐
工程师老罗7 分钟前
Pytorch如何加载和读取VOC数据集用来做目标检测?
人工智能·pytorch·目标检测
测试_AI_一辰7 分钟前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程
Henry-SAP8 分钟前
SAP(ERP) 组织结构业务视角解析
大数据·人工智能·sap·erp·sap pp
龙腾亚太8 分钟前
航空零部件加工变形难题破解:数字孪生 + 深度学习的精度控制实战
人工智能·深度学习·数字孪生·ai工程师·ai证书·转型ai
Coding茶水间10 分钟前
基于深度学习的输电电力设备检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
是Dream呀10 分钟前
基于深度学习的人类活动识别模型研究:HAR-DeepConvLG的设计与应用
人工智能·深度学习
jkyy201423 分钟前
健康座舱:健康有益赋能新能源汽车开启移动健康新场景
人工智能·物联网·汽车·健康医疗
冀博29 分钟前
从零到一:我如何用 LangChain + 智谱 AI 搭建具备“记忆与手脚”的智能体
人工智能·langchain
AI周红伟33 分钟前
周红伟:中国信息通信研究院院长余晓晖关于智算:《算力互联互通行动计划》和《关于深入实施“人工智能+”行动的意见》的意见
人工智能
橘子师兄1 小时前
C++AI大模型接入SDK—ChatSDK封装
开发语言·c++·人工智能·后端