CUDA检测异常:运行DaGAN代码时GPU未被识别的求助
解决DaGAN运行时CUDA设备加载失败问题
一、先定位问题根源
先运行以下代码确认PyTorch是否真的识别到GPU:
import torch print(torch.cuda.is_available()) print(torch.cuda.device_count()) print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No GPU detected")
如果输出False,说明PyTorch确实没识别到GPU;如果输出True,那问题仅出在模型加载的代码逻辑上。
二、紧急修复:修改模型加载代码
报错明确指向demo.py第165行的torch.load调用,直接修改该行,让模型自动适配当前可用设备:
原代码:
loaded_dict_enc = torch.load('depth/models/weights_19/encoder.pth')
修改为:
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu') loaded_dict_enc = torch.load('depth/models/weights_19/encoder.pth', map_location=device)
如果只想临时用CPU测试,也可以直接写:
loaded_dict_enc = torch.load('depth/models/weights_19/encoder.pth', map_location=torch.device('cpu'))
同时检查代码中其他torch.load的调用(比如加载主checkpoint的位置),统一加上map_location参数,避免重复报错。
三、排查GPU未被识别的深层原因
如果上面的测试代码输出False,按以下步骤排查:
- 检查NVIDIA驱动版本:需安装适配RTX2060且支持CUDA11.3的驱动(建议465.x及以上版本)
- 确认CUDA环境变量配置:
CUDA_PATH需指向C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3PATH中要加入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.3\libnvvp
- 验证conda环境:激活目标环境后运行
conda list,确认pytorch、torchvision版本带有cuda标识(比如pytorch 1.12.1 py3.8_cuda11.3_cudnn8_0) - 重启电脑,确保环境变量生效后再次运行测试代码
四、关于开头的警告信息
开头的权重参数警告不影响核心功能,可忽略;若要消除,需修改torchvision相关调用,将weights参数改为None或官方提供的权重枚举值。
内容的提问来源于stack exchange,提问作者Breyan
相关产品推荐
相关产品推荐

