YOLO视觉检测应用入门篇 (CUDA环境安装补充)

CUDA环境安装补充
之前写过YOLO训练的device选择,简单说明了下CUDA的安装。
这里再补充一下

CUDA安装

CUDA安装和之前的没有变化,请参考原来的内容

NOTE
需要加入环境变量PATH

Pytorch CUDA

上一篇没有详细介绍这一步,今天补充一下。
YOLO需要使用CUDA,必须使得Pytorch也是有CUDA的版本。
默认安装Ultralytics时,如果未安装Pytorch,会自动安装CPU版本的Pytorch
Pytorch官网
Get Started或点击下面的链接进入下载界面
Pytorch下载界面
Pytorch下载选择
上面的地址提供最新版本的Pytorch下载
pip安装比如:

1
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

其中的cu118可以改为自己的CUDA版本,比如cu124,cu126

WARN
只能修改更高的版本,低版本的请见下方介绍

低版本CUDA

举例如果CUDA是11.7版本,可以将上述地址只修改cu118为cu117可行吗?
答案是不可以
因为Pytorch的版本不对应了。
那应该如何下载呢?
在上述下载界面,还有一个install previous versions of PyTorch链接
在这个界面,可以搜索cu117,可以搜索到具体的命令
比如:

1
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

或者

1
pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu117

NOTE
Pytorch的版本需要和YOLO版本对应
YOLOV8要求Pytorch在1.7.0以上

手动下载安装包

NOTE
如果需要手动下载安装包,请确保安装全完整的依赖库
比如torch, torchaudio等

手动下载地址
进入后搜索 cu117
然后会看到比如:

1
2
3
4
5
6
7
8
cu117/torch-2.0.1%2Bcu117-cp310-cp310-linux_x86_64.whl
cu117/torch-2.0.1%2Bcu117-cp310-cp310-win_amd64.whl
cu117/torch-2.0.1%2Bcu117-cp311-cp311-linux_x86_64.whl
cu117/torch-2.0.1%2Bcu117-cp311-cp311-win_amd64.whl
cu117/torch-2.0.1%2Bcu117-cp38-cp38-linux_x86_64.whl
cu117/torch-2.0.1%2Bcu117-cp38-cp38-win_amd64.whl
cu117/torch-2.0.1%2Bcu117-cp39-cp39-linux_x86_64.whl
cu117/torch-2.0.1%2Bcu117-cp39-cp39-win_amd64.whl

其中cu117代表是含有CUDA11.7版本的Torch版本。
torch-2.0.1代表torch的版本为2.0.1
cp310-cp310代表支持的python版本从3.10到3.10
linux_x86_64/win_amd64代表操作系统的平台
下载后,通过以下命令安装

1
pip install path\to\file.whl

NOTE
Python的版本也需要对应

cuDNN安装

cuDNN是NVIDIA针对深度神经网络(DNN)开发的‌GPU加速库。
专为优化深度学习算法中的常见算子(如卷积、池化、激活函数等)而设计,显著提升训练和推理性能‌。

cuDNN下载

可以从NVIDIA官网下载
选择对应的版本进行下载

INFO
需要登陆

cuDNN安装

下载cuDNN后解压,将文件夹内的bin\include\lib等所有文件复制到CUDA文件夹下,比如:

1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\

NOTE
CUDA需要加入环境变量PATH

验证

通过下列程序验证pytorch是否能正常调用CUDA和cuDNN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import torch
from torch.backends import cudnn

# 1. 检查CUDA是否可用
cuda_available = torch.cuda.is_available()
print(f"CUDA可用: {cuda_available}")

# 2. 如果CUDA可用,显示详细信息
if cuda_available:
# 显示CUDA版本
print(f"CUDA版本: {torch.version.cuda}") # ‌:ml-citation{ref="1,3" data="citationList"}
# 显示当前显卡名称
print(f"显卡型号: {torch.cuda.get_device_name(0)}") # ‌:ml-citation{ref="1,3" data="citationList"}
# 检查cuDNN是否可用
cudnn_available = cudnn.is_available()
print(f"cuDNN可用: {cudnn_available}") # ‌:ml-citation{ref="2,8" data="citationList"}
# 显示cuDNN版本(需先确保cuDNN可用)
if cudnn_available:
print(f"cuDNN版本: {cudnn.version()}") # ‌:ml-citation{ref="8" data="citationList"}
else:
print("CUDA不可用,请检查驱动或PyTorch安装!") # ‌:ml-citation{ref="1,3" data="citationList"}

YOLO视觉检测应用入门篇 (CUDA环境安装补充)
http://kevin.zone.id/2025/04/16/cuda/
作者
Kevin
发布于
2025年4月16日
许可协议