yolov8学习笔记(三)添加注意力机制+源码简单了解

目录

一、前言

 二、注意力机制添加

 三、源码简单了解

1、YOLO类中的——私有Model类

2、在哪来初始化的网络模型

3、注释版下载 

4、笔记下载


一、前言

因为我没有学过pytorch,所以看源码也是一头雾水,不过大概看懂的是yolo是对pytorch的再次封装,封装得很好,让我们无需对pytorch了解,也可以快速上手,训练自己的模型,进行目标检测!还可以获得不错的检测效果。

我简单过了一遍源码,再去添加注意力机制的时候,就明白了许多,知道为什么要添加

下一次添加的时候,我也知道哪几个地方需要修改了

所以,建议没有看过yolo源码的话,还是建议看看,不然跟着改注意力容易出错哟!

注意力机制是比较好添加的,反正我也了解,直接跟着博主们的教程修改就完事了

然后去跑模型,看看有没有涨点,涨了就好,没有涨的话,就换一个注意力机制教程~

(我这是急于求成)(我只想水一个毕设)(┭┮﹏┭┮)

 二、注意力机制添加

1、 什么是注意力机制:

什么是 Attention(注意力机制)?【知多少】_哔哩哔哩_bilibili

2、引子(先跟着教学视频修改):

注意力机制添加总结_哔哩哔哩_bilibili

这里我跟着博主修改了,完全没有问题,用的yolo自带的注意力机制

3、添加ShuffleAttentionECAEffectiveSESE

Yolov8改进---注意力机制:ShuffleAttention、ECA、EffectiveSE、SE - 知乎

我改了一个ShuffleAttention,完美运行

4、添加EMA

YOLOv8改进:添加EMA注意力机制_efficient multi-scale attention module with cross--CSDN博客文章浏览阅读4.1k次,点赞6次,收藏84次。用YOLOv5x作为骨干CNN在VisDrone数据集上进行目标检测,其中CA, CBAM和EMA注意力分别集成到检测器中。从表2的结果可以看出,CA, CBAM和EMA都可以提高目标检测的基线性能。/EMA.py文件中新建一个名为EMA.py文件,将下述代码复制到EMA.py文件中并保存。本文提出了一种新的跨空间学习方法,并设计了一个多尺度并行子网络来建立短和长依赖关系。EMA的位置可以改变,看个人的数据集效果,改注意编号的变化。运行的时候看框架可以看到EMA说明添加成功。录用:ICASSP2023。_efficient multi-scale attention module with cross-spatial learninghttps://blog.csdn.net/ShawN1022/article/details/132854884

 这个我用了,涨点了,涨了5个点,所以我就用这个了

5、还有其他的可以去github上找找,还有好几个,我找不到了

 三、源码简单了解

YOLOv8模型详细解释,逐行debug讲解:

YOLOv8模型详细解释,逐行debug讲解,真的太细了,小白也能听懂!!!后续将更改网络模型结构。_哔哩哔哩_bilibili

  • 这个视频直接开始讲yolo里面的网络模型如何读配置的
  • 然而没有提到yolo的一个高内聚!
  • 也就是yolo的所有调用都是从这里进入的!(下图所示)

 

yolo用了python中许多的魔术方法,很难理解,我都是靠chatGPT慢慢翻译,强行理解

唉,路漫漫其修远兮啊!

 

1、YOLO类中的——私有Model类

根据 task_map 字典中的映射关系实例化相应的模型、训练器、验证器和预测器

实例化出的YOLO对象——中的私有model类

2、在哪来初始化的网络模型

3、注释版下载 

我自己写的yolo源码注释版:

 ultralytics-注释版.zip - 蓝奏云

4、笔记下载

https://wwm.lanzout.com/isyZD1p3puyj
密码:hoab

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/413140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

QT-Day4

思维导图 作业&#xff1a; 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMessageBox> #include <QTimerEvent>//定时器事件类 #include <QTime> #include <QDebug> #include <QPushButton> #include <QT…

【嵌入式学习】QT-Day4-Qt基础

简单实现闹钟播报&#xff0c;设置时间&#xff0c;当系统时间与设置时间相同时播报语音5次&#xff0c;然后停止。如果设置时间小于当前系统时间&#xff0c;则弹出消息提示框&#xff0c;并清空输入框。 #include "my_clock.h" #include "ui_my_clock.h&quo…

Redis7

摘录 https://github.com/Romantic-Lei/Learning-in-practice/blob/master/Redis/ 官网地址: 英文&#xff1a;Redis 中文&#xff1a;CRUG网站 redis中文文档 安装包&#xff1a;https://redis.io/download/&#xff0c;选择redis7.0版本即可 Redis在线测试地址(不用下载也…

完全卸载IDEA(2024最新)

彻底卸载IntelliJ IDEA 打开控制面板  直接在电脑中搜索控制面板打开。&#xff08;我的电脑是windows11&#xff09; 点击卸载程序 右键卸载 勾选插件和缓存 删除InterIIiJIdea文件夹 文件位置&#xff1a;C:\Users\61916\AppData\Local\JetBrains 其中61916是我电脑…

LoRa终端的主要作用

在当今数字化快速发展的时代&#xff0c;物联网技术正逐渐渗透到我们生活的方方面面。而作为物联网的关键技术之一&#xff0c;Lora终端在其中扮演着至关重要的角色。主要介绍Lora终端的主要作用&#xff0c;揭示其在物联网时代的重要性和应用范围。 一、 LoRa终端的定义&…

CentOS删除除了最近5个JAR程序外的所有指定Java程序

帮我写一个shell脚本&#xff0c;ps -eo pid,lstart,cmd --sort-start_time | grep "pgz-admin"查到的结果&#xff0c;返回的所有进程PID&#xff0c;第六个之上的&#xff0c;全部kill 当然&#xff0c;你可以创建一个简单的Shell脚本来完成这个任务。以下是一个例…

《TCP/IP详解 卷一》第7章 防火墙和NAT

7.1 引言 NAT通常改变源IP和源端口&#xff0c;不改变目的IP和目的端口。 7.2 防火墙 常用防火墙&#xff1a; 包过滤防火墙&#xff08;packet-filter firewall&#xff09; 代理防火墙&#xff08;proxy firewall&#xff09; 代理防火墙作用&#xff1a; 1. 通过代理服务…

R语言空间分析、模拟预测与可视化

随着地理信息系统&#xff08;GIS&#xff09;和大尺度研究的发展&#xff0c;空间数据的管理、统计与制图变得越来越重要。R语言在数据分析、挖掘和可视化中发挥着重要的作用&#xff0c;其中在空间分析方面扮演着重要角色&#xff0c;与空间相关的包的数量也达到130多个。在本…

Spring Boo项目中方法参数对象中字段上存在的自定义注解如何进行拦截解析

一、前言 在Spring Boot项目开发过程中&#xff0c;我们经常会使用到自定义注解的方式进行业务逻辑开发&#xff0c;此时注解我们一般是放在方法或者类上面&#xff0c;通过AOP切面拦截的方式进行自定义业务逻辑填充。但是如果自定义注解放在类的字段上&#xff0c;此时应该如…

C语言中strstr函数的使用!

strstr函数的作用是什么&#xff1f; 查找子字符串 具体直接看下面的这段代码我相信你必明白 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { char *p1 "abcdefghijklmnopqrstuvwxyz"; char* p2 "abc"; char* r…

SocketWeb实现小小聊天室

SocketWeb实现小小聊天室 消息推送的常见方式轮询长轮询SSE&#xff08;server-sent event&#xff09;&#xff1a;服务器发送事件WebSocketWebSocket简介WebSocket API 实现小小聊天室实现流程消息格式客户端-->服务端服务端-->客户端 消息推送的常见方式 轮询 浏览器…

c语言经典测试题4

1.题1 #include <stdio.h>//没有break的话&#xff0c;输入什么都会往下一直执行下去&#xff0c;而且default在最后就会全都执行 int main() {char c;int v0 0, v1 0, v2 0;do{switch (c getchar())// 输入ADescriptor{casea:caseA:casee:caseE:casei:caseI:caseo:…

sklearn.preprocessing.RobustScaler(解释和原理,分位数,四分位差)

提示&#xff1a;sklearn.preprocessing.RobustScaler&#xff08;解释和原理&#xff0c;分位数&#xff0c;四分位差&#xff09; 文章目录 [TOC](文章目录) 一、RobustScaler 是什么&#xff1f;二、代码1.代码2.输出结果 总结 提示&#xff1a;以下是本篇文章正文内容&…

数据结构2月21日

双向链表: func函数&#xff1a; #include <stdio.h> #include <stdlib.h> …

人事|人事管理系统|基于Springboot的人事管理系统设计与实现(源码+数据库+文档)

人事管理系统目录 目录 基于Springboot的人事管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员登录 2、员工管理 3、公告信息管理 4、公告类型管理 5、培训管理 6、培训类型管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、…

AI一键生成3D模型!

一、Genie Genie 是 Luma AI 推出的一个文本到 3D 的生成模型&#xff0c;可以在 10 秒生成 4 款 3D 模型&#xff0c;自动精修后质感非常逼真&#xff0c;目前支持免费使用。 此次的 1.0 版本更新后将生成功能由 Discord 转到了单独的网页&#xff0c;使用起来更方便&#x…

C# 学习第三弹——表达式

表达式操作数运算符 &#xff08;一&#xff09;算数运算符 错误例子&#xff1a;这不是python&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 正确结果&a…

安全防御综合实验

需求&#xff1a; 1、办公区设备可以通过电信链路和移动链路上网&#xff08;多对多的NAT&#xff0c;并且需要保留一个公网IP不能用来转换&#xff09; 2、分公司设备可以通过总公司的移动链路和电信链路访问DMZ区的http服务器 3、分公司内部的客户端可以通过公网地址访问到…

《数据安全销毁实践指南》:企业文件数据保密销毁之人员能力流程技术等干货

数据销毁处理 为了满足合规要求及组织机构本身的业务发展需求&#xff0c;组织机构需要对数据进行销毁处理。因为数据销毁处理要求针对数据的内容进行清除和净化&#xff0c;以确保攻击者无法通过存储介质中的数据内容进行恶意恢复&#xff0c;从而造成严重的敏感信息泄露问题。…

NVM存储设备MTBF介绍

1. 概念 1.1. MTBF MTBF(Mean Time Between Failure)&#xff0c;平均故障间隔时间&#xff0c;也被称为平均无故障时间&#xff0c;是衡量一个产品的可靠性指标&#xff0c;其单位为小时。其定义为&#xff1a;产品在总的使用阶段累计工作时间与故障次数的比值&#xff1a; …