torch.cuda.is_available()返回False的问题原因及解决方案问询
问题根因
- 核心原因:你当前安装的是CPU专属版本的PyTorch,从
torch.version返回的1.9.0+cpu标识可直接确认,CPU版本PyTorch本身不包含CUDA相关组件,无法调用GPU,因此torch.cuda.is_available()固定返回False。 - 次要兼容问题:即使后续安装带CUDA支持的PyTorch,你当前使用的1.9.0版本PyTorch官方最高仅支持CUDA 11.1,和你本地安装的CUDA 11.4版本不匹配,也会导致返回False。
解决步骤
- 第一步:卸载现有CPU版本PyTorch相关组件
pip环境执行命令:pip uninstall -y torch torchvision torchaudio
conda环境执行命令:conda uninstall -y pytorch torchvision torchaudio cpuonly - 第二步:安装适配CUDA版本的PyTorch,二选一即可:
方案A(不用改动现有CUDA 11.4环境):安装支持CUDA 11.3及以上的PyTorch版本,CUDA 11.4可向下兼容CUDA 11.3的PyTorch包,安装命令示例:pip install torch==1.12.0+cu113 torchvision==0.13.0+cu113 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu113
方案B(必须保留PyTorch 1.9.0版本):将本地CUDA版本降级到11.1,再安装对应CUDA 11.1的PyTorch 1.9.0版本。 - 第三步:验证是否修复
安装完成后执行命令:python -c "import torch; print(torch.cuda.is_available())",返回True即为修复成功。
内容的提问来源于stack exchange,提问作者YFrite
相关产品推荐
相关产品推荐

