文档
注册
评分
提单
论坛
小AI

安装PyTorch

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

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

安装场景

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使用场景,用户可以选择以下方式安装PyTorch:

  • 获取镜像下载安装PyTorch:若用户希望在容器中安装使用PyTorch,可以点击链接前往AscendHub昇腾PyTorch镜像仓库,根据表1选择对应版本的镜像下载使用。
  • 二进制whl包安装:在Python3.7.x(3.7.5~3.7.11)环境下,推荐用户使用编好的二进制whl包安装PyTorch 1.8.1和PyTorch 1.11.0。请前往安装PyTorch环境依赖继续安装流程。
  • 编译安装:在Python3.8.x和Python3.9.x环境下,则只能采用编译安装方式安装PyTorch。请前往编译安装PyTorch进行安装。

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

表1 Ascend配套软件

AscendPyTorch版本

CANN版本

支持PyTorch版本

AscendHub镜像版本/名称

5.0.rc1

CANN 6.3.RC1

1.8.1.post1

23.0.RC1-1.8.1/pytorch-modelzoo

1.11.0

23.0.RC1-1.11.0/pytorch-modelzoo

安装PyTorch环境依赖

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

安装PyTorch

在Python3.7.x(3.7.5~3.7.11)环境下,推荐用户使用编好的二进制whl包安装PyTorch 1.8.1和PyTorch 1.11.0。

用户也可选择编译安装方式安装PyTorch 1.8.1和PyTorch 1.11.0。请参考编译安装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  

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

      PyTorch 1.8.1版本:下载链接

      PyTorch 1.11.0版本:下载链接

      执行如下安装命令:

      # 用户请根据自己实际情况修改命令中的安装包名
      pip3 install torch-1.8.1+cpu-cp37-cp37m-linux_x86_64.whl
    • aarch64
      1. 进入安装目录,执行如下命令获取鲲鹏文件共享中心上对应版本的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
      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. 安装PyTorch插件torch_npu。以下命令以在aarch64架构下安装为例。
    1. 进入安装目录,执行如下命令获取PyTorch插件的whl包。
      # 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。
      # 安装1.8.1版本
      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc1-pytorch1.8.1/torch_npu-1.8.1.post1-cp37-cp37m-linux_aarch64.whl
      # 安装1.11.0版本
      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc1-pytorch1.11.0/torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl

      如果下载whl包时出现ERROR: cannot verify gitee.com's certificate报错,可在下载命令后加上--no-check-certificate参数避免此问题。

      样例代码如下所示。

      wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc1-pytorch1.11.0/torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl --no-check-certificate
    2. 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
      # 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。
      # 安装1.8.1版本
      pip3 install torch_npu-1.8.1.post1-cp37-cp37m-linux_aarch64.whl
      # 安装1.11.0版本
      pip3 install torch_npu-1.11.0-cp37-cp37m-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版本
    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.rc1,则apex分支也使用5.0.rc1。

  3. 进入昇腾适配的APEX源码目录,获取原生APEX代码。
    cd apex
    git clone https://github.com/NVIDIA/apex.git
  4. 进入原生APEX代码目录,切换对应分支。
    cd apex 
    git checkout 4ef930c1c884fdca5f472ab2ce7cb9b505d26c1a 
    cd ..
  5. 在昇腾适配的APEX源码目录下的scripts中执行命令生成NPU适配的全量代码。
    cd scripts
    bash gen.sh
  6. 执行命令编译生成二进制安装包。
    cd ../apex
    python3 setup.py --cpp_ext --npu_float_status bdist_wheel

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

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

当前产品无相关内容

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