RTX3060搭配CUDA11.4无法运行Pytorch Yolov4问题求助
问题根因分析
首先明确你提出的两个疑问的答案:
- CUDA 11.4完全支持RTX 3060,你当前使用的470.57.02版本驱动也和CUDA 11.4匹配,
nvidia-smi输出正常说明硬件、驱动层面没有问题。 - 故障核心原因是你使用的Pytorch 1.4版本过老,存在两个不兼容问题:
- Pytorch 1.4最高仅适配CUDA 10.2,完全不支持CUDA 11.x系列版本
- Pytorch 1.4发布时RTX 30系列还未上市,没有内置安培架构(RTX 30系列的GPU架构)的算力支持,运行时无法正确调用显卡计算资源,就会出现加载权重后进程卡住、显存异常飙升的问题。
修复步骤
- 先备份你当前的conda环境,再卸载环境内已安装的pytorch、torchvision、torchaudio相关包
- 选择适配的版本组合安装,推荐两个可选方案:
- 方案1(稳定兼容):安装Pytorch 1.9.0 + 对应CUDA 11.1版本的torchvision,CUDA运行时版本向下兼容,你的驱动支持CUDA 11.4,可以正常运行CUDA 11.1的pytorch版本
- 方案2(匹配现有CUDA 11.4):安装Pytorch 1.12.0及以上的CUDA 11.3/11.4对应版本,对30系显卡适配更完善
- 安装完成后先执行验证命令确认环境正常:
import torch print(torch.cuda.is_available()) # 输出True说明CUDA可用 print(torch.cuda.get_device_name(0)) # 输出RTX 3060说明显卡识别正常 - 重新编译Yolov4依赖的自定义CUDA算子(比如DCNv2等),旧显卡下编译的算子适配旧版本CUDA,无法在新版本环境下运行。
内容的提问来源于stack exchange,提问作者kiu
相关产品推荐
相关产品推荐

