换了新电脑,之前的旧电脑连GPU都不支持ε=(´ο`*))),这次终于装上了GPU版本的Pytorch,但是在安装过程中如实是踩了无数坑,值得庆幸的是最后终于安装成功了!!
我的环境是:win10+Anaconda+python3.6+cuda10.2+Pycharm
此安装过程非常简单,不需要额外安装 cudatoolkit 和 cudnn,只要设置好镜像,非常快就装好了!
该安装过程尤其适合家里网速很差,且没有翻墙软件的像我这样的小伙伴~
1 查看CUDA版本
首先必须要确定自己电脑支持的CUDA版本
打开NVIDIA控制面板,点击 帮助——>系统信息——>组件,查看自己电脑支持的cuda版本
这一步是必须的!!非常重要!!否则Pytorch运行不了
(其实高版本的cuda是可以兼容低版本的cuda的,比如我的电脑支持cuda10.2,我就可以安装cuda9/cuda10.0/cuda10.1,但是反过来就一定运行不了)
我的是cuda10.2,如下图所示
2 新建虚拟环境
为了将pytorch使用的环境与其他环境区分开,需要新建一个pytorch的虚拟环境
打开anaconda prompt,输入conda create --name pytorch_gpu python=3.6
pytorch_gpu为新建的虚拟环境的名称,可以自定义,python=3.6指定python为3.6版本,等待虚拟环境安装成功
proceed选择y,回车, 等待相关包下载,信息提示如下则安装成功
然后切换到该新建的虚拟环境下,使用命令:conda activate pytorch_gpu
3 配置清华镜像
输入如下命令,这八条命令缺一不可,我家里网差,没有vpn,我前面失败了很多次,就是因为百度上很多配置清华源都只有这前三条,没有后五条,导致后面安装cudatoolkit的时候还是一直卡死,只有这八个命令全部有之后,下载才会顺畅,这一点后面也会说。
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
为了表示强调,我把后面的五个命令分开了,这后面五个命令是一定要有的,切记切记!
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
4 Pytorch下载
这一步就到下载pytorch了,首先去pytorch官网,选择自己电脑的cuda版本,查看命令
红线处就是你下载pytorch需要的命令
在anaconda prompt中输入上面的命令,我的如下
这里需要注意,在pytorch官网上查的最后是有 -c pytorch
的,我们在自己输入命令时,必须要把 -c pytorch
去掉,只有这样才是从清华源下载的pytorch,要是没有去掉,速度照样非常慢
输入命令后回车,出现如下界面,如果下载网址全是清华的(tsinghua.edu.cn)那么恭喜你,后面的下载速度应该就很快了,要是其中某一项,比如cudatoolkit的下载网址是default,那你大概率还是会卡在下载这里,只能去检查你前面清华源配置是不是那八个你都配置好了呢?
后面要做的就是等待了
5 检查是否安装成功
等待下载完成,输入python进入环境,然后依次输入
import torch
print(torch.__version__)
torch.cuda.is_available()
如果都ok的话,就安装成功啦!
6 其他
安装过程中若遇到如下问题:
CondaError:Downloaded bytes did not match Content-Length
解决方案,输入命令:
conda config --set remote_read_timeout_secs 100000
成功!