YOLOv5-6.1识别中的BUG

1、引言

        时间飞快,技术猛进,YOLOv5从2020年诞生之后,到2022年已经发展到了6.1的版本。YOLOv6和YOLOv7都已经开源,不知道小伙伴们是否有尝试?

2、问题描述及解决方法

        我最近在使用YOLOv5-6.1版本时,遇到了两个BUG,BUG报告的位置都是位于虚拟环境中的依赖包里。以下是相关描述及问题结局方法。

AQ、在使用pip安装依赖包或使用detect.py时,出现了以下报错:

UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0x98 in position 1027: illegal multibyte sequence

AA、解决方法:

        经过反复的debug,发现问题出现在configparser.py的第696行,没有定义encoding,所以,在696行处的open函数中加入参数“encoding=‘UTF-8’”即可。加完之后,第696行处的代码是:

with open(filename, encoding='UTF-8') as fp:

BQ、 运行detect.py时,出现错误:

Upsample‘ object has no attribute ‘recompute_scale_factor‘

BA、解决方法:

        按照报错提示,从末端向前寻找bug,问题出现在usampling.py的第152-153行。修改后的代码为:

def forward(self, input: Tensor) -> Tensor:return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)

CQ、运行detect.py时没有报错,正常产生图片,但是图片中并未有目标检测框。 

CA、解决办法 

        我在帮粉丝进行YOLOv5环境搭建时遇到了这个问题,当时的GPU为N卡1660TI,这个显卡性能还行,但是初次接触时未能找到一个合适的CUDA和Pytorch搭配的版本。最后得出了CUDA使用10.2版本最为稳妥(解决方法一:更换CUDA和Pytorch的版本)。 这位粉丝当时的操作系统是WIndows 11,所以可能和系统也有一定的关系(解决方法二:没什么要求的话还是继续使用Wiodows 10 系统)当时正逢YOLOv5版本更新迭代,所以可能和YOLOv5版本也有一定的关系。(解决方法三:更换YOLOv5源码版本,或者修改部分代码)接下来,我将叙述如何修改detect.py的代码:首先用编辑器打开YOLOv5项目中的detect.py文件,如果版本是YOLOv5-master,请定位到96行,如下图所示:

cudnn.benchmark = True

如此一来,之前的旧问题就得已解决,但是整个推理的时间会变长,所以建议各位在方法一和方法二中进行尝试。

3、感悟

        开源代码能用即可,重在自我的学习和提升,没有必要频繁的git,一旦发现当前git下来的代码能跑,请及时备份!还有安装在base环境下的CUDA或者是Pytorch也没有必要频繁更新,最近看到好多朋友盲目更新YOLOv5版本、CUDA版本、Pytorch版本而踩坑。最后,欢迎大家在评论区友好发言、讨论。 

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

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

相关文章

Pycharm更换清华、阿里、豆瓣软件源提高依赖包下载速度

很多同学都遇到过类似问题:用Pycharm下载某些依赖包时,速度比某度的云盘速度还低,而且还不稳定。我基本上遇不到这样的情况,但是为了日后方便,今天就记录一下更换软件源的两种方式。 一、GUI手动添加软件源 先附上常…

Windows 10系统下如何搭建轻量级目标检测NanoDet-plus环境?

NanoDet与YOLO一样,都是目标检测算法中的经典之作,在NanoDet-plus发布之后,很多CVer都争先恐后地进行尝试,感受其与NanoDet的不同。以上的截图已经将NanoDet-plus的优点完全概括,这里就不再赘述。新的plus版本精度和速…

本博打开方式,请详读

1、友好交流的前提是有礼貌,别直接评论遇到的问题,我最恨白嫖党!!!!!!!!!(咨询时多发几条消息,后台回复更快哦&#xff01…

C / C++ 之整体知识总结,点进来,不后悔!

文章目录1. 程序设计和C语言 算法-程序的灵魂2. 数据的表现形式3. 整型数据与字符型数据 运算符与表达式 数据的输入、输出(scanf、putchar、getchar、printf)4.1 if 与switch 语句(含举例)4.2 逻辑运算符与逻辑表达式4.3 关系运算…

C语言 表白代码(I love you!)

0-127 是 7位ASCII 码的范围,是国际标准。 至于汉字,不同的字符集用的ascii 码的范围也不一样,常用的汉字字符集有GB2312-80、GBK、Big5、unicode 等。 其中GB_2312 字符集是目前最常用的汉字编码标准,windows 95/98/2000 中使用…

Web项目:解决eclipse中jsp文件报错javax.servlet.http.HttpServlet 提示 was not found on the Java Build Path的错误

具体错误如图示如下: 具体结局方案如下: 1、右击web工程(你的项目名字)->属性或Build Path->Java Build Path->Libraries-> Add Libray…->Server Runtime ->Tomcat Server 2、切换到Java Build Path界面中的O…

Eclipse继承HttpServlet出现:HttpServlet cannot be resolved to a type的错误的解决方案

显然是Eclipse找不到相应的包,即javax.servlet 。错误如下: 解决方案如下: 1.打开tomcat所在的文件夹,然后打开apache-tomcat-8.5.43(即你的Apache版本文件),进入目录lib 2.进入后,找到并复制s…

Java全栈体系路线(总结不易,持续更新中)

文章目录Java全栈工程师<font colororange>Java基础基础语法面向对象工具类集合框架序列化反射机制注解文件处理设计模式视频教程文档教程练习题面试题GUI模块多线程模块Socket模块JDBC模块数据库操作起步JDBC执行sql数据库进阶操作JDBC进阶视频教程文档教程JVM教程基础实…

Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean 解决方案

SpringBoot启动时的异常信息 "C:\Program Files\Java\jdk1.8.0_161\bin\java" ......... com.fangxing.javalearning.annotationlearning.ComponentScanApp hello world. ____ _ __ _ _/\\ / ____ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | _…

Huffman编码的设计与实现

文章目录&#xff08;一&#xff09;设计描述&#xff08;二&#xff09;需求分析&#xff08;三&#xff09;详细设计&#xff08;四&#xff09;代码实现与测试&#xff08;五&#xff09;个人总结&#xff08;一&#xff09;设计描述 1.题目描述 设计一个利用哈夫曼算法的编…

C / C++ 经典代码和常考类型

文章目录C语言常考类型经典代码1&#xff09; 兔子问题2&#xff09; 斐波那契数列3&#xff09; 百元买百鸡4&#xff09; 实心菱形5&#xff09; 空心菱形6&#xff09; 十进制转换为二进制7&#xff09; 水仙花8&#xff09; 大数相加9&#xff09; 冒泡排序10&#xff09; …

如何在GitHub上下载开源文件

具体实现步骤 1 . 在本地安装Git,下载地址&#xff1a;点击下载 2 . 下载完成后开始安装&#xff0c;安装过程勾选下面内容&#xff1a; 1.Git Bash here2.Git GUI here 然后一直点击next&#xff0c;安装完成即可。 3 . 在打开的git窗口中输入 git init 4 . 在下载的项目的…

IDEA连接mysql报Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' 的错误

IDEA布置好项目后&#xff0c;连接Mysql&#xff0c;提示时区错误&#xff0c;解决方案如下&#xff1a; 在mysql的命令模式下&#xff0c;输入&#xff1a; set global time_zone8:00;如图所示&#xff1a;

C语言小游戏 ——推箱子

文章目录&#xff08;1&#xff09;内容描述&#xff08;2&#xff09;功能&#xff08;3&#xff09;设计目的&#xff08;4&#xff09;总体设计&#xff08;5&#xff09;明显缺点&#xff08;6&#xff09;个人总结7. 实例实例一实例二实例三实例四实例五&#xff1a;&…

Java GUI 实现登录界面

具体效果图&#xff1a; 详细代码&#xff1a; package java_gui;import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;imp…

C语言 实现登录注册功能

文章目录加载动画实验结果图实验代码加载动画 #include<iostream> #include<windows.h> using namespace std;int main(){cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl<<endl;cout.widen(65);co…

Java小案例(二) 用数组实现增删查改排序

文章目录案例一案例二案例三案例四案例五案例一 Student.Java package curd;public class Student {private String stuid;private String name;private int chinese;private int math;private int english;private int avg;private int sum;public int getAvg() {return avg;…

有趣的一行代码

文章目录爱心曼德勃罗集合打印99乘法表实现快速排序禅语漫画迷宫爱心 print(\n.join([.join([(❤❤❤❤❤❤❤❤❤❤❤❤[(x-y)%12]if((x*0.05)**2(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3<0 else )for x in range(-30,30)])for y in range(15,-15,-1)]))效果图&#xff1…

JDBC实现图书管理小案例

文章目录项目文件结构项目运行效果项目详细代码项目文件下载相关案例案例一案例二案例三案例四案例五案例六案例七案例八项目文件结构 项目运行效果 项目详细代码 JDBCUtils.java package jdbc;import java.sql.*; import com.mysql.jdbc.Driver;public class JDBCUtils {pri…

基于TCP原理,采用Socket通信技术,实现聊天室

文章目录案例一案例二案例三案例四案例五相关案例案例一 Client.java package SocketCode;import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import java.io.*; import …