cuda 版本选对了,为什么 torch.cuda.is_available() 仍返回 False?
完美解决 torch.cuda.is_available() 仍返回 False,因为你的 pytorch 被迫下载成了 cpu 版本。
已经根据 gpu 的型号把 cuda 的版本选对了,为什么 torch.cuda.is_available() 仍返回 False?
因为你的 pytorch 下载成了 cpu 版本。
不信?测试一下,在该虚拟环境中输入 conda list,查看 pytorch 的版本:
如果结果如上图,那么 pytorch 的版本为 cpu 版本而不是 gpu 版本,那自然 cuda 调用 gpu 的时候返回 False。
可是为何明明电脑有 gpu,安装的时候也是按 gpu 的命令安装的,为什么安装完成之后就变成 cpu 了呢?
因为[python | cudatoolkit | pytorch] 组合的 gpu 版本在下载源中不存在。
官网上的执行命令:conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch 中的 -c pytorch 指的是从 pytorch 官方的源中下载。命令中只指定了cudatoolkit的版本是10.2,而默认的 torchvision 和 torchaudio 和 pytorch 的版本估计都是最新的。
即使你选择的 cuda 的版本和你的 gpu 是匹配的,也就是说 cudatoolkit 是对的。但是 [python | cudatoolkit | pytorch] 这三个版本不同的组合,在 pytorch 官方的源中真的不一定有。
它如果没有对应的 gpu 版本,而有对应的 cpu 版本,就会擅自做主给你安装 cpu 版本的了,这就是为什么你是按 gpu 版本安装的,装完发现是 cpu。
所以我们需要找到哪些组合版本在源里是存在的 或者说 是有 gpu 版本的。
不知道官方的源在什么地方,所以我们就改用清华源,用清华源里面已有的组合来安装。
打开 清华源的网址发现:

里面有 python3.7 版本,对应于 cuda10.2 和 cudnn7.* 的安装包,那么我们就选择这个版本安装。
1. 创建 python 对应版本的 环境;
conda create -n pytorch-GPU python=3.7 # 创建一个python3.7的conda环境
conda activate pytorch-GPU # 进入该conda环境
2. 加入清华源;
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # 换conda源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ # 换conda源
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ # 换conda源
tip:在任何环境下添加源都会添加到全局中,而不只是作用于该虚拟环境中。
3. 安装 cuda、cudnn 和 pytorch;
根据已有的版本组合,安装 cuda、cudnn
conda install cudatoolkit=10.2 -c http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/ # 安装 cuda
conda install cudnn=7.6 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/ # 安装cudnn
安装pytorch
conda install pytorch==1.8.0 torchvision==0.9 cudatoolkit=10.2 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/# 安装pytorch
其中 torchvision 版本选择需要和 pytorch 版本对应:
在这个命令执行之后,询问选择 y/n 时,就会发现需要下载的列表中的 pytorch 版本是 cuda 版本,此时下载就能得到 gpu 版本了。

参考:
https://windses.blog.csdn.net/article/details/125910538
https://blog.csdn.net/shiwanghualuo/article/details/122860521
更多推荐




所有评论(0)