云计算百科
云计算领域专业知识百科平台

华为服务器驱动、环境安装及模型转换

写在前面的话:

可能大多数人在训练模型时使用的服务器都是英伟达显卡的,若要将在英伟达显卡上训练的模型迁移到华为服务器上,该如何操作?以下流程为在只装有系统的华为服务器上的操作,整个流程参考自昇腾社区,因此建议大家到昇腾社区查找相应的操作文档。此外将操作过程中遇到的问题一并写入。

一、检查安装环境

1.检测卡是否正常在位

以root用户登录服务器,执行如下命令:

lspci | grep d500

若回显类似如下信息,则表示卡正常在位。

3b:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d500 (rev 23)

……

2.检查PCIe链路状态

执行如下命令查看PCIe链路BUS号:

lspci | grep d500

回显类似如下信息,3b:00.0表示PCIe链路BUS号。

3b:00.0 Processing accelerators: Huawei Technologies Co., Ltd. Device d500 (rev 23)

……

根据上述步骤查询的PCIe链路BUS号(3b:00.0仅为示例,请替换为实际查询的PCIe链路BUS号),执行如下命令检查PCIe链路状态。

lspci -vvvs 3b:00.0 |  grep LnkSta

在返回的信息中查看类似如下信息(建议不低于PCIe3.0(8GT/s)X8的带宽能力)。

二、安装NPU驱动固件

1.以root用户登录服务器

2.创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。

groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

3.需要安装make、dkms、gcc、kernel-devel软件包。

(1)执行如下命令检查是否安装:

make -v
rpm -qa | grep dkms
rpm -qa | grep gcc
rpm -qa | grep kernel-devel-$(uname -r)

(2)若回显相关软件包版本信息,表示已安装;若未安装请执行如下命令安装依赖。

yum install -y make dkms gcc kernel-devel-$(uname -r)

4.将驱动包和固件包上传到服务器任意目录如“/home”。(根据不同类型的卡在昇腾社区下载不同的驱动包和固件包)

5.增加驱动和固件包的可执行权限。

进入驱动包和固件包所在目录,执行如下命令。

chmod +x 驱动包名称.run

chmod +x 固件包名称.run

6.执行以下命令,完成驱动固件安装,软件包默认安装路径为“/usr/local/Ascend”。

首次安装场景,需按照“驱动 > 固件”的顺序安装驱动固件;覆盖安装场景,需按照“固件 > 驱动”的顺序安装固件驱动。

(1)安装驱动:执行以下命令,完成驱动安装。

./Ascend-hdk-xxx-npu-driver_{version}_linux-{arch}.run –full –install-for-all

*注:{version}表示软件包版本;{arch}表示架构,请以实际软件包名替换。

若系统出现如下关键回显信息,则表示驱动安装成功。

Driver package installed successfully!

(2)安装固件,执行以下命令,完成固件安装。

./Ascend-hdk-xxx-npu-firmware_{version}.run –full

若系统出现如下关键回显信息,表示固件安装成功。

Firmware package installed successfully! Reboot now or after driver installation for the installation/upgrade to take effect

7.执行reboot命令重启系统,使NPU驱动固件生效。

8.重启系统后,以root用户登录服务器。

9.执行npu-smi info查看驱动加载是否成功。

若出现类似如下图所示回显信息,说明加载成功。

三、安装CANN

1.安装依赖

安装系统依赖前,确保服务器已连接外网,并配置软件源。

(1)查询服务器是否连接外网。

wget www.hiascend.com

(2)查询服务器是否配置软件源

yum makecache

如果以root用户安装Python后,其他用户也需要使用Python,则在安装系统依赖前,请确保root用户的umask值为0022。

执行如下命令,查询umask值。

umask

2.以root用户登录服务器,安装依赖软件

yum install -y gcc gcc-c++ make cmake sqlite-devel zlib-devel openssl-devel libffi-devel net-tools git

要求3.5.1版本及以上cmake(执行cmake –version命令查询),若cmake版本低于3.5.1,需安装3.5.2版本cmake

(1)使用wget下载cmake源码包,可以下载到安装服务器任意目录,命令为:

wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz –no-check-certificate

(2)进入下载后的目录,解压源码包,命令为:

tar -zxvf cmake-3.5.2.tar.gz

(3)进入解压后的文件夹,执行配置,编译和安装命令:

cd cmake-3.5.2
./bootstrap –prefix=/usr
make
make install

(4)安装完成后重新执行cmake –version查看版本号。

要求7.3.0版本及以上gcc(执行gcc –version命令查询)。

3.检查系统是否安装满足版本要求的Python开发环境(支持Python3.7.x至3.10.x)

python3 –version
pip3 –version

若已安装Python3,未安装pip3,请执行如下命令安装。

yum install -y python3-pip

4.执行如下命令安装所需的Python第三方库。

pip3 install –upgrade pip
pip3 install attrs cython numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py

5.安装CANN

安装前须知:安装Toolkit软件前请确保安装目录可用空间大于7G,如不满足请清理空间或更换安装目录。

如果同时安装Toolkit和kernels,请按照“Toolkit > kernels软件”的顺序进行安装。

(1)以root用户登录服务器。

(2)将获取的Toolkit和kernels软件包上传到安装环境任意路径如“/home”。(软件包可在升腾社区获取)

增加对软件包的可执行权限,在软件包所在目录执行如下命令。

chmod +x Toolkit软件包名称.run

chmod +x kernels软件包名称.run

(3)安装Toolkit和kernels软件。

在软件包所在目录执行以下命令。

./Ascend-cann-toolkit_<version>_linux-<arch>.run –install –install-for-all –quiet

./Ascend-cann-kernels_<version>_linux-<arch>.run –install –install-for-all –quiet

安装完成后,若显示如下信息,则说明软件安装成功:

xxx install success

xxx表示安装的实际软件包名。

Toolkit安装后的路径:“/usr/local/Ascend”。

6.配置环境变量,用户可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:

(1)执行vi ~/.bashrc命令,打开.bashrc文件。

(2)按“i”键进入编辑模式,在文件最后一行后面添加如下内容。

source /usr/local/Ascend/ascend-toolkit/set_env.sh

(3)按“Esc”键退出编辑模式,执行:wq!命令保存文件并退出。

(4)执行source ~/.bashrc命令使其立即生效。

四、安装NNAL

NNAL(Ascend Transformer Boost 加速库)

1.增加可执行权限

进入软件包所在目录,并为软件包添加可执行权限:

chmod +x nnal软件包名称.run

2.校验软件包完整性

执行以下命令校验软件包的完整性和一致性:

./Ascend-cann-nnal_xxx_linux-aarch64.run –check

如果校验通过,会显示校验成功的信息。

3.安装 NNAL

执行以下命令安装 NNAL:

./Ascend-cann-nnal_xxx_linux-aarch64.run –install –quiet

如果未指定安装路径,默认安装路径为:

root 用户:/usr/local/Ascend。

安装日志路径:/var/log/ascend_seclog/ascend_nnal_install.log

4.配置环境变量,用户可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:

(1)执行vi ~/.bashrc命令,打开.bashrc文件。

(2)按“i”键进入编辑模式,在文件最后一行后面添加如下内容。

source /usr/local/Ascend/nnal/atb/set_env.sh

(3)按“Esc”键退出编辑模式,执行:wq!命令保存文件并退出。

(4)执行source ~/.bashrc命令使其立即生效。

五、安装ToolBox

1.以root用户登录服务器。

2.将获取的ToolBox软件包上传到安装环境任意路径(如“/home”)。

3.增加对软件包的可执行权限。

在软件包所在目录执行如下命令。

chmod +x toolbox软件包名称.run

4.安装ToolBox软件。

在软件包所在目录执行以下命令。

./Ascend-mindx-toolbox_xxx_linux-aarch64.run –install –install-for-all –quiet

安装完成后,若显示如下信息,则说明软件安装成功:

xxx install success

xxx表示安装的实际软件包名。

安装后的路径:“/usr/local/Ascend”。

5.配置环境变量,用户可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:

(1)执行vi ~/.bashrc命令,打开.bashrc文件。

(2)按“i”键进入编辑模式,在文件最后一行后面添加如下内容。

source /usr/local/Ascend/toolbox/set_env.sh

(3)按“Esc”键退出编辑模式,执行:wq!命令保存文件并退出。

(4)执行source ~/.bashrc命令使其立即生效。

六、安装PyTorch 与torch_npu

根据不同的CANN版本安装不同版本的PyTorch和torch_npu 

以CANN8.0.0版本为例,使用pip方式安装2.1.2版本PyTorch,Python版本为3.8。

1.安装PyTorch

(1)使用以下命令下载软件包

wget https://download.pytorch.org/whl/cpu/torch-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

(2)使用以下命令进行安装

pip3 install torch-2.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

2.安装torch_npu 

(1)使用以下命令下载软件包,torch_npu 版本为6.0.0

wget https://gitee.com/ascend/pytorch/releases/download/v6.0.0-pytorch2.1.0/torch_npu-2.1.0.post10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

(2)使用以下命令进行安装

pip3 install torch_npu-2.1.0.post10-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

执行如下命令,若返回True则说明安装成功。

python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"

PyTorch版本为2.1.0,若出现“找不到google或者protobuf或者protobuf版本过高”报错时,需执行如下命令:

pip3 install protobuf==3.20

3.安装torchvision

与PyTorch2.1.0版本相对应的torchvision版本为0.16.0,使用如下命令安装torchvision。

pip3 install torchvision==0.16.0

七、安装MindStudio

MindStudio类似于PyCharm,安装完成后即可在服务器修改、调试程序。

1.MindStudio7.0.0版本下载地址

https://support.huawei.com/enterprise/zh/ascend-computing/mindstudio-pid-251913966/software/261723310?idAbsPath=fixnode01|23710424|251366513|254884019|261408772|251913966

2.检查源

安装过程需要下载相关依赖,请确保服务器能够连接网络,请在root用户下执行如下命令检查源是否可用。

yum repolist

3.安装依赖

(1)检查系统是否安装Python依赖以及gcc等软件。

分别使用如下命令检查是否安装gcc,make以及Python依赖软件等。

gcc –version
g++ –version
make –version
cmake –version
rpm -qa |grep unzip
rpm -qa |grep zlib-devel
rpm -qa |grep bzip2-devel
rpm -qa |grep sqlite-devel
rpm -qa |grep libffi-devel
rpm -qa |grep openssl-devel
rpm -qa |grep xz-devel
rpm -qa |grep pciutils
rpm -qa |grep net-tools
rpm -qa |grep sqlite-devel
rpm -qa |grep lapack-devel
rpm -qa |grep gcc-gfortran
rpm -qa |grep xterm
rpm -qa |grep firefox
rpm -qa |grep openssh
rpm -qa | grep xdg-utils
rpm -qa | grep dbus-glib-devel
rpm -qa | grep gdb

若分别有返回信息则说明已经安装。

否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可):

sudo yum install -y gcc gcc-c++ make cmake unzip zlib-devel bzip2-devel sqlite-devel libffi-devel openssl-devel pciutils net-tools lapack-devel gcc-gfortran xterm firefox openssh xdg-utils dbus-glib-devel gdb

使用root用户安装依赖,请将命令中的sudo删除。

(2)使用MindStudio的安装用户上传软件包至待安装环境如“opt”。

(3)进入opt路径解压MindStudio软件包。

使用MindStudio的安装用户在软件包所在路径执行如下命令,解压MindStudio软件包。

tar -zxvf MindStudio_{version}_linux_{arch}.tar.gz

(4)使用MindStudio的安装用户进入软件包解压后的MindStudio/bin目录。

cd /opt/MindStudio/bin

执行以下命令,启动MindStudio。

./MindStudio.sh

如果该命令不能启动MindStudio,使用以下方式启动:

a.执行以下命令,查询当前环境的shell解析方式。

echo $SHELL

b.回显为以下内容,表示当前环境的命令行需要使用bash解析。

/bin/bash

c.使用以下命令,启动MindStudio。

bash MindStudio.sh

八、模型转换onnx2om

将训练的pt模型使用export.py转换为onnx模型,使用如下命令将onnx模型转换为华为服务器适用的om模型。

atc –model=best.onnx –framework=5 –output=best — input_format=NCHW –soc_version= Ascend310P3

其中:–framework表示原始框架类型,5代表ONNX。

–output=best指定输出的 .om 文件名(不包括扩展名)

–soc_version=Ascend310P3,昇腾AI处理器的型号。

若提示如下信息,则说明模型转换成功。

ATC run success, welcome to the next use.

九、U盘挂载

在服务器上第一次插入U盘时,不显示U盘内容,此时需要进行U盘挂载。

1. 安装 exFAT 支持

由于 Kylin 系统默认不支持 exFAT 文件系统,需要安装 exfat-utils 和 fuse-exfat 包。

sudo yum install exfat-utils fuse-exfat

2. 加载 FUSE 模块

确保 FUSE 模块已加载到内核中,运行以下命令加载 FUSE 模块:

sudo modprobe fuse

3. 挂载 exFAT 文件系统

插入 U 盘后,使用以下步骤挂载 exFAT 文件系统。

(1)查找设备名称: 使用 lsblk 或 fdisk -l 命令查找 U 盘的设备名称,例如 /dev/sdc1。

lsblk

(2)创建挂载点:

sudo mkdir /mnt/usb

(3)手动挂载: 使用以下命令挂载 exFAT 文件系统:

sudo mount -t exfat /dev/sdc1 /mnt/usb

4. 验证挂载

运行以下命令检查挂载是否成功:

ls /mnt/usb

如果能够看到 U 盘的内容,说明挂载成功

5.在拔出 U 盘之前,先卸载它,以避免数据丢失。运行以下命令卸载 U 盘:

sudo umount /mnt/usb

十、文本编辑

除了安装的MindStudio可以进行文本编辑外,在未安装MindStudio时还可使用以下方法进行文本编辑。

1.使用nano命令行文本编辑器

(1)输入以下命令创建或编辑 Python 文件:nano myscript.py

(2)按 Ctrl + O 保存文件,然后按 Enter 确认文件名。

(3)按 Ctrl + X 退出 nano。

2.使用 vim命令行文本编辑器

输入以下命令创建或编辑 Python 文件:vim myscript.py

(1)按 i 进入插入模式,开始编辑文件。

(2)编辑完成后,按 Esc 退出插入模式。

(3)输入 :wq! 保存并退出文件。

写在最后的话:

巅峰的后面就是低谷,这是世间的规律,谁也逃不掉。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 华为服务器驱动、环境安装及模型转换
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!