编译安装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 1.8.1或1.11.0
以下操作步骤以安装PyTorch 1.8.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架构下均可使用。
- 下载PyTorch v1.8.1源码包,1.11.0版本请替换版本号为v1.11.0。
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源码包,1.11.0版本请替换版本号为v1.11.0。
- 快速安装。仅在x86_64架构下支持。
- 编译生成PyTorch插件的二进制安装包。请参考表1下载对应PyTorch版本分支代码。
# 下载对应PyTorch版本分支代码,进入插件根目录,以v1.8.1-5.0.rc1为例,其他版本请替换对应版本号 git clone -b v1.8.1-5.0.rc1 https://gitee.com/ascend/pytorch.git cd pytorch # 指定Python版本编包方式,以Python3.7为例,其他Python版本请使用 --python=3.8或--python3.9 bash ci/build.sh --python=3.7
- 安装pytorch/dist目录下生成的插件torch_npu包,如果使用非root用户安装,需要在命令后加--user。
# 请用户根据实际情况更改命令中的torch_npu包名 pip3 install --upgrade dist/torch_npu-1.8.1.post1-cp38-cp38-linux_aarch64.whl
- 安装对应框架版本的torchvision。
#PyTorch 1.8.1需安装0.9.1版本,PyTorch 1.11.0需安装0.12.0版本 pip3 install torchvision==0.9.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 # 导入依赖库 export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openblas/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib64/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/aarch64_64-linux-gnu
执行脚本,配置环境变量。
source env.sh
- 执行如下命令,验证PyTorch是否安装成功。
python -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
显示如下回显证明PyTorch框架与插件安装成功。
- 新建环境变量shell脚本env.sh,写入以下代码:
父主题: 常用操作