yolov5学习遇到的困难
本文观看目标检测 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学习遇到的困难的更多相关文章
- 归纳学习(Inductive Learning),直推学习(Transductive Learning),困难负样本(Hard Negative)
归纳学习(Inductive Learning): 顾名思义,就是从已有训练数据中归纳出模式来,应用于新的测试数据和任务.我们常用的机器学习模式就是归纳学习. 直推学习(Transductive Le ...
- Java Web 学习路线
实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...
- DeepLearning学习(1)--多层感知机
想直接学习卷积神经网络,结果发现因为神经网络的基础较弱,学习起来比较困难,所以准备一步步学.并记录下来,其中会有很多摘抄. (一)什么是多层感知器和反向传播 1,单个神经元 神经网络的基本单元就是神经 ...
- lecture14-RBM的堆叠、修改以及DBN的决策学习和微调
这是Hinton的第14课,主要介绍了RBM和DBN的东西,这一课的课外读物有三篇论文<Self-taught learning- transfer learning from unlabele ...
- 很不错的jQuery学习资料和实例
这些都是学习Jquery很不错的资料,整理了一下,分享给大家. 希望能对大家的学习有帮助. 帕兰 Noupe带来的51个最佳jQuery教程和实例, 向大家介绍了jQuery的一些基本概念和使用的相关 ...
- STM32学习笔记(五) USART异步串行口输入输出(轮询模式)
学习是一个简单的过程,只要有善于发掘的眼睛,总能学到新知识,然而如何坚持不懈的学习却很困难,对我亦如此,生活中有太多的诱惑,最后只想说一句勿忘初心.闲话不多扯,本篇讲诉的是异步串行口的输入输出,串口在 ...
- Deep Learning(1)-Introduction学习总结
学习DL搁置很久了,终于下定决心开始咯~~ Deep Learning(Ian Goodfellow&&Yoshua Bengio&&Aaron Courville)- ...
- 你应当如何学习C++(以及编程)(转载)
你应当如何学习C++(以及编程)(rev#1) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Javascript是世界上最受误解的语言,其实 ...
- paper 53 :深度学习(转载)
转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...
- [翻译]深度学习的机器(The learning machines)
学习的机器 用大量的数据识别图像和语音,深度学习的计算机(deep-learning computers) 向真正意义上的人工智能迈出了一大步. Nicola Jones Computer Scien ...
随机推荐
- Camera | 5.Linux v4l2架构(基于rk3568)
上一篇我们讲解了如何编写基于V4L2的应用程序编写,本文主要讲解内核中V4L2架构,以及一些最重要的结构体.注册函数. 厂家在实现自己的摄像头控制器驱动时,总体上都遵循这个架构来实现,但是不同厂家.不 ...
- [引擎开发] 深入GPU和渲染优化(基础篇)
https://blog.csdn.net/ZJU_fish1996/article/details/109269448
- 一个厂区宿舍管理后台密码爆破 - selenium版
title: 某厂区宿舍管理后台密码爆破-selenium测试 author: 杨晓东 permalink: 某厂区宿舍管理后台密码爆破-selenium测试 date: 2021-10-02 11: ...
- Java学习笔记(一)环境安装与java基础
学习笔记01 两年前学的Java,现在已经忘得差不多了,跟着狂神说Java的视频从头开始学,希望能救一救ww 一.JDK JRE JVM 1. JDK java development kit 2. ...
- linux ubuntu 连接mysql
linux ubuntu server sudo apt update -ysudo apt list --upgradable sudo apt upgrade -ysudo apt install ...
- 403. 青蛙过河 (Hard)
问题描述 403. 青蛙过河 (Hard) 一只青蛙想要过河. 假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有). 青蛙可以跳上石子,但是不可以跳入水中. 给你石 ...
- NFS服务器搭建与autofs自动挂载
一.NFS文件详解 1. /data/ 表示需要共享的目录. 2. IP 表示允许哪个客户端访问. 3. IP 后括号 ...
- python连接数据库系列
1.Python连接MySQL 具体详情参考:MySQL笔记 Python连接MySQL需要借助pymysql,安装pymysql pip install pymysql 1.1 pymysql连接数 ...
- React父组件如何调用子组件方法,访问子组件State
/** * * Author: shujun * Date: 2020-10-25 */ import React from 'react'; import {message} from 'antd' ...
- Vue项目中怎样把参数(对象)转成formdata传给后端? 封装函数 亲测有效
普通传参格式如下: 想要的formData参数格式如下: 首先封装参数(对象)转换为formData格式 getFormData(object) { const formData = new Form ...