选择编译安装方式安装时需要安装系统依赖。目前支持CentOS与Ubuntu操作系统。
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版本以上。
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 1.8.1版本为例。
pip3 install torch==1.8.1+cpu
若执行以上命令安装cpu版本PyTorch报错,请点击下方PyTorch官方链接下载whl包安装。
执行如下安装命令:
# 用户请根据自己实际情况修改命令中的安装包名 pip3 install torch-1.8.1+cpu-cp37-cp37m-linux_x86_64.whl
git clone -b v1.8.1 https://github.com/pytorch/pytorch.git --depth=1 pytorch_v1.8.1
cd pytorch_v1.8.1 git submodule sync git submodule update --init --recursive
export USE_XNNPACK=0
python3 setup.py install
# 下载对应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
# 请用户根据实际情况更改命令中的torch_npu包名 pip3 install --upgrade dist/torch_npu-1.8.1.post2-cp38-cp38-linux_aarch64.whl
#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
# 配置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
python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
显示如下回显证明PyTorch框架与插件安装成功。