训练YOLOv7时CUDA不可用,Visual Studio无法识别已安装的CUDA 11.3
解决YOLOv7训练CUDA不可用及VS无法识别CUDA 11.3的问题
第一步:验证CUDA系统环境是否正常
- 打开命令提示符,执行
nvcc -V,查看是否能输出CUDA 11.3的版本信息。如果无输出或版本不符:- 检查系统环境变量:确认
CUDA_PATH、CUDA_PATH_V11_3已添加到系统变量,且%CUDA_PATH%\bin在Path变量的最前端位置 - 重启命令提示符后再次执行
nvcc -V验证
- 检查系统环境变量:确认
第二步:修复Visual Studio识别CUDA的问题
- 确认VS版本兼容性:CUDA 11.3仅支持VS2017(15.5及以上版本)、VS2019(16.0及以上版本),若VS版本过低需升级
- 重新安装CUDA时选择自定义安装,务必勾选「Visual Studio Integration」组件
- 若已安装CUDA,手动配置VS路径:
- 打开VS,依次点击
工具→选项→项目和解决方案→VC++目录 - 在「包含目录」中添加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\include - 在「库目录」中添加
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64 - 进入
链接器→输入,在「附加依赖项」中添加cudart.lib、cublas.lib等核心CUDA库,或直接添加C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\lib\x64\*.lib
- 打开VS,依次点击
第三步:匹配PyTorch与CUDA版本
- 卸载当前PyTorch,安装适配CUDA 11.3的版本:
(注:若pip无法检索到对应包,可从PyTorch官方渠道获取适配CUDA 11.3的安装命令)pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 - 安装完成后在Python环境中执行以下代码验证:
需确保输出为import torch print(torch.cuda.is_available()) print(torch.version.cuda)True和11.3
第四步:重新启动训练
- 重启命令提示符或开发环境,重新运行
train.py,指定设备参数为0或让程序自动检测设备
内容的提问来源于stack exchange,提问作者Partap
相关产品推荐
相关产品推荐

