本人在用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之间亦有差异)