安装PyTorch
安装前请参考表1完成相应配套版本CANN软件的安装。若用户需要详细了解CANN软件和其安装流程,可从安装须知章节开始了解手册内容。若用户仅进行离线推理,请跳过此章节。
昇腾开发PyTorch Adapter插件用于适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力,本章节指导用户安装PyTorch框架和PyTorch Adapter插件。
对应分支代码包下载
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)。
根据不同的CANN版本和PyTorch使用场景,用户可以选择以下方式安装PyTorch:
- 获取镜像下载安装PyTorch:若用户希望在容器中安装使用PyTorch,可以点击链接前往AscendHub昇腾PyTorch镜像仓库,根据表1选择对应版本的镜像下载使用。
- 二进制whl包安装:若用户使用CANN 6.0.1版本(AscendPyTorch 3.0.0),推荐用户使用编好的二进制whl包安装PyTorch 1.8.1和PyTorch 1.11.0。请前往安装PyTorch环境依赖继续安装流程。
- 编译安装:若用户使用CANN 6.0.RC1及以下版本(AscendPyTorch 3.0.rc3及以下),则只能采用编译安装方式安装PyTorch。请在安装PyTorch环境依赖之后,前往编译安装PyTorch进行安装。
AscendPyTorch版本 |
CANN版本 |
支持PyTorch版本 |
AscendHub镜像版本/名称 |
---|---|---|---|
3.0.0 |
CANN 6.0.1 |
1.5.0.post8 |
22.0.0/pytorch-modelzoo |
1.8.1 |
22.0.0-1.8.1/pytorch-modelzoo |
||
1.11.0.rc2(beta) |
- |
||
3.0.rc3 |
CANN 6.0.RC1 |
1.5.0.post7 |
22.0.RC3/pytorch-modelzoo |
1.8.1.rc3 |
22.0.RC3-1.8.1/pytorch-modelzoo |
||
1.11.0.rc1(beta) |
- |
||
3.0.rc2 |
CANN 5.1.RC2 |
1.5.0.post6 |
22.0.RC2/pytorch-modelzoo |
1.8.1.rc2 |
22.0.RC2-1.8.1/pytorch-modelzoo |
||
3.0.rc1 |
CANN 5.1.RC1 |
1.5.0.post5 |
22.0.RC1/pytorch-modelzoo |
1.8.1.rc1 |
- |
||
2.0.4 |
CANN 5.0.4 |
1.5.0.post4 |
21.0.4/pytorch-modelzoo |
2.0.3 |
CANN 5.0.3 |
1.5.0.post3 |
21.0.3/pytorch-modelzoo |
2.0.2 |
CANN 5.0.2 |
1.5.0.post2 |
21.0.2/pytorch-modelzoo |
安装PyTorch环境依赖
pip3 install pyyaml pip3 install wheel
安装PyTorch
推荐用户使用编好的二进制whl包安装PyTorch 1.8.1和PyTorch 1.11.0。
PyTorch 1.5.0只支持编译安装方式安装。用户也可选择编译安装方式安装PyTorch 1.8.1和PyTorch 1.11.0。请参考编译安装PyTorch。
- 安装官方torch包。
- x86_64
# 安装1.8.1版本 pip3 install torch==1.8.1+cpu # 安装1.11.0版本 pip3 install torch==1.11.0+cpu
若执行以上命令安装cpu版本PyTorch报错,请点击下方PyTorch官方链接下载whl包安装。
- aarch64
- 进入安装目录,执行如下命令获取鲲鹏文件共享中心上对应版本的whl包。
# 安装1.8.1版本 wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.8.1-cp37-cp37m-linux_aarch64.whl # 安装1.11.0版本 wget https://repo.huaweicloud.com/kunpeng/archive/Ascend/PyTorch/torch-1.11.0-cp37-cp37m-linux_aarch64.whl
- 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
# 安装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
- 进入安装目录,执行如下命令获取鲲鹏文件共享中心上对应版本的whl包。
- x86_64
- 安装PyTorch插件torch_npu。以下命令以在aarch64架构下安装为例。
- 进入安装目录,执行如下命令获取PyTorch插件的whl包。
# 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。 # 安装1.8.1版本 wget https://gitee.com/ascend/pytorch/releases/download/v3.0.0-pytorch1.8.1/torch_npu-1.8.1-cp37-cp37m-linux_aarch64.whl # 安装1.11.0版本 wget https://gitee.com/ascend/pytorch/releases/download/v3.0.0-pytorch1.11.0/torch_npu-1.11.0rc2-cp37-cp37m-linux_aarch64.whl
- 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
# 若用户在x86架构下安装插件,请将命令中文件包名中的“aarch64”改为“x86_64”。 # 安装1.8.1版本 pip3 install torch_npu-1.8.1-cp37-cp37m-linux_aarch64.whl # 安装1.11.0版本 pip3 install torch_npu-1.11.0rc2-cp37-cp37m-linux_aarch64.whl
- 进入安装目录,执行如下命令获取PyTorch插件的whl包。
- 安装对应框架版本的torchvision。
#PyTorch 1.8.1需安装0.9.1版本,PyTorch 1.11.0需安装0.12.0版本 pip3 install torchvision==0.9.1
安装APEX混合精度模块
混合精度训练是在训练时混合使用单精度(float32)与半精度(float16)数据类型,将两者结合在一起,并使用相同的超参数实现了与float32几乎相同的精度。在迁移完成、训练开始之前,基于NPU处理器的架构特性,用户需要开启混合精度,可以提升模型的性能。APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。APEX模块的使用介绍可参考《PyTorch 网络模型迁移和训练指南》中的“混合精度说明“章节。
- 在PyTorch 1.8.1和1.11.0版本下,推荐用户使用编好的二进制whl包安装APEX模块。
- 进入安装目录,执行如下命令获取获取PyTorch版本对应的APEX模块whl包。
# 若用户在x86架构下安装,请将命令中文件包名中的“aarch64”改为“x86_64”。 # 1.8.1版本 wget https://gitee.com/ascend/apex/releases/download/v3.0.0-1.8.1/apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl # 1.11.0版本 wget https://gitee.com/ascend/apex/releases/download/v3.0.0-1.11.0/apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl
- 执行如下命令安装。如果使用非root用户安装,需要在命令后加--user。
# 若用户在x86架构下安装,请将命令中文件包名中的“aarch64”改为“x86_64”。 pip3 install apex-0.1_ascend-cp37-cp37m-linux_aarch64.whl
- 进入安装目录,执行如下命令获取获取PyTorch版本对应的APEX模块whl包。
- PyTorch 1.5.0版本配套APEX模块只支持编译安装。使用编译安装APEX模块请参考相关README文档。