pip3 install wheel pyyaml typing_extensions expecttest
若用户需要重装Python,则Python依赖和PyTorch环境依赖也需要重新安装。
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)。
用户应根据所在组织的安全规定,选择符合要求的版本,或者bugfix、补丁版本、升级版本等进行安装(使用以下操作步骤中提供的安装包或官方发布包,或采用自行源码编译的方式进行安装)。
此安装方式为二进制包安装(仅支持Python3.7版本)。若Python版本为3.8或3.9,请参见安装PyTorch 1.8.1或1.11.0安装PyTorch。
wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.8.1-cp37-cp37m-linux_aarch64.whl pip3 install torch-1.8.1-cp37-cp37m-linux_aarch64.whl
wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.11.0-cp37-cp37m-linux_aarch64.whl pip3 install torch-1.11.0-cp37-cp37m-linux_aarch64.whl
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 pip3 install torch_npu-1.8.1.post1-cp37-cp37m-linux_aarch64.whl
wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc1-pytorch1.11.0/torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl pip3 install torch_npu-1.11.0-cp37-cp37m-linux_aarch64.whl
如果下载whl包时出现“ERROR: cannot verify gitee.com's certificate”报错,可在下载命令后加上--no-check-certificate参数避免此问题。
命令示例如下(以PyTorch 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 --no-check-certificate
#PyTorch 1.8.1需安装0.9.1版本,PyTorch 1.11.0需安装0.12.0版本 pip3 install torchvision==0.9.1
python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
如果输出包含如下关键Tensor信息则说明PyTorch安装成功。
tensor([[-0.4385, 4.3316, -3.0235, 0.5962], [ 2.7730, 1.5983, 2.4719, -1.9504], [-3.1414, 0.8352, -1.9186, -1.6799]], device='npu:0')
混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。
编译源码包安装APEX模块步骤如下。
以CentOS与Ubuntu操作系统为例。其它操作系统请参见表1,选择相应的安装命令进行安装。
apt-get install -y git patch
yum install -y git patch
若出现“ModuleNotFoundError: No module named 'dnf'”报错信息,请参见No module named 'dnf'解决。
git clone -b master https://gitee.com/ascend/apex.git
如果返回类似以下报错信息:
fatal: unable to access 'https://gitee.com/ascend/apex.git/': SSL certificate problem: self signed certificate in certificate chain
则执行如下命令关闭证书检验后,再执行上述命令获取源码。
git config --global http.sslVerify "false"
cd apex git clone https://github.com/NVIDIA/apex.git
cd apex git checkout 4ef930c1c884fdca5f472ab2ce7cb9b505d26c1a cd ..
cd scripts bash gen.sh
cd ../apex python3 setup.py --cpp_ext --npu_float_status bdist_wheel
请确保NPU版本的PyTorch可以正常使用,否则会影响APEX的编译。
cd dist pip3 install apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl