本人在用YOLOv5进行物体检测时,使用使用detect.py文件时无法调用gpu,下载了pytorch的gpu版本后代码运行会报错,错误信息说是CUDA环境不正确,为此整理了一下CUDA和pytorch环境的安装。
(由报错可知,
detect.py选项无法运行并不是因为 gpu 环境未配置好,而是不能使用 gpu ,所以下载好 gpu 版本后,python detect.py --weights yolov5s.pt --source 0 --device cpu依然可以使用detect.py)
CUDA的版本安装
CUDA下载
在安装 CUDA 之前,先通过
nvidia-smi在环境中的命令提示符中查询 CUDA 的最高版本号,如下图所示,只要 CUDA 的版本不高于 CUDA Version 即可,故而我选择下载12.1版本的 CUDA。

本人windows11系统,如下图白标所示下载 CUDA12.1版本。
官网默认给的 12.3版本的CUDA ,如果要下载其他版本,可以去 CUDA Toolkit Archive

CUDA安装
先安装 NVIDIA 安装包 cuda_12.1.0_531.14_windows.exe 文件
进入 NVIDIA安装程序 后,同意并继续 ,然后选择 自定义 ,然后一直默认点 下一步 ,然后在选择安装位置时本人安装在了自定义的文件路径里,继续 下一步。


出现如下图情况,本人选择 I understand 然后继续下载。

安装结束后,如果系统变量中有 CUDA_PATH 的路径,并且使用 cmd 命令
nvcc -V可以看到如下图所示的信息,则说明 CUDA 安装成功。


如果想在 anaconda 虚拟环境中下载 cuda,则可以使用命令:
conda install -c nvidia cuda-nvcc== (“==”后为你想要的cuda版本号,可以通过 conda search -c nvidia cuda-nvcc 查询)
cuDNN安装
GPU 加速可以用到cuDNN库,有需要可以去 cuDNN网址 下载
如果要下载历史版本,点击红框里的链接即可。作者本人结合安装的 CUDA12.1版本 选择了CUDA 12.X版本进行下载。

将下载好的文件解压缩,并把文件夹里的全部文件复制到cuda自定义安装的文件夹里,然后全部替换。


YOLOv5安装
如果下载速度太慢或者访问不到的话,下方是
百度网盘分享
链接:https://pan.baidu.com/s/1GAg15xMwZpPpZp_-JJFLew?pwd=0308
可以直接在 yolov5-master 文件夹下 pip install -r requirements.txt ,这样安装的 torch 是 cpu 版本
PyTorch的GPU版本安装
进入 PyTorch官网
根据自己的电脑系统和下载的 CUDA 版本,选择相对应的命令。
想选择以前的版本,可以去 Previous versions of PyTorch

pip list 后 torch 库如下图所示,则说明
GPU版本的 torch 安装完成。

更正:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
按照官方给的 pytorch12.1 版本并不匹配我的 cuda12.1,重新按照上述命令下载 11.8 版本后,可以调用GPU。(可能是12.1之间亦有差异)
文章讲述了作者在使用YOLOv5进行物体检测时遇到的CUDA和GPU问题,发现detect.py无法调用GPU,通过安装CUDA12.1和cuDNN,以及调整PyTorch版本(11.8)来确保与CUDA兼容,最终解决CPU版本运行的问题。
642

被折叠的 条评论
为什么被折叠?



