本文观看目标检测 YOLOv5 开源代码项目调试与讲解实战【土堆 x 布尔艺数】_哔哩哔哩_bilibili视频来部署yolov5环境。

问题1:pycocotools工具包安装问题,参照视频2解决Windows平台下pycocotools错误(目标检测 YOLOv5 开源代码项目调试与讲解实战【土堆 x 布尔艺数】_哔哩哔哩_bilibili

问题2:下载失败yolov5s.pt文件,因为github为外网可能无法访问可能导致下载失败,可自行去 https://github.com/ultralytics/yolov5/releases/download/v6.1/yolov5s.pt下载(如果下载5.0版本就不会报问题3、4错误,此链接为作者提供链接)放在yolov5-5.0文件夹下即可

问题3:Can't get attribute 'SPPF' on <module 'models.common' from 'D:\\code\\yolov5-5.0\\models\\common.py'>

解决:由于视频使用的5.0版本权重已经更新到6.0版本了(个人理解)所以报错,去6.0版本里面的model/common.py里面找到SPPF的类(代码如下)把它拷到自己这个5.0版本的model/common.py里面,这样自己的代码就有这个类了,还要导入一个warnings(高亮部分)包就可以了

 1 class SPPF(nn.Module):
2 # Spatial Pyramid Pooling - Fast (SPPF) layer for YOLOv5 by Glenn Jocher
3 def __init__(self, c1, c2, k=5): # equivalent to SPP(k=(5, 9, 13))
4 super().__init__()
5 c_ = c1 // 2 # hidden channels
6 self.cv1 = Conv(c1, c_, 1, 1)
7 self.cv2 = Conv(c_ * 4, c2, 1, 1)
8 self.m = nn.MaxPool2d(kernel_size=k, stride=1, padding=k // 2)
9
10 def forward(self, x):
11 x = self.cv1(x)
12 with warnings.catch_warnings():
13 warnings.simplefilter('ignore') # suppress torch 1.9.0 max_pool2d() warning
14 y1 = self.m(x)
15 y2 = self.m(y1)
16 return self.cv2(torch.cat([x, y1, y2, self.m(y2)], 1))

问题4:The size of tensor a (60) must match the size of tensor b (56) at non-singLeton dimension 3

解决:这是因为5.0的版本权重下载了个6.1的版本权重,所以不匹配,
可去https://github.com/ultralytics/yolov5/releases/download/v5.0/yolov5s.pt下载,放在yolov5-5.0文件夹下即可

yolov5学习遇到的困难的更多相关文章

  1. 归纳学习(Inductive Learning),直推学习(Transductive Learning),困难负样本(Hard Negative)

    归纳学习(Inductive Learning): 顾名思义,就是从已有训练数据中归纳出模式来,应用于新的测试数据和任务.我们常用的机器学习模式就是归纳学习. 直推学习(Transductive Le ...

  2. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  3. DeepLearning学习(1)--多层感知机

    想直接学习卷积神经网络,结果发现因为神经网络的基础较弱,学习起来比较困难,所以准备一步步学.并记录下来,其中会有很多摘抄. (一)什么是多层感知器和反向传播 1,单个神经元 神经网络的基本单元就是神经 ...

  4. lecture14-RBM的堆叠、修改以及DBN的决策学习和微调

    这是Hinton的第14课,主要介绍了RBM和DBN的东西,这一课的课外读物有三篇论文<Self-taught learning- transfer learning from unlabele ...

  5. 很不错的jQuery学习资料和实例

    这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...

  6. STM32学习笔记(五) USART异步串行口输入输出(轮询模式)

    学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...

  7. Deep Learning(1)-Introduction学习总结

    学习DL搁置很久了,终于下定决心开始咯~~ Deep Learning(Ian Goodfellow&&Yoshua Bengio&&Aaron Courville)- ...

  8. 你应当如何学习C++(以及编程)(转载)

    你应当如何学习C++(以及编程)(rev#1) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Javascript是世界上最受误解的语言,其实 ...

  9. paper 53 :深度学习(转载)

    转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...

  10. [翻译]深度学习的机器(The learning machines)

    学习的机器 用大量的数据识别图像和语音,深度学习的计算机(deep-learning computers) 向真正意义上的人工智能迈出了一大步. Nicola Jones Computer Scien ...

随机推荐

  1. windows 服务删除或停止

    1.命令行删除 cmd 管理员模式 net start 服务名   开启服务   net stop 服务名   停止服务   sc delete 服务名      删除服务      sc confi ...

  2. HP DC7800 升级CPU出现:Missing or Invalid Processor Microcode Update —— 解决方案:更新主板BIOS

    1.所需文件在这个网盘里面:链接:https://pan.baidu.com/s/140DI2SyRmPf0Q-ikXcJMcQ 提取码:yjth 2.这个问题的解决参考了:https://h3043 ...

  3. windwos11没有Hyper-V的解决方法

    我的系统是windows11家庭版,程序添加这就没有hyper-v,但是可以手动添加,把下面这个脚本修改后缀.cmd即可(如:hyper-v.cmd),不会的可以直接下载我这个文件. Hyper-v执 ...

  4. 【面试题】 webpack面试篇

    1.与webpack类似的工具还有哪些?谈谈你为什么选择webpack? grunt 优点:出现的比较早,第一代打包工具 缺点:配置项太多,只有一个配置文件,而且不同的插件可能有自己的配置字段,学习成 ...

  5. Cannot read properties of null (reading ‘insertBefore‘)

    一.报错现象 vue3 + element plus 项目,本地启动时,页面进行所有操作都正常:部署到test环境后,数据驱动DOM变化的操作会导致如下报错. 二.可能原因及解决方案 经过分析出现报错 ...

  6. liunx常用命令必备,持续更新

    inux中的命令的确是非常多,但是只需要掌握我们最常用的命令足够完成我们的工作了. 1.切换超级用户与普通用户 默认登录的是普通用户权限显示$符从普通用户切换超级用户权限:sudo su输入密码 从超 ...

  7. CentOS 7.9 环境下构建 Python 3.9

    sudo yum -y update sudo yum -y install yum-utils sudo yum-builddep -y python3 curl -O https://www.py ...

  8. 关于easyocr、paddleocr、cnocr之比较

    关于easyocr.paddleocr.cnocr之比较 EasyOCR 是一个使用 Java 语言实现的 OCR 识别引擎(基于Tesseract).借助几个简单的API,即能使用Java语言完成图 ...

  9. Python_基础_Print_转义字符和原字符

    转义字符和原字符 print('hello\nworld') #转义功能的首字母 n-->newline的首字母表示换行 print('hello\tworld') #\t即表示一个制表位 pr ...

  10. Selenium私房菜系列9 -- Selenium RC服务器命令行参数列表【VV】

    使用示例: java -jar selenium-server.jar [-interactive] [options] -port <nnnn>: selenium服务器使用的端口号(默 ...