⒈查看电脑显卡配置
可通过类似联想电脑管家-硬件配置-显卡,查看本电脑的显卡配置,使用GPU训练模型时必须使用英伟达显卡(NVIDIA),如下图显卡型号为NVIDIA GeForce RTX 5070 Laptop GPU:
⒉查看显卡版本
首先确认电脑有独立显卡,并且是NVIDIA显卡,可用“Win+R-CMD”下执行指令:nvidia-smi
此时可以查看到CUDA的最高支持版本(12.8),表明本电脑具有独立显卡,可进行GPU训练条件:
需要注意:
⑴驱动版本决定CUDA版本,驱动版本越高,可安装的CUDA版本越高;
⑵ CUDA向下兼容。
⒊安装显卡驱动
在网址https://www.nvidia.cn/geforce/drivers/下,根据上述步骤1中显卡型号检索对应显卡驱动如下图,根据用途选择NVIDIA Studio 驱动程序:
也即驱动“610.47-desktop-win10-win11-64bit-international-nsd-dch-whql”。
⒋CUDA安装
在网址:CUDA Toolkit Archive | NVIDIA Developer下载对应版本CUDA,根据网址:NVIDIA - CUDA | onnxruntime介绍确保ONNX Rtime、CUDA、cuDNN之间的兼容性符合下表:
鼠标右键以“管理员权限运行(A)”“cuda_12.8.0_571.96_windows.exe”按默认C盘安装,点击“OK”:
根据提示继续,直到下图选择“自定义(C)高级”,点击“下一步”:
勾选下图全部选项,点击“下一步”:
保持默认,点击“下一步”:
点击“下一步”:
勾选“为NVIDIA应用程序创建桌面快捷方式”,点击“关闭”:
安装完成后可以再次在cmd里输入命令:“nvcc -V”查看,如下显示即安装成功(由于CUDA向下兼容,当电脑安装有高版本时,可忽略对应低版本安装):
⒌Anaconda Prompt环境安装
在Anaconda Prompt环境下进行yolo模型训练,不考虑安装Pycharm。
安装“Miniconda3-latest-Windows-x86_64.exe”,是Anaconda的简易版,满足yolo的常规训练使用,是一个轻量级的Python包管理工具和环境管理工具(网址:https://www.anaconda.com/),安装过程如下:
以管理员权限(A)运行Miniconda3,点击“Next”:
点击“I Agree”:
选择“Just Me(recommended)”,点击“Next”:
更改路径为D盘并缩短安装路径(否则后文配置路径轨迹可能失败),点击“Next”:
全部勾选,点击“Install”:
安装完成,点击“Next”:
不勾选,点击“Finish”:
根据安装路径,配置如下文件的路径的环境变量:右键“我的电脑-属性”在弹出界面检索“本机系统环境变量”,在弹出界面依次点击“环境变量(N)-系统环境变量-Path-编辑-新建”,新建如下路径并点击“确定”保存:
① D:\ProgramData\Anaconda3
② D:\ProgramData\Anaconda3\Scripts
③ D:\ProgramData\Anaconda3\Library\bin
⒍CUDNN安装
在网址:cuDNN 档案 |NVIDIA 开发者下载(需要创建账号下载)。
根据上述下载的CUDA版本(12.8.0)选择“下载cuDNN v8.9.7(2023年12月5日),适用于CUDA 12.x”下“Windows 本地安装程序(zip)”
将得到的压缩文件“cudnn-windows-x86_64-8.9.7.29_cuda12-archive.zip”进行解压,解压后得到下图三个文件夹(即bin、include和lib):
全选复制进cuda的文件夹中进行覆盖替换,替换完成后即cudnn安装完成。按照本文教程安装的cuda的文件夹默认在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8目录下(如下图,点击“是”):
根据安装路径,配置如下文件的路径的环境变量:右键“我的电脑-属性”在弹出界面检索“本机系统环境变量”,在弹出界面依次点击“环境变量(N)-系统环境变量-Path-编辑-新建”,新建如下路径并点击“确定”保存:
①C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin
②C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include
③C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\lib\x64
配置环境如下图,由于在环境变量可能无法保存,为此在“Win+R-CMD”下执行指令:setx PATH "%PATH%;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\include;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\lib\x64"
此时执行如下表示环境变量设置成功:
⒎验证
如下图打开“命令提示符”,找到如下路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\extras\demo_suite 下的 bandwidthTest.exe 和 deviceQuery.exe。将“bandwidthTest.exe” 和 “deviceQuery.exe”分别托人命令提示符并“Enter”,分别显示如下表示安装成功:
⒏安装GPU版本的PyTorch
选择与 cuda 对应的 pytorch 版本。如果安装的 cuda 版本大于 pytorch 支持的版本,请选择向下版本的(网址:https://pytorch.org/get-started/locally/?_gl=1*16dk9fu*_up*MQ..*_ga*NjE0Njc1OTQuMTc4MDQ5MjY5Mg..*_ga_469Y0W5V62*czE3ODA0OTI2OTEkbzEkZzEkdDE3ODA0OTI3MTgkajMzJGwwJGgw)。
复制:pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126粘贴在命令提示符,如下图进行安装:
完成安装后显示如下图,并将“C:\Users\WangF\AppData\Roaming\Python\Python39\Scripts”添加在环境变量的Path中:
在电脑下方“搜索”输入Anaconda Prompt (Anaconda3)弹出如下界面,安装辅助安装包“pip install pandas matplotlib notebook”安装如下:
测试PyTorch是否安装成功:
管理员权限打开Anaconda Prompt (Anaconda3)中输入“jupyter notebook”并“Enter”,显示如下界面:
并显示如下界面点击“Files-New-Python3(ipykemel)”:
输出如下图,点击“Untitled”,输入重命名如“jianwen0513”,点击“重命名”:
如下图在输入框输入“import torch”:
按“shift+enter”执行并提供第行代码框,表示PyTorch启动运行:
输入“torch.randn(3,4)” 按“shift+enter”执行如下图表示生成3行4列随机数成功:
输入“torch.cuda.is_available()”验证GPU是否可用,输出True表示可用:
测试代码如下:
import torch
# -------------------------- 1. 检查 CUDA 是否可用 --------------------------
cuda_available = torch.cuda.is_available()
print(f"CUDA 可用状态: {'✅ 可用' if cuda_available else '❌ 不可用'}")
if cuda_available:
# -------------------------- 2. 检查 CuDNN 是否可用 --------------------------
cudnn_enabled = torch.backends.cudnn.enabled
print(f"CuDNN 启用状态: {'✅ 已启用' if cudnn_enabled else '❌ 未启用'}")
# -------------------------- 3. 额外信息(可选) --------------------------
print(f"\n📌 额外环境信息:")
print(f"- CUDA 版本: {torch.version.cuda}") # PyTorch 编译时使用的 CUDA 版本
print(f"- CuDNN 版本: {torch.backends.cudnn.version()}") # CuDNN 版本
print(f"- GPU 设备数量: {torch.cuda.device_count()}") # 可用 GPU 数量
print(f"- 当前 GPU 名称: {torch.cuda.get_device_name(0)}") # 第 1 个 GPU 名称
输出如下信息