文档
注册

快速上线

本章节主要向用户介绍基于Atlas 500 Pro 智能边缘服务器(型号:3000)配置Atlas 300I Pro 推理卡,快速完成昇腾NPU(Neural-Network Processing Unit,神经网络处理器单元)驱动固件、CANN(Compute Architecture for Neural Networks,AI异构计算架构)软件的安装,实现推理业务的上线。

准备安装环境

  • 安装依赖前确保服务器能够连接外网,已配置可用的软件源和pip源。如果需要更换软件源可参考检查源,配置pip源可参考配置pip源
  • 安装驱动前需要创建驱动运行用户HwHiAiUser(运行驱动进程的用户),安装驱动时无需指定运行用户,默认即为HwHiAiUser。
    groupadd HwHiAiUser
    useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

    若用户后续需使用从AscendHub拉取的容器镜像,则请用户执行如下命令创建uid和gid为1000的驱动运行用户HwHiAiUser。

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

    若回显如下信息,请参见创建uid和gid为1000的驱动运行用户HwHiAiUser失败解决。

    groupadd:GID '1000' already exists

下载软件

相关软件的软件包名称及下载路径如下,软件分为商用版和社区版,两者功能上无区别,区别在于下载权限和是否用于商业用途。

社区版软件不需要申请下载权限可以直接下载,但软件不能用于商业用途;如果您下载软件需要用于商业用途,请下载商用版软件,但是需要申请软件下载权限。

因此如果您下载软件仅用于调试验证,推荐下载社区版软件。

表1 软件下载(社区版)

软件类型

软件包名称和下载链接

驱动

单击软件包链接,下载软件包“Ascend-hdk-310p-npu-driver_23.0.rc1_linux-aarch64.run”

固件

单击软件包链接,下载软件包“Ascend-hdk-310p-npu-firmware_6.3.0.1.241.run”

MCU

单击软件包链接,下载软件包“Ascend-hdk-310p-mcu_23.1.1.zip”

Toolkit(开发套件包)

单击软件包链接,下载软件包“Ascend-cann-toolkit_6.3.RC1_linux-aarch64.run”

表2 软件下载(商用版)

软件类型

软件包名称和下载链接

驱动

单击软件包链接,下载软件包“Ascend-hdk-310p-npu-driver_23.0.rc1_linux-aarch64.run”

固件

单击软件包链接,下载软件包“Ascend-hdk-310p-npu-firmware_6.3.0.1.241.run”

MCU

单击软件包链接,下载软件包“Ascend-hdk-310p-mcu_23.1.1.zip”

Toolkit(开发套件包)

单击软件包链接,下载软件包“Ascend-cann-toolkit_6.3.RC1_linux-aarch64.run”

上传安装包并添加权限

  1. 将MCU的zip包解压至本地文件夹,获取Ascend-hdk-310p-mcu_23.1.1.hpm安装包。
  2. 再将下载的run包和解压获取的hpm包上传至服务器任意目录(以“/home”为例)。
  3. 给安装包添加权限。
    chmod +x Ascend-hdk-310p-npu-driver_23.0.rc1_linux-aarch64.run
    chmod +x Ascend-hdk-310p-npu-firmware_6.3.0.1.241.run
    chmod +x Ascend-cann-toolkit_6.3.RC1_linux-aarch64.run

安装NPU驱动固件

如果环境OS为Linx 6.0.90/Linx 6.0.100操作系统,需要检查“/etc/pam.d/su”配置文件的“auth sufficient pam_rootok.so”字段是否被注释掉,若被注释,将“auth sufficient pam_rootok.so”前面"#"号删除,保存退出。

执行uname -r命令查看操作系统内核版本:

  • 如果内核版本在“二进制安装”安装方式对应的版本范围内,则可以直接安装NPU驱动固件。
  • 如果内核版本为“源码编译安装”安装方式对应的版本则需要先参见安装驱动源码编译所需依赖安装驱动源码编译所需的依赖,再安装NPU驱动固件。
表3 内核版本要求

host操作系统版本

软件包默认的host操作系统内核版本

安装方式

CentOS 7.6

4.14.0-115.el7a.0.1.aarch64

二进制安装

Ubuntu 18.04.1

4.15.0-29-generic

Ubuntu 20.04

5.4.0-26-generic

Ubuntu 18.04.5

4.15.0-112-generic

源码编译安装

openEuler 20.03 LTS

4.19.90-2003.4.0.0036.oe1.aarch64

Kylin V10 SP1

4.19.90-17.ky10.aarch64

Linx 6.0.90

4.19.0-0.bpo.1-linx-security-arm64

Linx 6.0.100

4.19.0-11-linx-security-arm64

# 安装NPU驱动 
./Ascend-hdk-310p-npu-driver_23.0.rc1_linux-aarch64.run --full --install-for-all
# 查看驱动加载是否成功,回显芯片信息表示加载成功
npu-smi info
# 安装NPU固件
./Ascend-hdk-310p-npu-firmware_6.3.0.1.241.run --full
# 重启OS
reboot

升级MCU

# 查询NPU ID (推理卡的设备编号)
npu-smi info -l
# 升级MCU
npu-smi upgrade -t mcu -i NPU ID -f Ascend-hdk-310p-mcu_23.1.1.hpm
# 使新版本生效
npu-smi upgrade -a mcu -i NPU ID
# 在生效新版本之后,等待30s,查询MCU版本号,确保升级成功
npu-smi upgrade -b mcu -i NPU ID

安装依赖

安装依赖以Ubuntu 20.04为例,其他操作系统安装依赖方法请参见安装依赖
# 安装OS依赖
apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev

# 安装Python3依赖
apt-get install -y python3-pip
pip3 install --upgrade pip
pip3 install attrs cython numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests absl-py

安装Toolkit

# 在/home目录下执行如下命令安装Toolkit
./Ascend-cann-toolkit_6.3.RC1_linux-aarch64.run --install --install-for-all

# 配置环境变量,若需要设置环境变量永久生效,可在~/.bashrc文件最后一行后面添加以下命令,执行source ~/.bashrc命令
source /usr/local/Ascend/ascend-toolkit/set_env.sh

运行样例

软件安装完成后,运行样例验证环境是否可用。

获取模型文件和权重文件:

  • ResNet-50网络的模型文件(*.prototxt):单击Link下载该文件。
  • ResNet-50网络的权重文件(*.caffemodel):单击Link下载该文件。
# 在服务器任意目录下获取sample仓代码(以/home目录为例)
apt-get install git
git config --global http.sslVerify "false"
git clone https://gitee.com/ascend/samples.git

# 进入“样例目录”下文中的“样例目录”均指“samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification”目录
cd samples/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification

# 获取ResNet-50原始模型
pip3 install Pillow
mkdir -p caffe_model
# 将获取的模型文件和权重文件上传至创建的“caffe_model”目录
# “样例目录”下执行如下命令,将ResNet-50原始模型转换为适配昇腾AI处理器的离线模型(*.om文件)
atc --model=caffe_model/resnet50.prototxt --weight=caffe_model/resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=Ascend310P3 --input_format=NCHW --input_fp16_nodes=data --output_type=FP32 --out_nodes=prob:0
# “样例目录”下执行如下命令准备测试图片
mkdir -p data
cd data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg --no-check-certificate
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg --no-check-certificate
python3 ../script/transferPic.py

# 编译运行
# 在“样例目录”下执行如下命令配置环境变量
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
# “样例目录”下执行如下命令编译可执行文件。
mkdir -p build/intermediates/host
cd build/intermediates/host
cmake ../../../src -DCMAKE_CXX_COMPILER=g++ -DCMAKE_SKIP_RPATH=TRUE
make
# 在“样例目录/out”目录下,执行如下命令运行编译的文件
./main
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词