手把手教你在昇腾平台上搭建PyTorch训练环境
PyTorch是业界流行的深度学习框架,用于开发深度学习训练脚本,默认运行在CPU/GPU上。在昇腾AI处理器上运行PyTorch业务时,需要搭建异构计算架构CANN(Compute Architecture for Neural Networks)软件开发环境,并安装PyTorch 框架,从而实现训练脚本的迁移、开发和调试。

下面带大家了解如何在昇腾平台上快速安装驱动固件、CANN软件及PyTorch框架。
环境检查
在昇腾平台上安装驱动和固件前,首先需要检查安装环境的NPU是否正常在位,并确认操作系统版本与内核版本是否满足对应的版本配套要求。
以Atlas 800 训练服务器(型号:9010)(昇腾AI处理器型号Ascend 910)为例,检查NPU是否正常在位可执行lspci | grep d801命令,如果服务器上有 N路NPU,回显N行含“d801”字段,则表示NPU正常在位。
安装驱动和固件
1. 创建驱动运行用户HwHiAiUser。
2. 安装驱动和固件。
在昇腾社区的“固件与驱动”下载页面下载配套产品的固件驱动软件,并上传到服务器任意目录,然后参考如下命令进行固件驱动软件包的安装,需要注意,需要以root用户进行安装。
a.为软件包增加可执行权限。
b.安装驱动。
默认安装路径为“/usr/local/Ascend”,出现类似如下回显信息,说明安装成功。
您还可以通过执行npu-smi info命令查看,出现类似如下信息,说明驱动加载成功。

c.安装固件。
出现类型如下回显信息,说明安装成功。
3. 驱动固件安装完成后,重启系统。
安装CANN软件依赖
CANN软件安装过程需要下载相关依赖,请确保安装环境能够连接网络,并已配置软件源,以下步骤以root用户操作为例。
1. 安装第三方依赖
Ubuntu系统(Debian、UOS20、Linux等系统操作一致):
openEuler系统(EulerOS、CentOS、BCLinux等系统操作一致):
2. 安装Python及其依赖
以安装Python 3.7.5为例。
1)通过wget命令下载python3.7.5源码包。
2)解压缩源码包
3)源码编译安装Python。
以--prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python3.7.5路径。
4)设置python3.7.5环境变量。
5)检查是否安装成功。
返回相关版本信息,则说明安装成功。
6)安装pip依赖。
安装CANN开发套件包
1. 从昇腾社区“CANN”产品页,根据操作系统架构下载CANN开发套件包。
例如“Ascend-cann-toolkit_6.3.RC1_linux-x86_64.run”,并将其上传到安装环境任意目录。
2. 安装CANN开发套件包。
安装完成后,若显示如下信息,则说明软件安装成功:
xxx表示安装的实际软件包名。
安装PyTorch
CANN软件包安装完成后,就可以进行PyTorch的安装了。开发者可以选择PyTorch 1.8.1或PyTorch 1.11.0版本,PyTorch安装成功后再安装APEX混合精度模块。在安装Pytorch前,需要先安装以下依赖。
安装PyTorch 1.8.1
1)安装官方torch包。
x86_64架构
aarch64架构
2)安装昇腾提供的PyTorch适配插件torch_npu。
x86_64架构
aarch64架构
此处以5.0.rc1版本为例,实际请选择CANN配套的PyTorch插件版本进行安装。
3)安装对应框架版本的torchvision。
4)验证是否安装成功。
如果输出包含如下关键信息则说明PyTorch安装成功。
安装PyTorch 1.11.0
1)安装官方torch包。
x86_64架构
aarch64架构
2)安装昇腾提供的PyTorch适配插件torch_npu。
x86_64架构
aarch64架构
3)安装对应框架版本的torchvision。
4)验证PyTorch是否安装成功。
如果输出包含如下关键信息则说明PyTorch安装成功。
安装APEX混合精度模块
APEX混合精度模块是一个集优化性能、精度收敛于一身的综合优化库,可以提供不同场景下的混合精度训练支持。
1. 安装依赖,以CentOS与Ubuntu操作系统为例。
2. 获取昇腾适配的APEX源码以及原生APEX代码。
3. 切换到原生APEX代码对应分支。
4. 在昇腾适配APEX源码目录的scripts路径下生成昇腾适配全量代码。
5. 编译生成昇腾适配的APEX二进制安装包。
6. 安装APEX。
86_64架构
aarch64架构
到此,PyTorch训练环境就搭建完毕了,开发者可以将PyTorch网络脚本迁移到昇腾平台执行训练,使用昇腾平台的强大算力。
关于更多文档介绍,可以在昇腾文档中心[1]查看,您也可在“昇腾社区在线课程[2]”板块学习视频课程,学习过程中的任何疑问,都可以在“昇腾论坛[3]”互动交流!
相关参考

相关推荐