在linux服务器上安pytorch各种报错,看到帖子说要安cuda、安cuDNN还是不行,不过最后找了个简单办法安了两天终于安好了(;へ:)。
首先,pytorch是有cpu和gpu版本的,如果使用gpu版本的话,要安装对应gpu版本,否则后续后报错(可以用conda list看一下自己是不是安成cpu的了)。pytorch的gpu版本要适配显卡的cuda版本,因此先要查看cuda版本
查看cuda版本
在服务器输入二者中的任意一句,查看cuda版本。我的是10.1版本,因此要下载10.1版本的pytorch。
> nvidia-smi
> nvcc -V
下载gpu版pytorch
在下载之前,有个关键步骤(血泪教训)。输入以下命令,看conda下有没有cpuonly这个包,有的话卸载,否则后续默认下载的是cpu版pytorch。
conda list
卸载后在pytorch官网上找到对应的命令进行下载。
因为我的conda是10.1版本,可以参照previous-versions。又一个坑!pytorch、torchvision、torchchaudio版本要匹配,卸载不干净就回滚回以前版本“conda list --revision”。
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
pytorch下载速度问题
下载速度慢的话,可以用国内镜像离线下载再安装,或者添加channels让conda自己使用国内镜像。我用的后者:
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/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
去掉之前后面的-c pytorch,相应的安装命令为:
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1
安装成功,试一下
> import torch
> print(torch.__version__)
1.4.0
> print(torch.cuda.is_available())
True
终于True了,太不容易我~~~
参考:
使用anaconda安装pytorch(gpu)
解决torch.cuda.is_available()一直返回False的玄学方法之一
PyTorch及Torchvision与Cuda版本匹配