利用GPU(CUDA)跑YOLO V5(Windows环境)(一)
一、配置基本软件与环境(十分甚至九分的重要)
Python(3.7-3.9为佳)
参考网址:Download Python | Python.org
不装个人感觉也可以,后面Anaconda配置虚拟环境时会附带Python。
PyCharm(可以装最新版本,有米装Pro,没米装Community够用)
参考网址:Download PyCharm: Python IDE for Professional Developers by JetBrains
Anaconda(笔者在学的时候最头疼的就是这玩意儿)
参考网址:Anaconda | Anaconda Distribution(推荐最新)
你想找老版本也可以进Index of / (anaconda.com)
而且值得注意的一点,Anaconda的安装目录不能有中文、空格或者其他特殊字符,只有英文字母、数字和下划线,否则后续读取时会出现非正常的路径等问题。
安装后配置环境向量,如果你是Windows 10及以上用户,你可以直接在任务栏的搜索框搜索“编辑系统环境变量”,以下版本可以通过传统方法:右键“计算机”点“属性”再点“高级系统设置”就会找到“环境变量”。(如果Windows 10以上用户没开搜索框也可以采用传统方法)
这里我们点击“系统变量”的Path,然后“新建”,参考下图路径(实际为你的Anaconda安装路径)
完成后可以进cmd/powershell测试一下,输入以下内容回车
conda --version
会出现这个:
输入conda也可以,正常的话会出现一大片指令,也证明环境配置完成(节省篇幅就不贴图了)
*关于换源,一般很多人会推荐你装清华源,因为作为国内源的典范资源全下载快。但是清华源下的部分文件会出现配置问题,这个我是推荐酌情考虑,其实速度上我认为还是要取决于你运营商的基础网速。
如果换源的话,请在cmd等终端输入以下命令:
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
验证的话就去找用户文件夹下的.condarc文件(用记事本打开)
二、搭建并激活虚拟环境yolov5
搭建虚拟环境
搭建环境有两种方式,但注意一定要记住虚拟环境的文件路径,后面会用:
①命令行创建(打开cmd等终端,输入以下命令,等待一会儿输入y回车)
conda create -n yolov5 python=3.7
②图形化创建(打开Anaconda Navigator,点击environment,再点击下面的create)
激活虚拟环境
但激活的话就在命令行里了,输入以下代码,就会实现下图效果
conda activate yolov5
但是,如果你遇到要求你初始化终端(例如:conda init cmd.exe ),按照它提示的做,重启cmd后就可以继续激活了。如果遇到其他的错误能找到大神的方案就用,找不到推荐就remake吧(过来人的痛)
想退出来yolov5环境就输入以下代码即可:
conda deactivate
三、安装CUDA并导入Pytorch
注:推荐接下来用到终端的地方都使用管理员身份打开,避免权限不足无法完成部分操作。
参考网站:CUDA 12.0 Release Notes (nvidia.com)(确定CUDA版本)
Start Locally | PyTorch (确定Pytorch安装方式)
安装CUDA(NVIDIA,F**k you)
在此之前,你需要确定你的显卡驱动版本,明确你可以安装的CUDA版本
安装的时候选择自定义安装,选好CUDA模块安装即可。各安装模块会标注版本,已经是新版本的就不要安装。(例如驱动)
一般最新版本的CUDA都会自动配置环境向量,如果没有的话会在后续出现bug,这时需要手动配置。
# 以11.7为例
\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin
\NVIDIA GPU Computing Toolkit\CUDA\v11.7\libnvvp
配置完成后,可以用以下命令验证:
nvcc -V
如图即可视为完成
导入Pytorch(清华源毁一生)
进入Pytorch,如果你的conda已配置清华源,强烈推荐删除该源并在yolov5虚拟环境中使用pip安装
在清华源下安装的Pytorch多为CPU版本,无法调用GPU。
复制最后的代码到配有已激活虚拟环境的终端中,时间视网速而定,出现Successfully即为完成。
可通过下图方式创建py文件验证,没有报错且值为True即为成功(解释器为yolov5)
有任何报错,推荐重装
import torch
print(torch, __version__)
print('GPU', torch.cuda.is_available())
四、配置YOLO V5文件
参考网站:mirrors / ultralytics / yolov5 · GitCode
初步配置
从上述网站下载yolov5-master文件(以.zip打包)
下载后解压,放到你想要的路径中,并在PyCharm中打开整个文件夹
注:路径必须在一个不带中文字符的文件夹下(如果带有中文字符,会使OpenCV的cv2.imread()函数读取不了待检测图片或视频)
配置解释器,解释器为我们最开始配置的yolov5的虚拟环境(内置Python 3.7)
导入虚拟环境路径下的Python解释器(或者导入Anaconda3\Scripts\conda.exe)
完成后右下角会和我上面的白图一样显示“yolov5”
依赖库安装(最容易出事的地方)
点击requirements.txt,不推荐直接用第一行的代码,推荐在yolov5的环境下分别在PyCharm下的终端用pip安装(如果出现没有读写权限则进入管理员模式cmd并激活yolov5环境后使用pip分别安装)
当然,时间长短依然取决于网速
如果编辑器上方出现:“未安装正确的库”,就手动pip逐个安装需要的库
点击detect.py并运行,会在runs\detect\exp生成以下图片
可能会被要求安装Arial.ttf,可能会因为网络问题出现bug,可能会出现各种库的错误
……
参考bug链接:
AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘_upsample object has
在运行yolo5的v5.0版本detect.py时遇到的一些错误_yolov5 detect.py报错
利用GPU(CUDA)跑YOLO V5(Windows环境)(一)相关推荐
- UBUNTU 18.04 GPU + miniconda3 + pytorch + yolo v5 安装测试
安装CUDA10.0 检查系统是否满足要求 有支持CUDA的GPU lspci | grep -i nvidia 支持CUDA的操作系统.(Ubuntu没有问题) 已经安装了合适版本的gcc(CUDA ...
- 二十. 在ROS系统上实现基于PyTorch YOLO v5的实时物体检测
一. 背景介绍 在我前面的博文 十八.在JetsonNano上为基于PyTorch的物体检测网络测速和选型 中,我介绍过在基于Jetson Nano硬件平台和Ubuntu 18.04 with Jet ...
- YOLO v5训练时报fitness错误,求解
在跑yolo v5训练时出现报错 Traceback (most recent call last): File "D:/3.7/yolov5-master/train.py" ...
- yolo v5 NVIDIA Jetson Xavier NX 部署刷机+安环境(2)
安环境 到10.28号,已经快差不多1个月,在我的磨叽之下,终于搞完,成功训练yolov5的detect.py文件,大部分参考了璐璐同学的NX所下环境,还有就是亲临指导了啊哈哈哈,她的文章点这里 1. ...
- 【YOLO】基于Pytorch实现视频中的各种类型的车流量检测(利用GPU加速)
文章目录 车流量检测 导言 环境要求 Anaconda CUDA cudnn YOLO Pytorch Pycharm 步骤 1.训练模型得到权重文件 数据集 2.视频处理 3.目标跟踪方法 4.虚拟 ...
- Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况
Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...
- 基于Windows环境下CPU和GPU版本Tensorflow详细安装过程
基于Windows环境下CPU和GPU版本Tensorflow详细安装过程 一.Tensorflow简介 TensorFlow 是一个开源的.基于 Python 的机器学习框架,它由 Google 开 ...
- java 内存映射文件进程间通讯_[转]Windows环境下利用“共享内存”实现进程间通信的C/C++代码---利用CreateFileMapping和MapViewOfFile...
进程间的通信方式有很多种, 上次我们说了最傻瓜的"共享外存/文件"的方法. 那么, 在本文中, 我们即将学习"共享内存"的方式实现进程间的通信, 这是IPC最快 ...
- windows php cli 后台运行_【续】windows环境redis未授权利用方式梳理
01 Redis未授权产生原因 1.redis绑定在0.0.0.0:6379默认端口,直接暴露在公网,无防火墙进行来源信任防护. 2.没有设置密码认证,可以免密远程登录redis服务 02 漏洞危害 ...
最新文章
- 【Linux】ubuntu下词典软件Goldendict介绍(可屏幕取词)和StarDict(星际译王)的安装...
- 从零开始——电子商务平台01
- [LeetCode]Remove Linked List Elements
- 金陵科技学院计算机开设课程,金陵科技学院各专业介绍
- ThinkPhp知识大全(非常详细)
- apache开启虚拟主机localhost无法访问
- (转)版本管理工具介绍——SVN篇(一)
- Waydev 客户的GitHub 和 GitLab OAuth 令牌被盗,源代码遭访问
- mysql inno_mysql inno优化配置方法
- Ubuntu嵌入式开发环境配置问题集锦(不断更新)
- 如何让百度快速收录自己的wordpress网站
- slk文件转wma_什么是WMA文件(以及如何打开一个文件)?
- Linux查看端口命令
- 宾州州立 计算机 硕士,宾州州立大学公园计算机
- 计算机为动态分区无法安装系统,磁盘动态分区形式的电脑怎么重装系统win10
- 147计算机代表啥,147代表什么意思
- android12.0(S) 通知栏不显示闹钟和静音图标 bug
- GD库的中文问题(推荐)
- 微信小程序page页面下有多余空白区域(解决方法)
- vue之非父子组件通信实现方式
热门文章
- 《Attention Is All Y ou Need》翻译 Ashish Vaswani Noam Shazeer Niki Parmar Jakob etc.
- 全球及中国企业级多级单元(MLC)闪存行业研究及十四五规划分析报告
- mean(求均值),max/min(求最值)
- windows系统命令大全
- 关于linux 僵尸进程
- 为什么我的pycharm创建不了python_[新手向视频]新版PyCharm创建项目为什么会有问题...
- Cookie重名问题处理
- [编辑器]KindEditor 是什么?
- Windows10系统下从库中删除文件夹(保留原始位置的文件)
- RPG游戏-道具系统