文档
注册

安装PyTorch

安装前请根据表1完成相应配套版本CANN软件的安装。若用户需要详细了解CANN软件和其安装流程,可从安装须知章节开始了解手册内容。若用户仅进行离线推理,请跳过此章节。

昇腾开发PyTorch Adapter插件用于适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力,本章节指导用户安装PyTorch框架和PyTorch Adapter插件。

安装场景

  • PyTorch 1.8.1/1.11.0配套的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 2.0.1配套的Python版本是:Python3.8.x(3.8.0~3.8.11)、Python3.9.x(3.9.0~3.9.2)。

根据不同的PyTorch使用场景,用户可以选择以下三种方式安装PyTorch:

  • 获取镜像下载安装PyTorch:若用户希望在容器中安装使用PyTorch,可以点击链接前往AscendHub昇腾PyTorch镜像仓库,根据表1选择对应版本的镜像下载使用。
  • 二进制whl包安装:推荐用户使用编好的二进制whl包安装PyTorch。

    请前往安装PyTorch环境依赖继续安装流程。

  • 编译安装:请前往编译安装PyTorch进行安装。

如果用户不确定自己的软件包版本,可参考查询软件包版本信息进行查询。

表1 Ascend配套软件

AscendPyTorch版本

CANN版本

支持PyTorch版本

AscendHub镜像版本/名称

5.0.rc2

CANN 6.3.RC2

1.8.1.post2

23.0.RC2-1.8.1

1.11.0.post1

23.0.RC2-1.11.0

2.0.1.rc1

-

安装PyTorch环境依赖

执行如下命令安装。如果使用非root用户安装,需要在命令后加--user,例如:pip3 install pyyaml --user
pip3 install pyyaml
pip3 install wheel
pip3 install typing_extensions

安装PyTorch

用户可选择编译安装方式安装PyTorch。请参考编译安装PyTorch

  1. 安装官方torch包。
    • x86_64

      在x86_64架构下,官方torch包使用MKL加速库。如果需要使用其他blas和lapack加速库(如openblas)来提升性能,请使用源码编译安装方式安装官方torch包,步骤请参考编译安装PyTorch章节。

      # 安装1.8.1版本
      pip3 install torch==1.8.1+cpu  
      # 安装1.11.0版本
      pip3 install torch==1.11.0+cpu
      # 安装2.0.1版本
      pip3 install torch==2.0.1+cpu

      若执行以上命令安装cpu版本PyTorch报错,请点击下方PyTorch官方链接下载whl包。

      PyTorch 1.8.1版本:下载链接

      PyTorch 1.11.0版本:下载链接

      PyTorch 2.0.1版本:下载链接

      执行如下安装命令:

      # 用户请根据自己实际情况修改命令中的安装包名
      pip3 install torch-1.8.1+cpu-cp37-cp37m-linux_x86_64.whl
    • aarch64
      1. 获取安装包。
        • PyTorch1.8.1/1.11.0:
          进入安装目录,执行如下命令获取鲲鹏文件共享中心上对应版本的whl包。
          # 安装1.8.1版本
          wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.8.1-cp37-cp37m-linux_aarch64.whl
          # 安装1.11.0版本
          wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.11.0-cp37-cp37m-linux_aarch64.whl
        • PyTorch2.0.1:下载链接

          或使用wget命令下载。

          wget https://download.pytorch.org/whl/torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl
      2. 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
        # 安装1.8.1版本
        pip3 install torch-1.8.1-cp37-cp37m-linux_aarch64.whl
        # 安装1.11.0版本
        pip3 install torch-1.11.0-cp37-cp37m-linux_aarch64.whl
        # 安装2.0.1版本
        pip3 install torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl
  2. 安装PyTorch插件torch_npu。以下命令以在aarch64架构下安装为例。
    1. 进入安装目录,执行如下命令获取PyTorch插件的whl包。
      # 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。
      # 安装1.8.1版本
      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc2-pytorch1.8.1/torch_npu-1.8.1.post2-cp37-cp37m-linux_aarch64.whl
      # 安装1.11.0版本
      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc2-pytorch1.11.0/torch_npu-1.11.0.post1-cp37-cp37m-linux_aarch64.whl
      # 安装2.0.1版本
      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc2-pytorch2.0.1/torch_npu-2.0.1rc1-cp38-cp38-linux_aarch64.whl
      • 如果下载whl包时出现ERROR: cannot verify gitee.com's certificate报错,可在下载命令后加上--no-check-certificate参数避免此问题。

        样例代码如下所示。

        wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc2-pytorch1.11.0/torch_npu-1.11.0.post1-cp37-cp37m-linux_aarch64.whl --no-check-certificate
      • PyTorch 1.11版本在aarch64架构上可能出现CPU精度问题,需在Docker环境编译torch_npu,请参见PyTorch框架在ARM CPU上算子计算结果异常
    2. 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
      # 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。
      # 安装1.8.1版本
      pip3 install torch_npu-1.8.1.post2-cp37-cp37m-linux_aarch64.whl
      # 安装1.11.0版本
      pip3 install torch_npu-1.11.0.post1-cp37-cp37m-linux_aarch64.whl
      # 安装2.0.1版本
      pip3 install torch_npu-2.0.1rc1-cp38-cp38m-linux_aarch64.whl
  3. 执行如下命令,若返回True则说明安装成功。
    python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
  4. 安装对应框架版本的torchvision。
    #PyTorch 1.8.1需安装0.9.1版本,PyTorch 1.11.0需安装0.12.0版本,PyTorch 2.0.1版本需安装0.15.2版本
    pip3 install torchvision==0.9.1   

安装APEX混合精度模块

混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。在迁移完成、训练开始之前,基于NPU芯片的架构特性,用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。混合精度的介绍可参考PyTorch 模型迁移和训练指南中的“自动混合精度(AMP)”章节,APEX模块的使用介绍可参考PyTorch 模型迁移和训练指南中的“参考信息>模型套件和第三方库>APEX”章节。

推荐用户通过编译源码包安装APEX模块。

  1. 安装依赖。

    选择编译安装方式安装时需要安装系统依赖。目前支持CentOS与Ubuntu操作系统。

    • CentOS
      yum install -y patch libjpeg-turbo-devel dos2unix openblas git 
      yum install -y gcc==7.3.0 cmake==3.12.0 #gcc7.3.0版本及以上,cmake3.12.0版本及以上。若用户要安装1.11.0版本PyTorch,则gcc需为7.5.0版本以上。
    • 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 
      apt-get install -y gcc==7.3.0 cmake==3.12.0 #gcc7.3.0版本及以上,cmake3.12.0版本及以上。若用户要安装1.11.0版本PyTorch,则gcc需为7.5.0版本以上。
  2. 获取昇腾适配的APEX源码。
    git clone -b 分支名称 https://gitee.com/ascend/apex.git

    分支名称请根据实际使用的PyTorch版本选择,例如使用PyTorch1.11.0-5.0.rc2,则apex分支也使用5.0.rc2。

  3. 进入昇腾适配的APEX源码目录,执行命令编译生成二进制安装包。
    cd apex
    bash scripts/build.sh

    请确保NPU版本的PyTorch可以正常使用,否则会影响APEX的编译。

  4. 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
    # 若用户在x86架构下安装,请将命令中文件包名中的“aarch64”改为“x86_64”。
    pip3 install apex/dist/apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词