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

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot 使用过程中的一些问题

springboot 整合themeleaf template might not exist or might not be accessible by any of the configured Template Resolvers-CSDN博客 页面跳转只写文件名称即可,不要加后缀 RequestMapping("/index") public String index() {return "succes…

光谱数据处理:1.特征波长优选的不同方法与Python实现

首先,我们要理解为什么要对“光谱数据进行特征波长优选”以及这是在干嘛,光谱数据可以想象成一长串的彩色条纹,每种颜色对应一个波长,就像彩虹一样。这些颜色的条纹代表了从某种物质(比如植物、矿石或是食品&#xff0…

课时47:表达式_表达式_数字表达式

3.2.5 数字表达式 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 主要根据给定的两个值,判断第一个与第二个数的关系,如是否大于、小于、等于第二个数。语法解读 n1 -eq n2 相等 n1 -ne n2 不等…

31-k8s集群svc的代理模式-iptables修改为ipvs

一、概述 学到这里,我们都知道,k8s集群的外部网络分发,借助kube-proxy组件来完成; 问题:我们为什么要将代理模式修改为ipvs而不继续使用iptables呐? 因为: 1,iptables底层使用四表五…

读人工不智能:计算机如何误解世界笔记04_数据新闻学

1. 计算化和数据化的变革 1.1. 每一个领域都在进行计算化和数据化的变革 1.1.1. 出现了计算社会科学、计算生物学、计算化学或其他数字人文学科 1.1.2. 生活已走向计算化,人们却一点也没有变 1.2. 在如今的计算化和数据化世界中,调查性新闻的实践必须…

jdk21本地执行flink出现不兼容问题

环境说明:换电脑尝尝鲜,jdk,flink都是最新的,千辛万苦把之前的项目编译通过,跑一下之前的flink项目发现启动失败,啥都不说了上异常 Exception in thread "main" java.lang.IllegalAccessError: …

Scrapy实战

代码: Spider import scrapy from urllib.parse import urljoin from scrapy import Requestclass JiaSpider(scrapy.Spider):name "jia"allowed_domains ["desk.zol.com.cn"]start_urls ["https://desk.zol.com.cn/dongman/"]d…

left join+group by语句性能优化

一、背景 需求:求【昨日触达】、【本周拜访】、【本月活动数】。 背景:三个维度的数据都按日统计在一张表里。 首先想到的就是left join group by。 1.1 优化前语句 selectuser_id,user_name,org_id,org_name,sum(reach_num) dayReachNum,sum(visit_n…

redis未授权与权限获取

Redis默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上,如果在 没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis 以及读取Redis的数据。攻击者在未授权访问Redis的情况下可…

jeesite用字典项配置二级下拉选

1、配置字典项 2、html代码&#xff1a;修改下拉选项框 <div class"col-xs-6"><div class"form-group"><label class"control-label col-sm-4" title""><span class"required">*</span> ${…

ZYNQ:串口-CAN协议转换

前言 目前已经实现zynq的PS-CAN和PL-CAN功能。串口-CAN协议转换是实现以太网-CAN功能的过渡&#xff0c;通过这个流程能够减少后期以太网工程出现问题的频率。阶段性功能目标如下&#xff1a; 实现数据在CAN调试助手和串口调试助手之间的来回转换&#xff0c;从而了解中断机制…

华为云软件开发生产线CodeArts前端DevOps实践

原文链接&#xff1a;CodeArts前端DevOps实践_软件开发生产线 CodeArts_理论实践_DevOps概览 本文主要以CodeArts产品自身为背景&#xff0c;简要介绍一些在前端性能优化方面的优秀实践方法和常见问题。 在开始本文的内容之前&#xff0c;先简单介绍一下华为云CodeArts。Code…

html中的meta 元信息

html中的meta 元信息 1. 配置字符编码 <meta charset"utf-8">2. 针对 IE 浏览器的兼容性配置。 <meta http-equiv"X-UA-Compatible" content"IEedge">3. 针对移动端的配置 <meta name"viewport" content"widt…

MySQL进阶篇2-索引的创建和使用以及SQL的性能优化

索引 mkdir mysql tar -xvf mysqlxxxxx.tar -c myql cd mysql rpm -ivh .....rpm yum install openssl-devel ​ systemctl start mysqld ​ gerp temporary password /var/log/mysqld.log ​ mysql -u root -p mysql> show variables like validate_password.% set glob…

【Flink精讲】Flink状态及Checkpoint调优

RocksDB大状态调优 RocksDB 是基于 LSM Tree 实现的&#xff08;类似 HBase&#xff09; &#xff0c;写数据都是先缓存到内存中&#xff0c; 所以 RocksDB 的写请求效率比较高。 RocksDB 使用内存结合磁盘的方式来存储数据&#xff0c;每 次获取数据时&#xff0c;先从内存中 …

睿尔曼超轻量仿人机械臂—远程文件传输工具使用说明

一、介绍 由于很多开发人员是在Linux下进行开发&#xff0c;但文件资料大多是保存在Windows下&#xff0c;进行文件传输很不方便&#xff0c;所以可通过远程文件传输的方式进行跨系统传输。此类方法有很多&#xff0c;这里讲述的是使用WinSCP工具进行文件远程传输。 WinSCP 是…

Go的CSP并发模型实现M, P, G简介

GMP概念简介 G: goroutine&#xff08;协程&#xff0c;也叫用户态线程&#xff09; M: 工作线程(内核态线程) P: 上下文(也可以认为是cpu&#xff0c;逻辑cpu数量&#xff0c;可以在程序启动的时候设置这个数量&#xff0c;gomaxprocs函数设置) GMP 模型 在 Go 中&#xff…

1504. 统计全 1 子矩形

Problem: 1504. 统计全 1 子矩形 文章目录 思路解题方法复杂度Code 思路 这个问题可以通过压缩数组和单调栈的方法来解决。我们首先遍历矩阵&#xff0c;对于每一行&#xff0c;我们计算出每一列的高度&#xff08;连续的1的数量&#xff09;。然后&#xff0c;我们使用单调栈来…

mysql锁-这条sql加了哪些锁

文章目录 1、 InnoDB的三种行锁2、常见的加锁语句2.1、常见隐式加锁语句2.1、常见显示加锁语句 3、加锁的2条规则4、案例4.1、唯一索引等值查询4.2、唯一索引范围查询4.3、非唯一索引等值查询4.4、非唯一索引范围查询 InnoDB 存储引擎中的行锁的加锁规则。 1、 InnoDB的三种行锁…

04|事务性能优化

4.1大事务的影响 ● 并发情况下&#xff0c;数据库连接池容易被撑爆 ● 锁定太多的数据&#xff0c;造成大量的阻塞和锁超时 ● 执行时间长&#xff0c;容易造成主从延迟 ● 回滚所需要的时间比较长 ● undo log膨胀 ● 容易导致死锁 4.2事务优化 ● 将查询等数据准备操作放…