PyTorch无法识别NVIDIA驱动以支持CUDA的排查求助
解决PyTorch无法识别GTX 1080 Ti的问题
从你的描述来看,核心问题出在PyTorch的CUDA版本与系统安装的CUDA版本不匹配,再加上环境变量未正确配置、多显卡场景下未指定目标显卡这几个点,下面一步步帮你解决:
1. 修复PyTorch与CUDA版本不匹配的问题
你系统安装的是CUDA 9.1,但通过conda安装的PyTorch是基于CUDA 9.0编译的(py3.7_cuda9.0.176_cudnn7.4.1_1),这会导致PyTorch无法找到适配的CUDA运行库,进而识别不到GPU。
你需要重新安装适配CUDA 9.1的PyTorch 1.0.0版本:
- 优先用conda安装:
conda install pytorch=1.0.0 torchvision cudatoolkit=9.1 -c pytorch - 如果conda源没有对应包,也可以用pip安装适配CUDA9.1的PyTorch 1.0.0版本,具体可参考PyTorch官方的历史版本安装指引。
2. 配置CUDA环境变量
即使安装了CUDA Toolkit,系统也可能无法自动找到对应的库文件,需要手动添加环境变量:
编辑你的~/.bashrc文件(如果使用zsh则编辑~/.zshrc),添加以下内容:
export PATH=/usr/local/cuda-9.1/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH
保存后执行以下命令使配置立即生效:
source ~/.bashrc
3. 指定PyTorch仅使用GTX 1080 Ti
你有两张NVIDIA显卡,其中NVS 310负责双显示器输出,需要让PyTorch只识别GTX 1080 Ti:
- 临时生效:在运行Python代码前,执行以下命令:
(注:export CUDA_VISIBLE_DEVICES=1lspci中GTX 1080 Ti是第二张卡,显卡索引从0开始计数,所以用1来指定它) - 永久生效:可以把上面的命令添加到
~/.bashrc中;或者在Python代码开头直接指定:import os os.environ["CUDA_VISIBLE_DEVICES"] = "1" import torch
4. 验证修复效果
打开新的终端窗口,执行以下命令验证配置是否成功:
python -c 'import torch; print(torch.cuda.is_available()); print(torch.cuda.device_count()); print(torch.version.cuda)'
如果一切正常,应该会输出类似如下内容:
True 1 9.1.85
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

