从零开始完成Yolov5目标识别(一)准备工作
目录
一、环境配置Pytorch+CUDA+cuDNN
1. 安装CUDA和cuDNN
1.1 查看显卡驱动对应的CUDA版本
1.2 CUDA和cuDNN的安装与验证
2. 在虚拟环境中安装pytorch
2.1 创建虚拟环境
2.2在虚拟环境中安装pytorch
二、Yolov5源码测试
1. 下载源码并安装依赖项:
2. 测试
一、环境配置Pytorch+CUDA+cuDNN
YOLO的环境配置真的异常繁琐,刚上大学那会儿很多次想学各种深度学习,几乎每一次都倒在环境配置上。
1. 安装CUDA和cuDNN
1.1 查看显卡驱动对应的CUDA版本
建议在把显卡驱动更新到最新。
好用的显卡真的非常重要!GTX850M和RTX3080比起来真的天壤之别。
要安装现版本yolov5就要安装对应的版本的pytorch(我记得是1.9版本以上),而该版本的pytroch对应的CUDA(我记得好像的11.1)对应的显卡驱动相当新,几乎无法避免地要更新显卡驱动(甚至换一张好的显卡!)
右击桌面可以查看英伟达驱动设置-》帮助-》组件可以查看当前显卡驱动对应的CUDA版本,安装的CUDA版本不能高于显示版本。
确定好CUDA版本后查找对应的cuDNN版本。
![](/assets/blank.gif)
1.2 CUDA和cuDNN的安装与验证
CUDA下载后是安装包,cuDNN是文件,分别安装完毕后复制cuDNN的bin,include,lib到CUDA的同名文件夹。
添加环境变量:
环境变量生效后win+r+cmd输入:
nvcc -V
注意!!!这里的V是大写!!!
若能:
则CUDA已经顺利安装!
在CUDA文件夹下的\extras\demo_suite文件夹shift+右键打开PowerShell,执行.\bandwidthTest.exe,若显示CUDA在N卡上运行则cuDNN也同样安装成功!
2. 在虚拟环境中安装pytorch
考虑到纷繁复杂的环境配置,强烈建议在anaconda的虚拟环境中安装pytorch避免损坏其他环境。
2.1 创建虚拟环境
在命令提示符中键入:
conda create -n name python=3.8 anaconda
name是环境名称,python=3.8是要在虚拟环境中使用的python版本
启动虚拟环境:
activate name
关闭虚拟环境:
deactivate
查看anaconda中的虚拟环境:
conda info --e
带*号的是当前正在运行的虚拟环境。
2.2在虚拟环境中安装pytorch
pytorch官网提供的版本有限,pip下载超慢非常容易出错,强烈建议在这里搜索对应的pytorch版本下载
一定要注意对应的CUDA和python版本,同时建议下载1.9以上版本避免YOLO和部分python包不支持。
![](/assets/blank.gif)
下载完成后进入虚拟环境pip install安装.whl文件
验证pytorch是否安装成功:
import torch as t
t.__version__
若返回:
则安装成功。注意!成功安装之后的返回值一定包括CUDA版本,若返回值不包括cu或者显示的是cpu(特别是在反复安装之后)则表示torch或CUDA的版本装错了,要重新检查一遍!
二、Yolov5源码测试
1. 下载源码并安装依赖项:
源码下载地址
源码根目录下有一个requirement.txt的文件夹,在项目根目录打开命令提示符,用pip install -r安装其中的依赖项。
这里我碰到了一个很离谱的错误:UnicodeDecodeError: ‘gbk’ codec can’t decode byte
一开始以为是python解析有问题,修改了UTF编码,文件路径也不包含中文,但依然报错,最后解决方法:
win-》设置-》时间和语言-》语言-》管理语言设置-》更改系统区域设置
重启电脑-》运行cmd键入:
chcp 65001
才解决了pip报错的问题(而我不知道问什么……)
2. 测试
安装完依赖项之后下载权重文件(这里也可以不用预先下载,在测试时若yolo没有识别到权重文件,会自动进行下载)
新版的yolov5不再在根目录下附带权重文件夹了,下载后的.pt文件可以直接放在项目根目录下。
在根目录下激活虚拟环境,键入:
python detect.py --source ./data/images/ --weights ./yolov5s.pt --conf 0.4
开始利用预先下好的(这里是yolov5s)进行测试
然后打开runs-》detect-》exp,出现这两张经典图像:
也可以将自己的图片或视频放入data下文件夹中,修改上述命令能得到对应的测试结果:
到这里使用yolov5的所有前期准备工作就全部完成了~
从零开始完成Yolov5目标识别(一)准备工作相关推荐
- 从零开始完成YOLOv5目标识别(七)一种完成目标计数的简单方法
往期文章: 从零开始完成YOLOv5目标识别(六)用接续训练完成大规模数据集训练(以FLIR为例) 从零开始完成YOLOv5目标识别(五)一种扩充数据集的方式 从零开始完成Yolov5目标 ...
- 从零开始完成Yolov5目标识别(四)封装一个跨设备的YOLOv5检测软件
往期文章 从零开始完成YOLOv5目标识别(三)用PyQt5展示YOLOv5的识别结果从零开始完成Yolov5目标识别(二)制作并训练自己的训练集 从零开始完成Yolov5目标识 ...
- 深度学习之yolov5目标识别全过程记录(纯小白)
项目场景: 遇到一个中文验证码,想到又是一个学习的机会,马上研究了下深度学习 解决过程 验证码包含干扰线.字体倾斜 一.干扰线 第一想法就是去除干扰线,搞了半天效果并不好,要么去掉干扰线同时将字体也去 ...
- 超详细从零开始安装yolov5
第一步:安装Anconda - Anconda环境搭建 后面的所以操作都需要在anconda的yolo的环境下进行的, https://www.anaconda.com/products/indivi ...
- GitHub上YOLOv5开源代码的训练数据定义
GitHub上YOLOv5开源代码的训练数据定义 代码地址:https://github.com/ultralytics/YOLOv5 训练数据定义地址:https://github.com/ultr ...
- yolov5s 预训练模型_GitHub上YOLOv5开源代码的训练数据定义
GitHub上YOLOv5开源代码的训练数据定义 代码地址:https://github.com/ultralytics/YOLOv5 训练数据定义地址:https://github.com/ultr ...
- Yolov5自学笔记之二--在游戏中实时推理并应用(实例:哈利波特手游跳舞小游戏中自动按圈圈)
上一篇帖子我已经自学了Yolov5的基本流程,并运用yolov5进行图片.视频.摄像头.网络视频流等多种方式的推理,这些结合到实际工作中就可以有很广泛的应用了.但是还有一类情况,就是在电脑中的某个程序 ...
- 使用YOLOV5训练自己的数据集(以王者荣耀为例)
注:本文只是记录笔者使用yolov5训练自己的数据集的实现过程,不讲原理,如果想学原理请移步点击量比较高的大佬博客,笔者只是大二本科生,如有问题还请多多指教! 一,什么是yolov5? "Y ...
- 【Scratch】从零开始的卡牌游戏 #0 起点
#1已更新: [Scratch]从零开始的卡牌游戏 #1 准备工作 最近,在我用Java开发完一款下载器后, 我又不知道该写点什么了...... 就在我万愁莫展之际 突然,我想到: 要不然我自己开发一 ...
最新文章
- 有奖评选 | 2020年的AI技术公开课,你想听到哪些干货?
- Spring Boot + BeetlSQL + H2数据库项目整合
- c 输出空格_Python编程:案例详解输出函数print
- redis的info指令详解
- 从支付宝面试题谈:怎样有效减少用户咨询的客服成本
- arm poky linux,Solved: Re: arm-poky-linux - NXP Community
- document.body 与 document.documentElement区别介绍
- String(+) vs StringBuffer(append)
- 高德地图上展示终端信息
- invalid signature什么意思_function是什么意思?
- C# Socket SSL通讯笔记
- ubuntu 11.10 安装RTX 腾讯通
- STC8A 进行USB直接ISP下载
- 打印端口用计算机名,如何设置打印机端口,教您设置电脑打印机端口
- 基于STM32的ESP8266获取心知天气数据
- JS获取ul中li的值同步到搜索框
- UltraISO制作U盘启动盘安装Win10系统
- 心电图ECG常用滤波器之陷波器
- Python代码编译,py文件编译为pyc文件
- 难逾3000元门槛大关——国产手机的无奈困局
热门文章
- 全平台安卓源码预置GMS方法 / 全平台安卓源码预置谷歌服务方法
- 关于音频情感分类的随笔(1)
- 用selenium爬当当网商品信息
- 孩子视力差,戴近视眼镜也无济于事,这是怎么回事?
- 基于粒子群算法的微电网优化调度应用研究(一、摘要及绪论)
- Latex排版使用大全
- 特殊染色切片颜色识别(机器学习)
- 第11章组件装饰和视觉效果-DecoratedBox装饰盒子-边框圆角处理
- 规模最小的计算机网络至少有几台,【单选题】按照网络规模大小定义计算机网络,其中规模最小的是
A. 广域网 B. Internet C. 城域网 D. 局域网...
- 计算机主机配置一般有机箱主板cpu,现在的电脑主流配置_现在电脑CPU主流配置哪几种,请说明下它们的...