torch.cuda.is_available()返回false—问题分析及解决办法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 问题分析
    • 1、使用了镜像下载,误下成cpu版本
    • 解决方法:
    • 2.pytorch版本与CUDN不配套
    • 解决办法:
  • 验证
  • 附CUDN版本号查看方式 及 CUDN版本号与pytorch版本对应关系,以便自查 CUDN版本号查看方式 :


前言

提示:这里可以添加本文要记录的大概内容:

安装完cudatoolkit和GPU版本的pyTorch、pytorchvision、 torchaudio后,使用官网提供的代码测试pytorch是否调用GPU时,返回false的问题解决。

import torch
torch.cuda.is_available()

在这里插入图片描述

提示:以下是本篇文章正文内容,下面案例可供参考

问题分析

产生该问题的情况有

1、使用了镜像下载,误下成cpu版本

你以为下载的是GPU版本,其实镜像下载的是cpu版本你必须手动去官网用pip下载安装
检查是否存在该问题的方法:
1.打开cmd,进入你出现该问题的环境,输入

python
import torch
print(torch.__version__)

若输出为版本号+cpu 则说明是该问题造成,也可通过conda list指令查看所安装的pytorch包版本,若build 列对应有cpu开头的包也可说明是这个问题造成,如下图所示。
在这里插入图片描述

解决方法:

重装GPU版本的pyTorch、pytorchvision、 torchaudio 具体方法参考该博主写的博客

2.pytorch版本与CUDN不配套

安装pyTorch、pytorchvision、 torchaudio 时并没有指定具体版本,例如我开始用pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu111进行安装,完毕后用torch.cuda.is_available()检查发现返回false。之后通过pip list 检查发现pytorch版本号太高,与我的CUDN版本(11.1)不配。

解决办法:

使用pip uninstall torch torchvision torchaudio卸载”错误“版本,再使用如下指令重新安装(以cuda11.1为例)

pip --default-timeout=1000 install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

说明: 使用–default-timeout=1000解决网速过慢导致超时下载失败的可能。(参考的该博客)
部分cuda版本对应的torch版本需要加上 cu+cuda版本号 后缀的torch版本才能正常匹配相应CUDA。 例如,CUDA10.1 对应下载torch1.5的时候,应该下载pip install torch==1.5.1+cu101 torchvision==0.6.1+cu101

验证

进入环境后输入python,进入解释器,输入下面代码,查看输出,为True,则说明成功

import torch
torch.cuda.is_available()

附CUDN版本号查看方式 及 CUDN版本号与pytorch版本对应关系,以便自查 CUDN版本号查看方式 :

win+r,cmd进入命令行,输入nvidia-smi查看显卡信息,若显示

‘nvidia-smi’ 不是内部或外部命令,也不是可运行的程序 或批处理文件

则cd + nvidia-smi 所在文件夹位置后再输入该指令如下图所示。

torch.cuda.is_available()返回false—问题分析及解决办法_第1张图片

CUDN版本号与pytorch版本对应关系
torch.cuda.is_available()返回false—问题分析及解决办法_第2张图片

你可能感兴趣的:(pytorch,深度学习,python)