关于pytorch的安装,我之前其实写过一篇博客:解决问题:import torch失败和torch.cuda.is_available()返回false
但是那是在windows下的,在ubuntu双系统下好像情况有点不一样,但是所幸踩的坑不算多,这里总结如下:
第一步:miniconda安装和pytorch环境准备
我这里此前安装的是Miniconda,安装过程可参见:miniconda安装
在下载pytorch之前,首先需要创建一个虚拟环境,例如,我这里为:
conda create --name pytorch
其中pytorch
是我自定的名字,读者可根据需要修改。
因为在下载包的过程中,会涉及到一些文件的修改,需要获取root权限,因此执行:
sudo -i
此时进入root用户,激活环境
conda activate pytorch
第二步:安装CUDA和cuDNN
可以参考这篇文章:
【Linux】安装CUDA 11.2 和 cuDNN 8.4.0并检查是否安装成功
我个人因为此前配置过显卡,因此CUDA和cudnn都安装完了。这里只是参考这篇文章,使用下面命令查看了一下cuda的版本号(根据命令行提示下载nvidia相关工具即可)
nvcc -V
返回结果为:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:07:16_PDT_2019
Cuda compilation tools, release 10.1, V10.1.243
可见cuda是10.1
版本。
接着查看cudnn的版本:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
返回结果为:
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 7
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
/* cannot use constexpr here since this is a C-only file */
可见cudnn是8.7
版本。
注意!需要确保cuda和cudnn版本匹配!如何确定匹配,同样可以参考【Linux】安装CUDA 11.2 和 cuDNN 8.4.0并检查是否安装成功
第三步:安装pytorch
进入pytorch环境,然后去pytorch官网,通常会看见类似下图的推荐命令,但是我们仍然需要根据我们自己的cuda和cudnn版本来进行安装,我这里选择install previous versions of PyTorch
。
然后ctrl+F
搜索CUDA 10.1
即可快速定位到相关指令,复制命令进行安装即可,如果成功就不用看下一步了。
conda版本:
conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
pip版本:
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
第四步:附加步骤
conda
和pip
命令我都试过了,但是都是因为网络问题卡在安装的某个阶段(kb/s级别的下载速度),貌似也不是换源能解决的。
因此我选择手动下载whl文件到本地,在离线安装whl文件。
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
复制上面安装命令后半截的网址并打开:https://download.pytorch.org/whl/torch_stable.html
可以看到一连串的whl文件。
使用ctrl+F
搜索cu101
,再附加torch1.8.1
,可以看见如下结果
这里我选择的是带有linux
和cp38
(对应python3.8)和x86_64
字样的版本,点击或者复制链接到浏览器即可下载。
将下载好的whl文件移动至home目录下,在root下的pytorch环境中,运行下面命令,注意把username
换成自己的用户名
pip install /home/username/torch-1.8.1+cu101-cp38-cp38-linux_x86_64.whl
很快就会安装完毕。
测试安装是否成功
输入python3
,接着输入:
import torch
torch.cuda.is_available()
返回true即成功。