从零开始完成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)对应的显卡驱动相当新,几乎无法避免地要更新显卡驱动(甚至换一张好的显卡!)

从零开始完成Yolov5目标识别(一)准备工作_第1张图片

右击桌面可以查看英伟达驱动设置-》帮助-》组件可以查看当前显卡驱动对应的CUDA版本,安装的CUDA版本不能高于显示版本。

确定好CUDA版本后查找对应的cuDNN版本。

从零开始完成Yolov5目标识别(一)准备工作_第2张图片 网页打开特别慢,同时也不建议使用镜像下载,所以大家可以直接查看对应版本在网络上自行搜索下载。

1.2 CUDA和cuDNN的安装与验证 

CUDA下载后是安装包,cuDNN是文件,分别安装完毕后复制cuDNN的bin,include,lib到CUDA的同名文件夹。

添加环境变量:从零开始完成Yolov5目标识别(一)准备工作_第3张图片

 环境变量生效后win+r+cmd输入:

nvcc -V

 注意!!!这里的V是大写!!!

若能:

从零开始完成Yolov5目标识别(一)准备工作_第4张图片

 则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

从零开始完成Yolov5目标识别(一)准备工作_第5张图片

 带*号的是当前正在运行的虚拟环境。

2.2在虚拟环境中安装pytorch

pytorch官网提供的版本有限,pip下载超慢非常容易出错,强烈建议在这里搜索对应的pytorch版本下载

一定要注意对应的CUDA和python版本,同时建议下载1.9以上版本避免YOLO和部分python包不支持。

从零开始完成Yolov5目标识别(一)准备工作_第6张图片 cu对应CUDA版本,cp对应python版本

 下载完成后进入虚拟环境pip install安装.whl文件

验证pytorch是否安装成功:

import torch as t
t.__version__

若返回:

从零开始完成Yolov5目标识别(一)准备工作_第7张图片

 则安装成功。注意!成功安装之后的返回值一定包括CUDA版本,若返回值不包括cu或者显示的是cpu(特别是在反复安装之后)则表示torch或CUDA的版本装错了,要重新检查一遍!

二、Yolov5源码测试

1. 下载源码并安装依赖项:

源码下载地址

源码根目录下有一个requirement.txt的文件夹,在项目根目录打开命令提示符,用pip install -r安装其中的依赖项。

这里我碰到了一个很离谱的错误:UnicodeDecodeError: ‘gbk’ codec can’t decode byte

一开始以为是python解析有问题,修改了UTF编码,文件路径也不包含中文,但依然报错,最后解决方法:

win-》设置-》时间和语言-》语言-》管理语言设置-》更改系统区域设置

从零开始完成Yolov5目标识别(一)准备工作_第8张图片

重启电脑-》运行cmd键入:

 chcp 65001

 才解决了pip报错的问题(而我不知道问什么……)

2. 测试

安装完依赖项之后下载权重文件(这里也可以不用预先下载,在测试时若yolo没有识别到权重文件,会自动进行下载)

新版的yolov5不再在根目录下附带权重文件夹了,下载后的.pt文件可以直接放在项目根目录下。

在根目录下激活虚拟环境,键入:

python detect.py --source ./data/images/ --weights ./yolov5s.pt --conf 0.4

开始利用预先下好的(这里是yolov5s)进行测试

然后打开runs-》detect-》exp,出现这两张经典图像:

从零开始完成Yolov5目标识别(一)准备工作_第9张图片

 也可以将自己的图片或视频放入data下文件夹中,修改上述命令能得到对应的测试结果:

从零开始完成Yolov5目标识别(一)准备工作_第10张图片

 到这里使用yolov5的所有前期准备工作就全部完成了~

你可能感兴趣的:(Yolov5,pytorch,深度学习,人工智能)