Ubuntu CUDA11.4环境下Conda始终装PyTorch-CPU而非GPU版的求助
PyTorch-GPU版本安装失败(始终安装CPU版)排查与解决
问题背景
在Ubuntu系统、CUDA11.4环境下,通过Miniconda创建tortoise环境(Python3.9),尝试安装PyTorch1.11.0 GPU版本时,无论是否指定torchvision/torchaudio,均自动安装CPU版本。已确认设备配备GPU,且查阅同类问题未解决。
执行的关键命令:
- 创建环境:
conda create --name tortoise python=3.9 numba inflect
- 指定版本安装:
conda install pytorch=1.11.0 torchvision=0.12 torchaudio=0.11 cudatoolkit=11.4 -c pytorch -c nvidia
- 简化安装命令:
conda install pytorch=1.11.0 cudatoolkit=11.4 -c pytorch -c nvidia
可能原因及解决步骤
1. 旧GPU架构不兼容CUDA11.4版本
PyTorch 1.11.0搭配CUDA11.4的预编译包仅支持算力≥3.7的GPU(如Tesla K80、GTX 10系列及以后)。若你的旧GPU算力低于3.7(如GT 610、Tesla C2075等),conda会因无对应GPU包自动 fallback到CPU版本。
解决:
- 用
nvidia-smi查看GPU型号,查询其算力值。 - 若算力不足,可降级PyTorch和CUDA版本(比如PyTorch1.9.0+CUDA11.1,支持算力≥3.5),或使用源码编译PyTorch适配旧架构。
2. Conda通道优先级或缓存问题
conda可能优先拉取默认通道的CPU版包,或缓存了旧的CPU安装包导致重复安装。
解决:
- 清理conda缓存:
conda clean --all
- 明确指定从pytorch通道拉取GPU版包,强制优先级:
conda install pytorch::pytorch=1.11.0 torchvision=0.12 torchaudio=0.11 cudatoolkit=11.4 -c pytorch -c nvidia
- 设置严格通道优先级(确保第三方通道优先于默认通道):
conda config --set channel_priority strict conda config --add channels pytorch conda config --add channels nvidia
3. 系统NVIDIA驱动版本过低
CUDA11.4要求驱动版本≥470.42.01,若系统驱动版本低于该值,conda会判定无法支持GPU加速,转而安装CPU版。
解决:
- 执行
nvidia-smi查看驱动版本(右上角Driver Version),若版本不足,升级驱动:
sudo apt update sudo apt install nvidia-driver-470
(重启系统后生效)
4. 尝试用Pip安装GPU版本
部分情况下,conda的预编译包未覆盖所有GPU架构,而PyTorch官方pip源提供通用GPU版包,兼容性更强。
解决:
激活环境后执行:
pip install torch==1.11.0+cu114 torchvision==0.12.0+cu114 torchaudio==0.11.0 --extra-index-url https://download.pytorch.org/whl/cu114
5. 检查是否存在强制CPU的环境变量
若系统或conda环境中设置了FORCE_CPU等强制CPU的变量,会导致PyTorch安装CPU版。
解决:
执行以下命令排查,若存在相关变量则删除:
env | grep -i cpu # 若输出FORCE_CPU=1,执行unset FORCE_CPU
安装验证
激活环境后,运行Python代码验证GPU是否可用:
import torch print(torch.cuda.is_available())
输出True则表示GPU版本安装成功。
内容的提问来源于stack exchange,提问作者Halfstop
相关产品推荐
相关产品推荐

