文档
注册

编译安装PyTorch

安装依赖

选择编译安装方式安装时需要安装系统依赖。目前支持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版本以上。

安装PyTorch

以下操作步骤以安装PyTorch 1.8.1版本为例。

  1. 安装官方torch包。
    • 快速安装。仅在x86_64架构下支持。
      pip3 install torch==1.8.1+cpu  

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

      执行如下安装命令:

      # 用户请根据自己实际情况修改命令中的安装包名
      pip3 install torch-1.8.1+cpu-cp37-cp37m-linux_x86_64.whl
    • 编译安装。在x86_64和aarch64架构下均可使用。
      1. 下载PyTorch v1.8.1源码包,1.11.0版本请替换版本号为v1.11.0,2.0.1版本请替换版本号为v2.0.1。
        git clone -b v1.8.1 https://github.com/pytorch/pytorch.git --depth=1 pytorch_v1.8.1
      2. 进入源码包获取被动依赖代码。
        cd pytorch_v1.8.1
        git submodule sync
        git submodule update --init --recursive
      3. 配置环境变量。
        export USE_XNNPACK=0
      4. 执行编译安装。
        python3 setup.py install
  1. 编译生成PyTorch插件的二进制安装包。请参考表1下载对应PyTorch版本分支代码。
    # 下载对应PyTorch版本分支代码,进入插件根目录,以v1.8.1-5.0.rc2为例,其他版本请替换对应版本号
    git clone -b v1.8.1-5.0.rc2 https://gitee.com/ascend/pytorch.git 
    cd pytorch    
    # 指定Python版本编包方式,以Python3.7为例,其他Python版本请使用 --python=3.8或--python3.9
    bash ci/build.sh --python=3.7
  2. 安装pytorch/dist目录下生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user
    # 请用户根据实际情况更改命令中的torch_npu包名
    pip3 install --upgrade dist/torch_npu-1.8.1.post2-cp38-cp38-linux_aarch64.whl
  3. 安装对应框架版本的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   
  4. 配置环境变量,验证是否安装成功。
    1. 新建环境变量shell脚本env.sh,写入以下代码:
      # 配置CANN相关环境变量
      CANN_INSTALL_PATH_CONF='/etc/Ascend/ascend_cann_install.info' 
      if [ -f $CANN_INSTALL_PATH_CONF ]; then
          DEFAULT_CANN_INSTALL_PATH=$(cat $CANN_INSTALL_PATH_CONF | grep Install_Path | cut -d "=" -f 2)
      else
          DEFAULT_CANN_INSTALL_PATH="/usr/local/Ascend/"
      fi 
      CANN_INSTALL_PATH=${1:-${DEFAULT_CANN_INSTALL_PATH}} 
      if [ -d ${CANN_INSTALL_PATH}/ascend-toolkit/latest ];then
          source ${CANN_INSTALL_PATH}/ascend-toolkit/set_env.sh 
      else
          source ${CANN_INSTALL_PATH}/nnae/set_env.sh 
      fi
      
      #将Host日志输出到串口,0-关闭/1-开启
      export ASCEND_SLOG_PRINT_TO_STDOUT=0
      
      ulimit -SHn 512000
      path_lib=$(python3.7 -c """
      import sys
      import re
      result=''
      for index in range(len(sys.path)):
          match_sit = re.search('-packages', sys.path[index])
          if match_sit is not None:
              match_lib = re.search('lib', sys.path[index])
      
              if match_lib is not None:
                  end=match_lib.span()[1]
                  result += sys.path[index][0:end] + ':'
      
              result+=sys.path[index] + '/torch/lib:'
      print(result)"""
      )
      
      echo ${path_lib}
      
      export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib/:${path_lib}:$LD_LIBRARY_PATH

      执行脚本,配置环境变量。

      source env.sh
    2. 执行如下命令,验证PyTorch是否安装成功。
      python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"

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

表1 Ascend配套PyTorch代码分支

AscendPyTorch版本

CANN版本

支持PyTorch版本

代码分支名称

5.0.rc2

CANN 6.3.RC2

1.8.1.post2

v1.8.1-5.0.rc2

1.11.0.post1

v1.11.0-5.0.rc2

2.0.1.rc1

v2.0.1-5.0.rc2

搜索结果
找到“0”个结果

当前产品无相关内容

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