《YOLOv5:从入门到实战》报错解决 专栏答疑

前言:Hello大家好,我是小哥谈。《YOLOv5:从入门到实战》专栏上线后,部分同学在学习过程中提出了一些问题,笔者相信这些问题其他同学也有可能遇到。为了让大家可以更好地学习本专栏内容,笔者特意推出了该篇专栏答疑,针对同学们在学习过程中所提出的问题进行汇总记录,并不断实时更新,希望能够帮助到大家!🌈 

本专栏涵盖了丰富的YOLOv5算法从入门到实战系列教程,专为学习YOLOv5的同学而设计,堪称全网最详细的教程!该专栏从YOLOv5基础知识入门到项目应用实战都提供了详细的手把手教程,欢迎大家订阅并一并探索!

       目录

🚀1.报错解决

🚀2.专栏答疑

🚀1.报错解决

💥💥报错1

报错内容:

报错内容如下图所示:

解决方案:

train.py文件中,大概324行左右,修改下列代码:

# Backward
scaler.scale(loss).backward()

在原代码的基础上添加一行代码:

# Backward
torch.use_deterministic_algorithms(False) # 添加代码
scaler.scale(loss).backward()

💥💥报错2

报错内容:

FileNotFoundError: [Errno 2] No such file or directory: 'yolov5s.pt'

报错内容如下图所示:

解决方案:

该报错容易发生在新入门的学生中,报错原因是没有准备预训练权重文件。

预训练权重:一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而YOLOv5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。通过如下的图可以获得权重的名字和大小信息,可以预料的到,预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。预训练权重可以通过下列网址进入然后进行下载,本次训练自己的数据集用的预训练权重为yolov5s.pt

说明:♨️♨️♨️

预训练权重网址:Release v5.0 - YOLOv5-P6 1280 models, AWS, Supervise.ly and YouTube integrations · ultralytics/yolov5 · GitHub

💥💥报错3

报错内容:

export GIT_PYTHON_REFRESH=quiet

报错内容如下图所示:

解决方案:

train.py文件开头,添加下列代码:

os.environ["GIT_PYTHON_REFRESH"] = "quiet"

具体如图所示:

💥💥报错4

报错内容:

OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "C:\Users\Lenovo\your_path\pytorch\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll" or one of its dependencies.

报错内容如下图所示:

解决方案:

train.py文件中找到parse_opt函数,调小‘--workers’中的default的值来解决。


🚀2.专栏答疑

💥💥问题1

问题内容:

可以把backbone替换成MobileNetv3以后,再更换成BiFPN的结构吗?

笔者回复:

可以的,我看论文有这么做的,您可以试一下效果。

💥💥问题2

问题内容:

添加了注意力机制后,为什么反而降点了呢?

笔者回复:

添加注意力不起作用无外乎两个原因,一是代码错误,二是注意力不适合。代码错误就不说了,而注意力不适合,需要明白:

注意力本身就是一种特征,通过附加到源特征上,实现一种类似特征增强的效果,因此从原理上讲,添加注意力,即使结果不变好,也不见得变差,但实际却经常遇到结果变差的情况。换一种说法,注意力是一组权重,权重附加到特征上,有增强的也有不增强的,当大量权重附加都达到增强效果,而只有少量特征造成负面影响,注意力就整体上增强了。这也是我们常说的注意力强化有用特征而弱化无用特征的作用,但其实鬼知道它强化的是什么特征,它也不可能强化的都是有用特征。注意力不起作用或者起反作用还与添加位置或者数据集等有关系。

所以,总结就是,对于YOLOv5算法,没有绝对涨点的改进操作,添加注意力机制也是如此,所以添加是否有用,需要多加尝试!


说明:♨️♨️♨️

本篇内容笔者会根据情况实时更新,大家有任何问题欢迎指出!

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

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

相关文章

QT6.5.2编译PostgreSql驱动

一、环境 1、操作系统:win11 2、qt版本:6.5.2 3、PostgreSql版本:14.9 二、下载qbase源码 1、下载地址:https://github.com/qt/qtbase/tree/6.5.2 将下载的源码文件解压指定的的目录,找到src/plugins/sqldrivers根据自己的实…

2023年【安徽省安全员C证】模拟考试题及安徽省安全员C证实操考试视频

题库来源:安全生产模拟考试一点通公众号小程序 2023年【安徽省安全员C证】模拟考试题及安徽省安全员C证实操考试视频,包含安徽省安全员C证模拟考试题答案和解析及安徽省安全员C证实操考试视频练习。安全生产模拟考试一点通结合国家安徽省安全员C证考试最…

Three.js加载360全景图片/视频

Three.js加载360全景图片/视频 效果 原理 将全景图片/视频作为texture引入到three.js场景中将贴图与球形网格模型融合,将球模型当做成环境容器使用处理视频时需要以dom为载体,加载与控制视频动作每次渲染时更新当前texture,以达到视频播放效…

Jenkins 权限管理

关于Role-based Authorization Strategy 使用Jenkins自身的权限管理过于粗糙,无法对单个、一类项目做管理,我们可以使用 Role-based Authorization Strategy插件来管理项目、角色。 首先安装该插件:在Jenkins查看该插件有无安装 在Jenkins-…

基于css变量轻松实现网站的主题切换功能

我们经常看到一些网站都有主题切换,例如vue官方文档。那他是怎么实现的呢? 检查元素,发现点击切换时,html元素会动态的添加和移除一个class:dark,然后页面主题色就变了。仔细想想,这要是放在以前&#xff0…

[ruby on rails] postgres sql explain 优化

一、查看执行计划 sql User.all.to_sql # 不会实际执行查询 puts ActiveRecord::Base.connection.explain(sql)# 会实际执行查询,再列出计划 User.all.explain# 会实际执行查询,再列出计划 ActiveRecord::Base.connection.execute(EXPLAIN (ANALYZE, V…

ToDoList使用自定义事件传值

MyTop与MyFooter与App之间传递数据涉及到的就是子给父传递数据,MyList和MyItem与App涉及到爷孙传递数据。 之前的MyTop是使用props接收App传值,然后再在methods里面调用,现在使用自定义事件来处理子组件和父组件之间传递数据。 图是之前的…

Excel技巧之【锁定工作簿】

Excel工作簿是Excel工作区中一个或多个工作表的集合,我们知道Excel可以设置锁定工作表,防止意外或被他人修改,但可能有小伙伴不知道,Excel工作簿也同样可以设置锁定,防止更改。 那工作簿锁定后会怎么样呢?…

【CTFHUB】SSRF绕过方法之靶场实践(二)

SSRF POST请求 提示信息: 这次是发一个HTTP POST请求.对了.ssrf是用php的curl实现的.并且会跟踪302跳转.加油吧骚年 首先测试了http的服务请求,出现对话框 输入数值后提示:只能接受来自127.0.0.1的请求 右键查看源码发现key值 通过file协…

由union引发的Struct占用内存空间和大小端问题的思考

1. 背景 在看Lua源码的时候,很多地方都用到了union(共用体或者联合体),在定义lua类型的时候,为了以一个结构来包含所有的数据类型,设计了一个 TValue类型,TValue类型最终关联到 Value类型&#…

二、C++项目:仿muduo库实现并发服务器之时间轮的设计

文章目录 一、为什么要设计时间轮?(一)简单的秒级定时任务实现:(二)Linux提供给我们的定时器:1.原型2.例子 二、时间轮(一)思想(一)代码 一、为什…

【C++】C++的IO流

C的IO流 一、C语言的输入与输出二、流是什么三、CIO流1、C标准IO流2、C文件IO流3、stringstream的简单介绍 一、C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量中。p…

raw图片处理软件:DxO PhotoLab 6 mac中文版支持相机格式

DxO PhotoLab 6 mac是一款专业的RAW图片处理软件,适用于Mac操作系统。它具有先进的图像处理技术和直观易用的界面,可帮助用户轻松地将RAW格式的照片转换为高质量的JPEG或TIFF图像。 DxO PhotoLab 6支持多种相机品牌的RAW格式,包括佳能、尼康、…

Rust之自动化测试(二):控制测试如何运行

开发环境 Windows 10Rust 1.72.1 VS Code 1.82.2 项目工程 这里继续沿用上次工程rust-demo 控制测试如何运行 正如cargo run编译您的代码,然后运行生成的二进制文件一样,cargo test在测试模式下编译您的代码,然后运行生成的测试二进制文件…

马尔萨斯《人口原理》读后

200 多年前的书,很多人都说旧的东西过时了,但我觉得它只是被修正了,内核并不过时。毕竟,静态存量分析这本身就不符合现实,用现在的话说,建模就错了,但马尔萨斯的理论核心并不仅仅是一个模型&…

华为多路径软件UltraPath

检查多路径是否安装。 # rpm -qa|grep UltraPath 查看UltraPath软件版本 # upadmin show version 查看物理路径状态。 #upadmin show path 查看虚拟磁盘信息。 #upadmin show vlun 查看逻辑路径状态。 #upadmin show vlun 查看多路径配置。 #upadmin show upconfig 卸载Ul…

brew 安装MySQL 5.7

写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成…

php导出cvs,excel打开数字超过16变科学计数法

今天使用php导出cvs,在excel中打开,某一个字段是数字,长度高于16位结果就显示科学计数法 超过15位的话从第16位开始就用0代替了 查询了半天总算解决了就是在后面加上"\t" $data[$key][1] " ".$value[1]."\t";…

你的游戏项目有这些问题吗?

在移动游戏对高品质画面的要求不断增加的背景下,我们一直专注于移动设备GPU性能的优化,以确保您的游戏体验得以最佳展现。然而,不同GPU芯片之间的性能差异以及由此可能引发的GPU瓶颈问题使得优化工作更加具有挑战性。 因此,在不久…

Spring Boot中配置文件介绍及其使用教程

目录 一、配置文件介绍 二、配置简单数据 三、配置对象数据 四、配置集合数据 五、读取配置文件数据 六、占位符的使用 一、配置文件介绍 SpringBoot项目中,大部分配置都有默认值,但如果想替换默认配置的话,就可以使用application.prop…