当前位置: 首页 > news >正文

《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.lryc.cn/news/178392.html

相关文章:

  • [2023.09.25]:Rust编写基于web_sys的编辑器:输入光标再次定位的小结
  • 估计、偏差和方差
  • 正态分布的概率密度函数|正态分布检验|Q-Q图
  • 【接口测试】HTTP协议
  • 【重新定义matlab强大系列十四】基于问题求解有/无约束非线性优化
  • MySQL 索引介绍和最佳实践
  • 区块链(7):p2p去中心化之初始化websoket服务端
  • 原型、原型链、判断数据类型
  • pycharm中配置torch
  • 什么是Times New Roman 字体
  • 企业会议新闻稿怎么写?会议类新闻稿如何撰写?
  • 算法 滑动窗口最大值-(双指针+队列)
  • Java 并发编程面试题——BlockingQueue
  • Ubuntu Nacos开机自启动服务
  • C++核心编程--继承篇
  • 小程序 解决自定义弹窗滚动穿透问题,解决弹窗背景内容滚动问题
  • win10搭建Selenium环境+java+IDEA(2)
  • 抢先一步感受未来:Raspberry Pi 5正式发布!
  • 【教程】Ubuntu自动查看有哪些用户名与密码相同的账户,并统一修改密码
  • 基于 Python+DenseNet121 算法模型实现一个图像分类识别系统
  • 贪心算法-点灯问题
  • 软件测试之单元测试自动化入门基础
  • 93 # 实现 express 错误处理中间件
  • PHP 创建 MySQL 表
  • 中兴R5300 G4服务器iSAC管理员zteroot密码遗失的重置方法及IPV6地址启用设置
  • 大数据分布式处理框架Hadoop
  • echarts学习总结
  • 与初至波相关的常见误解
  • screenfull全屏、退出全屏、指定元素全屏的使用步骤
  • 问题 - 谷歌浏览器 network 看不到接口请求解决方案