利用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报错

<think>好的,我现在需要帮助用户了解在没有显卡的情况下如何配置YOLO来使用CPU运行。首先,我需要确认用户的需求:他们可能没有独立显卡,尤其是NVIDIA的GPU,所以无法使用CUDA加速。他们想知道在这种情况下如何配置YOLO,是否有替代方案。 首先,我应该回忆YOLO的运行要求。YOLO通常依赖GPU来加速深度学习模型的推理,尤其是通过CUDA和cuDNN库。但如果没有GPUYOLO确实可以在CPU上运行,尽管速度会慢很多。用户可能需要了解如何修改配置,确保YOLO使用CPU而不是GPU。 接下来,我需要考虑用户提到的引用内容。引用[1]提到创建conda环境,引用[2]是CUDA的安装路径,引用[3]解释了CUDA的作用。用户可能已经尝试过安装CUDA,但因为没有显卡而失败,所以需要避开这些步骤。 我应该分步骤说明配置方法。第步是安装PyTorch的CPU版本,因为YOLO通常基于PyTorch。PyTorch官网提供了CPU版本的安装命令,使用condapip安装时去掉CUDA相关选项。例如,使用`conda install pytorch torchvision torchaudio cpuonly -c pytorch`。 第二步是检查YOLO的配置文件。比如在YOLOv5中,detect.py或train.py可能会默认使用GPU。需要修改代码,强制使用CPU设备,比如设置`device='cpu'`或者通过命令行参数`--device cpu`。 第三步是验证环境是否正确。运行个简单的PyTorch脚本来确认是否检测到CUDA设备。如果输出显示不可用,说明配置成功。 另外,性能优化可能也是用户关心的问题。虽然CPU无法像GPU那样并行处理,但可以建议用户使用轻量级模型(如YOLOv5s),减少输入分辨率,或者使用OpenMP等多线程库来加快速度。还可以提到使用ONNX Runtime或OpenVINO等工具优化CPU推理效率。 用户可能还会遇到依赖项的问题,比如某些库默认需要GPU支持。需要提醒用户确保所有依赖都安装CPU版本,必要时重新安装。 最后,需要生成相关问题,帮助用户进步了解相关主题,比如性能差异、优化方法、其他框架的CPU支持等。 总结,我需要以清晰的步骤说明配置方法,确保用户能够步步操作,同时提供优化建议和相关问题,满足用户深层需求。</think>### 无显卡环境下运行YOLO的CPU配置方案 #### 1. 使用PyTorch CPU版本 YOLO(如YOLOv5/v8)基于PyTorch框架实现,需安装**PyTorch CPU版本**替代GPU版本: ```bash # 创建独立环境(可选) conda create -n YOLO-CPU python=3.8 conda activate YOLO-CPU # 安装PyTorch CPU版本 pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu ``` 这将避免调用CUDA相关依赖[^3]。 #### 2. 修改YOLO配置文件 在YOLO代码中显式指定使用CPU设备: ```python # 在detect.py或train.py中修改设备参数 device = 'cpu' # 强制使用CPU # 或通过命令行参数指定 # python detect.py --device cpu ``` #### 3. 验证环境配置 运行以下Python代码检测计算设备: ```python import torch print(torch.cuda.is_available()) # 应输出False print(torch.device('cuda' if torch.cuda.is_available() else 'cpu')) # 应显示CPU ``` #### 4. 性能优化建议 | 优化方向 | 具体方法 | |----------------|------------------------------------------------------------------------| | 模型轻量化 | 使用YOLOv5s/nano等小型模型 | | 输入分辨率调整 | 降低推理尺寸(如从640x640改为320x320) | | 并行计算 | 启用OpenMP多线程(通过`export OMP_NUM_THREADS=4`设置线程数) | | 推理框架优化 | 转换为ONNX格式后使用ONNX Runtime加速[^1] | #### 5. 替代方案对比 | 方案 | 优势 | 劣势 | |---------------------|---------------------------|---------------------------| | 原生PyTorch CPU | 配置简单 | 速度最慢 | | ONNX Runtime | 推理速度提升20-50% | 需模型转换 | | OpenVINO | 针对Intel CPU深度优化 | 需要额外部署工具链 | | TensorFlow CPU | 适合TF生态用户 | 需修改模型格式 |
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值