ubuntu-20.04安装pytorch-1.12-GPU版本-以thinkpad-Quadro-P620为例

————————————————————— 前置条件 ————————————————————————

  1. 确保安装了cuda-toolkit-11.6,上博文已述。

————————————————————— 正文 —————————————————————————————

  1. 明确目的:要在最新的AI框架下测试和训练新的AI模型,首选了pytorch-gpu版本,因此需要找到对应版本的pytorch-gpu版本。

  2. pytorch-gpu依赖cuda-toolkit版本和python版本,而python版本依赖于安装的anaconda版本(或采用直接python安装也可);
    pytorch-gpu(1.12) -> cuda-toolkit(11.6) & python(3.9) -> anaconda

  3. 因此,首先安装anaconda,在ubuntu下,anaconda叫miniconda,安装方法采用如下命令:

curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh Miniconda3-latest-Linux-x86_64.sh

(注意:不能使用sudo或root权限安装conda,否则user模式无法使用conda!!!)

  1. 安装完成miniconda后,关掉当前的terminal,重开一个,进入查看conda的版本验证安装是否成功:
conda --version
conda info --envs

输出类似如下:

conda 4.12.0
# conda environments:
#
base                  *  /home/xc/miniconda3
  1. 为conda更换国内镜像源:
    在~/.condarc文件中添加清华大学或者中科大的镜像源。更换完成后重启终端,查看是否生效:
conda info

输出类似如下:

active environment : base
    active env location : /home/xc/miniconda3
            shell level : 1
       user config file : /home/xc/.condarc
 populated config files : /home/xc/.condarc
          conda version : 4.12.0
    conda-build version : not installed
         python version : 3.9.12.final.0
       virtual packages : __cuda=11.7=0
                          __linux=5.4.0=0
                          __glibc=2.31=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /home/xc/miniconda3  (writable)
      conda av data dir : /home/xc/miniconda3/etc/conda
  conda av metadata url : None
           channel URLs : http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/noarch
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk/linux-64
                          http://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/simpleitk/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/xc/miniconda3/pkgs
                          /home/xc/.conda/pkgs
       envs directories : /home/xc/miniconda3/envs
                          /home/xc/.conda/envs
               platform : linux-64
             user-agent : conda/4.12.0 requests/2.27.1 CPython/3.9.12 Linux/5.4.0-122-generic ubuntu/20.04.4 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False
  1. 继续安装pytorch-gpu-1.12,在进入conda的base环境后,使用如下命令:
conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge

(建议参考pytorch官网给出的操作方法:https://pytorch.org/get-started/locally/)

  1. 如果发现anaconda/miniconda换源后也无法下载安装pytorch-gpu版本,那么可以采用pip安装,方法参考pytorch官网,进入anaconda/miniconda的base或其他环境中,
    检查python的版本是否>=3.8,然后可以使用pip命令安装pytorch-gpu,以及torchvision和torchaudio.
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

觉得太慢了,也没办法换成阿里云的镜像源,只能老实等,这是因为pytorch-gpu版本的安装包wheel只由pytorch自家维护。

  1. 安装完成后,检查pytorch是否可以正常启用cuda:
import torch
torch.__version__
#'1.12.0+cu116'
torch.cuda.is_available()
#True
torch.cuda.device_count()
#1
x = torch.rand(3,3)
x_gpu = x.to(torch.device('cuda:0'))
y_gpu = x_gpu * 0.3
print(y_gpu)
#tensor([[0.0998, 0.2135, 0.2695],
#        [0.1140, 0.2124, 0.2458],
#        [0.2954, 0.1538, 0.1891]], device='cuda:0')
posted @ 2022-08-01 16:09  xchk138  阅读(2208)  评论(0)    收藏  举报