yolov5学习遇到的困难
2024-09-19 21:42:14
本文观看目标检测 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文件夹下即可
最新文章
- jQuery 2.0.3 源码分析Sizzle引擎 - 词法解析
- 数组的方法 Array.map();Array.every()和Array.some();数组的indexof();检测是否是数组isArray(obj);
- 到程序集里取DLL
- IntelliJ和tomcat中的目录结构
- js获取各种宽高方法
- 利用Qt Assistant 定制帮助文档
- Sharded实现学习-我们到底能走多远系列(32)
- [Oracle]配置path使oracle备份/导入数据命令exp/imp起作用
- UIWebView加载不了页面, 但在电脑的浏览器上可以打开
- Eclipse之报错信息及其解决方案
- alpha冲刺总结随笔
- Python【每日一问】14
- 内联函数:static inline 和 extern inline 的含义
- CentOS7配置防火墙
- Process 开启子进程 的两种方式、join控制子进程、守护进程
- ThinkPhp 使用PhpExcel导出导入多语言文件
- kali linux wifi破解(aircrack)
- 使用C语言简单模拟Linux的cat程序
- Atitit &#160;404错误的排查流程总结&#160;v3 qaf
- arpspoof与其他几款工具的使用