安装前请根据表1完成相应配套版本CANN软件的安装。若用户需要详细了解CANN软件和其安装流程,可从安装须知章节开始了解手册内容。若用户仅进行离线推理,请跳过此章节。
昇腾开发PyTorch Adapter插件用于适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力,本章节指导用户安装PyTorch框架和PyTorch Adapter插件。
根据不同的PyTorch使用场景,用户可以选择以下三种方式安装PyTorch:
请前往安装PyTorch环境依赖继续安装流程。
如果用户不确定自己的软件包版本,可参考查询软件包版本信息进行查询。
pip3 install pyyaml pip3 install wheel pip3 install typing_extensions
用户可选择编译安装方式安装PyTorch。请参考编译安装PyTorch。
在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
或使用wget命令下载。
wget https://download.pytorch.org/whl/torch-2.0.1-cp38-cp38-manylinux2014_aarch64.whl
# 安装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
# 若用户在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
样例代码如下所示。
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
# 若用户在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
python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
#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
混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。在迁移完成、训练开始之前,基于NPU处理器的架构特性,用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。混合精度的介绍可参考《PyTorch 模型迁移和训练指南》中的“自动混合精度(AMP)”章节,APEX模块的使用介绍可参考《PyTorch 模型迁移和训练指南》中的“参考信息>模型套件和第三方库>APEX”章节。
推荐用户通过编译源码包安装APEX模块。
选择编译安装方式安装时需要安装系统依赖。目前支持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版本以上。
git clone -b 分支名称 https://gitee.com/ascend/apex.git
分支名称请根据实际使用的PyTorch版本选择,例如使用PyTorch1.11.0-5.0.rc2,则apex分支也使用5.0.rc2。
cd apex bash scripts/build.sh
请确保NPU版本的PyTorch可以正常使用,否则会影响APEX的编译。
# 若用户在x86架构下安装,请将命令中文件包名中的“aarch64”改为“x86_64”。 pip3 install apex/dist/apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl