YOLOv8添加SE注意力机制有效提升检测精度(已跑通)
SE注意力机制概念
SSqueeze-and-Excitation (SE) 注意力机制是一种专注于增强网络模型对不同特征通道的重要性理解的机制。它通过对通道维度上的特征进行动态调整,增强了网络对重要特征的敏感性。
源码
import numpy as np
import torch
from torch import nn
from torch.nn import initclass SE(nn.Module):def __init__(self, channel=512,reduction=16):super().__init__()self.avg_pool = nn.AdaptiveAvgPool2d(1)self.fc = nn.Sequential(nn.Linear(channel, channel // reduction, bias=False),nn.ReLU(inplace=True),nn.Linear(channel // reduction, channel, bias=False),nn.Sigmoid())def init_weights(self):for m in self.modules():if isinstance(m, nn.Conv2d):init.kaiming_normal_(m.weight, mode='fan_out')if m.bias is not None:init.constant_(m.bias, 0)elif isinstance(m, nn.BatchNorm2d):init.constant_(m.weight, 1)init.constant_(m.bias, 0)elif isinstance(m, nn.Linear):init.normal_(m.weight, std=0.001)if m.bias is not None:init.constant_(m.bias, 0)def forward(self, x):b, c, _, _ = x.size()y = self.avg_pool(x).view(b, c)y = self.fc(y).view(b, c, 1, 1)return x * y.expand_as(x)
第一步,在ultralytics/nn/modules/conv.py文件内添加注意力源码

第二步,在ultralytics/nn/modules/init.py文件内,按下图标识的地方添加注意力名
第一处:在from .conv import()处最后,添加注意力名称

第二处:在__all__={}处最后,添加注意力名称

第三步,在ultralytics/nn/tasks.py文件内,
首先,在from ultralytics.nn.modules import 处添加SE

其次,键盘点击CTRL+shift+F打开查找界面,搜索elif m in ,在该函数下方有一堆的elif m in XXX,在某一个elif下方添加如下代码
elif m in {SE}:args = [ch[f], *args]

第五步,在ultralytics/cfg/models/v8文件下,复制yolov8.yaml,并改成自己的名字(如yolov8-SE.yaml),做出如下修改:

运行结果如下 ,表示成功。

相关文章:
YOLOv8添加SE注意力机制有效提升检测精度(已跑通)
SE注意力机制概念 SSqueeze-and-Excitation (SE) 注意力机制是一种专注于增强网络模型对不同特征通道的重要性理解的机制。它通过对通道维度上的特征进行动态调整,增强了网络对重要特征的敏感性。 源码 import numpy as np import torch from torch import nn fro…...
【正点原子K210连载】第三十二章 音频FFT实验 摘自【正点原子】DNK210使用指南-CanMV版指南
第三十二章 音频FFT实验 本章将介绍CanMV下FFT的应用,通过将时域采集到的音频数据通过FFT为频域。通过本章的学习,读者将学习到CanMV下控制FFT加速器进行FFT的使用。 本章分为如下几个小节: 32.1 maix.FFT模块介绍 32.2 硬件设计 32.3 程序设…...
Android Studio修改默认.m2与Gradle user home缓存位置
Android Studio修改默认.m2与Gradle user home缓存位置 1、修改Gradle user home的方法: android studio配置默认.gradle路径_android studio gradle在哪-CSDN博客文章浏览阅读2k次。当android studio新建一个项目时候,默认的.gradle路径均认为是在c盘的…...
BFS解决单源最短路问题
目录 迷宫中离入口最近的出口 最小基因变化 单词接龙 为高尔夫比赛砍树 迷宫中离入口最近的出口 题目 思路 使用宽度优先遍历解决这道题,需要一个二维数组标记是否被遍历过,也需要一个队列辅助完成宽度优先遍历,类似于水波纹一样&#x…...
Linux运维、Windows运维常用命令,保存起来当手册用
文章目录 一、centos基本命令1、升级内核到最新版本2、文件句柄数限制优化3、ssh、sftp、scp等远程命令4、find文件查找5、vi命令 二、windows常用操作 一、centos基本命令 1、升级内核到最新版本 # 1、查看内核版本 [rootlocalhost ~]# cat /etc/centos-release CentOS Linu…...
FTP协议-匿名用户登录 从0到1
前言 日常大家可能接触web漏洞比较多而对其他端口及协议不那么了解,其实其他协议漏洞在渗透中也同样重要只是平时可能接触得不多。本文将介绍FTP协议、FTP匿名用户登录及其具体流程分析和自动化利用demo。 FTP简介 FTP是File Transfer Protocol(文件传…...
【UltraVNC】私有远程工具VNC机器部署方式
旨在解决监控端非固定IP的计算机A,远程连接受控端非固定IP的计算机B。如果没有独立公网IP,是不能直接远程桌面的,所以需要一个服务器来中转双方的数据。 一、UltraVNC下载和安装 ----------免费开源远程控制工具——UltraVNC 官网:Home - UltraVNC VNC OFFICIAL SITE, R…...
五大无线领夹麦克风误区科普:领夹麦杂音干扰不耐用问题必须规避
在选购无线领夹麦克风的道路上,不少新手因经验不足,容易落入性能低下的产品陷阱。这些麦克风不仅信号不稳定,音质差强人意,甚至在使用一段时间后出现信号衰减、杂音加重等现象。这并非偶然,而是市场中充斥着大量品质参…...
适合金融行业的企业级跨网文件交换系统
在金融领域,文件交换平台的作用不可小觑,它关乎数据的保密性、稳定性,并且必须遵守严格的合规标准。那么,一个适合金融业跨网文件交换的系统应该具备哪些特质,又是如何满足这些需求的呢?镭速跨网文件交换系…...
vba发邮件的几种方法:新人如何快速上手?
vba发邮件的几种方法有哪些!vba自动化邮件发送技巧! 对于新人来说,快速掌握VBA发邮件的几种方法,不仅可以节省大量时间,还能提高工作质量。AokSend将详细介绍几种常见的VBA发邮件的方法,帮助新人快速上手&…...
豆瓣评分8.7!Python pandas创始人亲码的数据分析入门手册!
在众多解释型语言中,Python最大的特点是拥有一个巨大而活跃的科学计算社区。进入21世纪以来,在行业应用和学术研究中采用python进行科学计算的势头越来越猛。 近年来,由于Python有不断改良的库(主要是pandas),使其成为数据处理任…...
关于linux上root连接mysql时遇到的一点小问题以及rsync通过ssh的文件同步传输以及免密码传输的实现
一、关于linux上root连接mysql时遇到的一点小问题 今天因为工作需要,需要使用root连接一下很久没有连接过的mysql服务器了,一看找不到root密码了,记得当时我在搭建整个mysql主从的时候,我明明把root密码记录在了txt文件上的&#…...
一、Socket介绍(也叫套接字)
一、定义 通过IP地址或者端口 将两个电脑连接起来; Socket是网络通信最常用的,除了这个还有HTTP; Http是一个弱联网;Socket用于长连接,使用的是Tcp; 除了这个还有一个SuperSocket,是对Socket…...
虚拟现实技术的发展现状如何?
虚拟现实(VR)技术自2016年被广泛认为是元年之后,经历了快速增长和随后的调整期。目前,VR行业正处于快速发展期,技术不断进步,应用场景持续拓展。2024年VR技术发展现状概述: 1、行业发展阶段&am…...
实时美颜技术的实现:视频美颜SDK与直播美颜工具的最佳实践
视频美颜SDK与直播美颜工具的诞生,为主播美颜一需求提供了技术支撑。接下来,笔者将深入探讨实时美颜技术的实现及其在视频美颜SDK与直播美颜工具中的最佳实践。 一、实时美颜技术的核心原理 具体来说,主要包括以下几个步骤: 1.…...
Java中的司机抢单实现:并发问题与解决方案
文章目录 司机抢单的基础实现乐观锁解决并发问题 总结 在共享经济的浪潮中,像滴滴打车这样的服务已经成为我们生活中不可或缺的一部分。对于司机和平台来说,抢单是一个关键环节,如何在保证系统高效运行的同时,确保抢单过程的公平与…...
2、Unity【基础】Mono中的重要内容
Unity基础 MonoBehavior中的重要内容 文章目录 Mono中的重要内容1、延迟函数1、延迟函数概念2、延迟函数使用3、延迟函数受对象失活销毁影响思考1 利用延时函数实现计时器思考2 延时销毁 2、协同程序1、Unity是否支持多线程2、协同程序概念3、协同程序和线程的区别4、协程的使用…...
C++11:右值引用、移动语义和完美转发
目录 前言 1. 左值引用和右值引用 2. 引用范围 3. 左值引用的缺陷 4. 右值引用的作用 5. 右值引用的深入场景 6. 完美转发 总结 前言 C11作为一次重大的更新,引入了许多革命性的特性,其中之一便是右值引用和移动语义。本文将深入探讨其中引入的…...
【大模型部署及其应用 】RAG检索技术和生成模型的应用程序架构:RAG 使用 Meta AI 的 Llama 3
目录 RAG检索技术和生成模型的应用程序架构1. **基本概念**2. **工作原理**3. **RAG的优势**4. **常见应用场景**5. **RAG的挑战**6. **技术实现**参考RAG 使用 Meta AI 的 Llama 3亲自尝试运行主笔记本与文档应用聊天关键架构组件1. 自定义知识库2. 分块3. 嵌入模型4. 矢量数据…...
python 速成指南
第一节. 过程式 python python 的一个特点是不通过大括号 {} 来划定代码块,而是通过缩进。如果和 C/C++ 类比的话,就是在左括号的地方不要换行,然后用一个冒号 (:) 替代, C/C++ 大括号内部的东西,缩进一个 tab 或者几个空格都可以(但需要保持一致),比如: if (x <…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
git: early EOF
macOS报错: Initialized empty Git repository in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/.git/ remote: Enumerating objects: 2691797, done. remote: Counting objects: 100% (1760/1760), done. remote: Compressing objects: 100% (636/636…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
【Veristand】Veristand环境安装教程-Linux RT / Windows
首先声明,此教程是针对Simulink编译模型并导入Veristand中编写的,同时需要注意的是老用户编译可能用的是Veristand Model Framework,那个是历史版本,且NI不会再维护,新版本编译支持为VeriStand Model Generation Suppo…...
