源码安装PyTorch

编译安装前准备

安装PyTorch依赖前请确保依赖列表中的OS依赖已全部安装。

安装系统依赖(以CentOS与Ubuntu操作系统为例)。

OpenEuler、Kylin V10、BC-Linux系统可参考CentOS进行安装。
  • CentOS
    yum install -y patch libjpeg-turbo-devel dos2unix openblas git 
  • Ubuntu
    apt-get install -y patch build-essential libbz2-dev libreadline-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev m4 dos2unix libopenblas-dev git 

查看gcc和cmake版本。

gcc --version
cmake --version

PyTorch配套的Python版本是:Python3.7.x(3.7.5~3.7.11)、Python3.8.x(3.8.0~3.8.11)、Python3.9.x(3.9.0~3.9.2)。

源码编译安装PyTorch

  1. 安装torch包。

    • PyTorch 1.11.0
      • Python3.7.x(3.7.5及以上)
        wget https://download.pytorch.org/whl/torch-1.11.0-cp37-cp37m-manylinux2014_aarch64.whl
        pip3 install torch-1.11.0-cp37-cp37m-manylinux2014_aarch64.whl
      • Python3.8.x
        wget https://download.pytorch.org/whl/torch-1.11.0-cp38-cp38-manylinux2014_aarch64.whl
        pip3 install torch-1.11.0-cp38-cp38-manylinux2014_aarch64.whl
      • Python3.9.x
        wget https://download.pytorch.org/whl/torch-1.11.0-cp39-cp39-manylinux2014_aarch64.whl
        pip3 install torch-1.11.0-cp39-cp39-manylinux2014_aarch64.whl
      • Python3.10.x
        wget https://download.pytorch.org/whl/torch-1.11.0-cp310-cp310-manylinux2014_aarch64.whl
        pip3 install torch-1.11.0-cp310-cp310-manylinux2014_aarch64.whl
    • PyTorch 2.0.1
      • Python3.8.x
        wget https://download.pytorch.org/whl/torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl
        pip3 install torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl
      • Python3.9.x
        wget https://download.pytorch.org/whl/torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl
        pip3 install torch-2.0.1-cp39-cp39-manylinux2014_aarch64.whl
      • Python3.10.x
        wget https://download.pytorch.org/whl/torch-2.0.1-cp310-cp310-manylinux2014_aarch64.whl
        pip3 install torch-2.0.1-cp310-cp310-manylinux2014_aarch64.whl
    • PyTorch 2.1.0
      • Python3.8.x
        wget https://download.pytorch.org/whl/cpu/torch-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
        pip3 install torch-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
      • Python3.9.x
        wget https://download.pytorch.org/whl/cpu/torch-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
        pip3 install torch-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
      • Python3.10.x
        wget https://download.pytorch.org/whl/cpu/torch-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
        pip3 install torch-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

  2. 编译生成torch_npu插件的二进制安装包。

    1. 下载对应PyTorch版本分支代码,进入插件根目录。
      git clone -b v2.0.1-5.0.rc3 https://gitee.com/ascend/pytorch.git 
      cd pytorch    
    2. 编译生成二进制安装包。
      # 指定Python版本编包方式,以Python3.8为例,其他Python版本请使用 --python=3.9或--python3.10
      bash ci/build.sh --python=3.8

  3. 安装pytorch/dist目录下生成的插件torch_npu包。

    # 请用户根据实际情况更改命令中的torch_npu包名
    pip3 install --upgrade dist/torch_npu-2.0.1.post1-cp38-cp38-linux_aarch64.whl

  4. 验证是否安装成功。

    python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"

    显示如下回显证明PyTorch框架与插件安装成功。