(超详细)YOLOV5改进-添加SimAM注意力机制

1、在yolov5/models下面新建一个SimAM.py文件,在里面放入下面的代码

代码如下:

bash 复制代码
import torch
import torch.nn as nn


class SimAM(torch.nn.Module):
    def __init__(self, e_lambda=1e-4):
        super(SimAM, self).__init__()

        self.activaton = nn.Sigmoid()
        self.e_lambda = e_lambda

    def __repr__(self):
        s = self.__class__.__name__ + '('
        s += ('lambda=%f)' % self.e_lambda)
        return s

    @staticmethod
    def get_module_name():
        return "simam"

    def forward(self, x):
        b, c, h, w = x.size()

        n = w * h - 1

        x_minus_mu_square = (x - x.mean(dim=[2, 3], keepdim=True)).pow(2)
        y = x_minus_mu_square / (4 * (x_minus_mu_square.sum(dim=[2, 3], keepdim=True) / n + self.e_lambda)) + 0.5

        return x * self.activaton(y)

2、找到yolo.py文件,进行更改内容

在26行加一个from models SimAM import SimAM, 保存即可

3、找到自己想要更改的yaml文件,我选择的yolov5s.yaml文件(你可以根据自己需求进行选择),将刚刚写好的模块SimAM加入到yolov5s.yaml里面,并更改一些内容。更改如下

运行一下,发现出来了SimAM

结果还没出来呢,还在跑,

跑100个epoch,还不知道跑到啥时候哈哈哈哈!结果后放!

2024/01/10

结果出来了

降了0.00几,继续尝试换别的注意力机制了

相关推荐
水木姚姚13 分钟前
TensorFlow在Microsoft Windows 11下编程
人工智能·windows·python·深度学习·tensorflow·ai编程
B站计算机毕业设计之家13 分钟前
基于python京东商品销售数据分析可视化系统 Django框架 爬虫 大数据(源码)
大数据·爬虫·python·selenium·机器学习·数据分析·django
free-elcmacom15 分钟前
机器学习进阶<1>像侦探一样思考——朴素贝叶斯分类器全解析
大数据·人工智能·python·机器学习·朴素贝叶斯
free-elcmacom15 分钟前
机器学习进阶<4>探索数据中的物以类聚——直观理解k-均值聚类算法
人工智能·python·机器学习·k-means
Sherlock Ma16 分钟前
DeepSeek-Math-V2:自验证数学推理大模型(论文详解)
人工智能·深度学习·语言模型·自然语言处理·数学推理·deepseek
java1234_小锋19 分钟前
Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 位置编码(Positional Encoding)详解与算法实现
深度学习·语言模型·transformer
桃子叔叔32 分钟前
论文翻译:CONSISTENCY-GUIDED PROMPT LEARNING FOR VISION-LANGUAGE MODELS
机器学习·语言模型·prompt
大千AI助手33 分钟前
交叉验证:评估模型泛化能力的核心方法
人工智能·机器学习·交叉验证·大千ai助手·模型选择·loocv·超参调优
轻夏1 小时前
深度学习模型全分类图谱
人工智能·深度学习·分类
i.ajls1 小时前
强化学习入门-5(MAPPO)
笔记·机器学习·强化学习·mappo