【环境部署系列 07】Ascend 310B(推理)Atlas 500 A2小站环境部署

一、Atlas 500 A2小站3D图

https://info.support.huawei.com/computing/server3D/res/server/atlas500a2/index.html?lang=cn
在这里插入图片描述
Atlas 500 A2小站,整体推理算力与上一代持平,CPU强于上一代,由4个TAISHANV200M处理器核组成;

视频编解码能力,远优于上一代:

支持H.264/H.265 Decoder硬件解码,40路1080P

支持H.264/H.265 Encoder硬件编码,20路1080P

二、登陆环境

在这里插入图片描述

Atlas 500 A2小站与PC直连,Atlas 500 A2小站 网口0的默认IP地址为192.168.2.111,网口1~4的默认IP地址为192.168.3.111。

登陆Web界面后,输入默认用户名及默认密码,即可对小站进行各类操作。

默认用户名:admin
默认密码:Edge@12#$

三、Atlas 500 A2 小站固件版本升级

1. 在主菜单中选择“管理 > 固件升级 > 系统升级”。

图1 系统固件升级
在这里插入图片描述

2. 单击“升级文件”后的,选择升级文件。

图2 选择升级文件
在这里插入图片描述
【说明】

文件名称长度为1~255个字符,可由英文字母、数字、下划线、点和短横线组成。
上传过程中,请勿切换或者关闭当前页面,否则会导致上传失败。
升级文件支持MCU、NPU和Firmware三种固件类型的zip包文件,文件大小需要小于512MB。

3. 单击“点击升级”。

【须知】

升级过程中请不要关闭电源,以免损坏设备。
升级过程中请不要对Atlas 500 A2 智能小站进行业务配置及其它维护类操作,以免配置丢失或升级失败。
不支持连续两次点击升级,否则可能导致升级失败。

升级包生效后,系统自动重启。

升级完成后,系统会跳转到登录界面,此时系统正在重启,请耐心等待1分钟,然后登录确认升级是否成功。

可在页面查看升级版本号、升级结果等信息。
图3 查看升级信息
在这里插入图片描述

4. 单击“点击生效”,弹出操作确认提示框。

图4 点击生效
在这里插入图片描述

5. 单击“确认”。等待系统完成重启。

【说明】

升级固件版本后,请刷新浏览器或清除缓存后再登录Atlas IES,避免因浏览器缓存问题导致页面加载不完全。

四、通过SSH登录

1. 登录IES命令行界面。

a. 使用SSH登录IES命令行界面。
b. 分别输入用户名和密码。

默认用户名:admin
默认密码:Edge@12#$

2. 进入develop模式。

a. 执行如下命令,获取root权限。
develop

回显信息如下:

IES:/->develop
input root passwd
Password:
Last login: Tue Jun  4 15:38:59 UTC 2019 on pts/0 
Euler:~ #
b. 按提示输入root密码。

默认用户名:root
默认密码:Edge@SYS3

五、配置和挂载磁盘分区

注意事项

在插拔硬盘和U盘等外接设备前,需要先在Atlas IES WebUI的“本地磁盘管理”页面,解挂已配置好的外接设备。待完成插拔操作并重启系统后,重新挂载磁盘分区。否则,可能会导致数据读取失败或数据写入至其他磁盘分区。

配置和挂载磁盘分区会影响磁盘存储的数据,请谨慎操作。

操作步骤

1. 登录Atlas IES WebUI。

2. 在主菜单中依次选择“管理 > 磁盘 > 本地磁盘管理”。

进入“本地磁盘管理”页面。

图5 本地磁盘管理
在这里插入图片描述

3. 在磁盘列表区域,单击磁盘“操作”列的“创建分区”。

弹出“创建分区”窗口。

图6 创建分区
在这里插入图片描述

4. 配置创建分区参数。

图7 配置分区参数
在这里插入图片描述
表1 创建分区参数

参数名称参数说明
设备类型当前设备类型。
总容量设备的总容量。
剩余容量设备的剩余容量。
分区个数选择所要的分区个数。最多可选择16个分区。
分区包括分区容量和文件系统。

5. 将新建的分区挂载到挂载目录。

a. 单击目标磁盘前的,展开分区列表信息。

图8 分区列表
在这里插入图片描述

b. 单击待挂载条目后的“挂载”。

弹出“挂载分区”对话框。

图9 挂载分区
在这里插入图片描述

c. 输入挂载路径。
  • 挂载路径格式要求:长度为1~255个字符,可由数字、字母和-/_任意字符组成,必须以“/”开头,不能包含空格。
  • 默认可输入的挂载路径为“/opt/mount/”。若用户想在其他路径下挂载,需要先执行/usr/local/mindx/MindXOM/tools/mount_white_path
    add Absolute_Path命令,将挂载路径手动添加到白名单中。
  • 挂载路径不能为已有挂载路径的子目录。
  • 挂载路径不能在系统中存在。

【说明】

如果挂载失败,则该分区可能被损坏。请删除该分区,然后重新创建分区。
d. 单击“确定”。

【说明】

挂载点目录的默认权限为755。用户可通过登录develop模式下执行chmod命令来修改权限。

磁盘挂载建议划分两个分区:
一个分区挂载到/home/disk 供业务使用(具体路径可自定义,建议挂载在/home目录下)
一个分区挂载到/var/lib/docker供容器存储使用(系统安全要求,路径不可改变)

六、镜像获取

https://ascendhub.huawei.com/#/detail/ascend-infer-310b

开发镜像下载:23.0.RC1-dev-arm64
部署镜像下载:23.0.RC1-arm64

在这里插入图片描述
Atlas 500 A2小站是一个嵌入式的产品,系统上不适合安装各类软件,如果有需要,可以部署在容器内。

开发过程中,我们可以通过拉取开发镜像,在开发镜像内可以完成 模型转换 & 模型推理 及 业务开发 & 业务部署。

七、容器启动

容器启动命令可以参考如下:

 docker run -it -u root --net=host \
 --device=/dev/upgrade:/dev/upgrade \
 --device=/dev/davinci0:/dev/davinci0 \
 --device=/dev/davinci_manager \
 --device=/dev/vdec:/dev/vdec \
 --device=/dev/vpc:/dev/vpc \
 --device=/dev/pngd:/dev/pngd \
 --device=/dev/venc:/dev/venc \
 --device=/dev/sys:/dev/sys \
 --device=/dev/svm0 \
 --device=/dev/ts_aisle:/dev/ts_aisle \
 --device=/dev/dvpp_cmdlist:/dev/dvpp_cmdlist \
 -v /etc/sys_version.conf:/etc/sys_version.conf:ro \
 -v /etc/hdcBasic.cfg:/etc/hdcBasic.cfg:ro \
 -v /usr/lib64/libaicpu_processer.so:/usr/lib64/libaicpu_processer.so:ro \
 -v /usr/lib64/libaicpu_prof.so:/usr/lib64/libaicpu_prof.so:ro \
 -v /usr/lib64/libaicpu_sharder.so:/usr/lib64/libaicpu_sharder.so:ro \
 -v /usr/lib64/libadump.so:/usr/lib64/libadump.so:ro \
 -v /usr/lib64/libtsd_eventclient.so:/usr/lib64/libtsd_eventclient.so:ro \
 -v /usr/lib64/libaicpu_scheduler.so:/usr/lib64/libaicpu_scheduler.so:ro \
 -v /usr/lib64/libcrypto.so.1.1:/usr/lib64/libcrypto.so.1.1:ro \
 -v /usr/lib64/libyaml-0.so.2:/usr/lib64/libyaml-0.so.2:ro \
 -v /usr/lib64/libdcmi.so:/usr/lib64/libdcmi.so:ro \
 -v /usr/lib64/libmpi_dvpp_adapter.so:/usr/lib64/libmpi_dvpp_adapter.so:ro \
 -v /usr/lib64/aicpu_kernels/:/usr/lib64/aicpu_kernels/:ro \
 -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi:ro \
 -v /dev/shm:/dev/shm \
 -v /usr/lib64/libstackcore.so:/usr/lib64/libstackcore.so:ro \
 -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64:ro \
 -v /var/slogd:/var/slogd:ro \
 -v /var/dmp_daemon:/var/dmp_daemon:ro \
 -v /etc/slog.conf:/etc/slog.conf:ro \
 ascendhub.huawei.com/public-ascendhub/ascend-infer-310b:{tag} \
 /bin/bash

参数说明:

  • tag为镜像版本号,如23.0.RC1。
  • /usr/local/Ascend/driver为物理机上安装的NPU驱动目录,根据实际安装的驱动目录进行挂载。
  • 命令中默认挂载0卡到容器中,可根据实际需要挂载device。
  • 请用户根据实际操作系统配置libcrypto.so.1.1和libyaml-0.so.2文件的挂载路径,两个文件所在路径如下。
  • Ubuntu宿主机操作系统下:“/usr/lib/aarch64-linux-gnu/”
  • openEuler和euler宿主机操作系统下:“/usr/lib64/”

【!!!注意!!!】
进入容器后在/home/AscendWork目录下执行. run.sh。

八、模型转换

atc \
    --model=yolov5.onnx \
    --framework=5 \
    --input_format=NCHW \
    --output=yolov5 \
    --input_shape="input:1,3,640,640" \
    --soc_version=Ascend310B1 \
    --log=info

模型转换命令与上一代一致,主要为–soc_version=Ascend310 修改为 --soc_version=Ascend310B1

九、MindX SDK业务代码

MindX SDK业务代码接口与上一代一致,接口继承。

<think>好的,我现在需要帮助用户在昇腾310B上部署Xinference模型推理框架。首先,我需要了解用户提到的昇腾310B和Xinference框架的相关信息。昇腾310B是华为的AI加速卡,常用于推理任务,而Xinference可能是一个开源的推理框架,但我不太确定它的具体情况。可能需要先确认Xinference是否支持昇腾硬件,或者是否有相关的适配工作。 根据用户提供的引用内容,特别是引用[1]和[2],里面提到了MindX SDK、mxVision框架以及模型转换和推理的步骤。这可能意味着在昇腾平台上部署模型通常需要使用华为提供的工具链,比如CANN(Compute Architecture for Neural Networks)和MindX SDK。因此,部署Xinference可能需要将其集成到这些工具中,或者查看Xinference是否已经支持昇腾310B的NPU。 接下来,我应该分步骤思考如何部署。首先,环境准备,包括安装CANN套件和MindX SDK,这可能已经在引用[2]中提到的步骤里。然后,模型转换是关键步骤,需要将训练好的模型转换成昇腾支持的格式,比如OM模型。这可能涉及到使用ATC工具进行转换,如引用[1]中的模型转换步骤。 另外,用户提到Xinference框架,如果这是一个类似于ONNX Runtime或TensorRT的推理框架,可能需要检查其是否支持昇腾的ACL(Ascend Computing Language)接口。如果不支持,可能需要自己编写接口或者等待官方支持。 还有,安装依赖项可能比较复杂,比如Python版本(引用[2]提到安装Python3.9)、设置umask等系统配置。此外,样例代码的下载和模型的存放路径也可能需要注意,确保路径正确,权限设置合适。 在推理执行阶段,可能需要调用昇腾的推理接口,比如引用[1]中的infer函数。如果Xinference有自己的API,可能需要将其与昇腾的库链接起来,或者在代码中调用相应的硬件加速指令。 不过,可能存在一些不确定因素,比如Xinference是否已经适配昇腾310B。如果官方没有支持,可能需要用户自行修改源码或使用中间层进行适配,这可能会比较复杂。因此,在回答中需要建议用户先查阅Xinference的官方文档,确认是否支持昇腾架构,或者联系框架的维护者获取更多信息。 总结步骤可能包括:环境准备(安装CANN、MindX SDK等)、模型转换、Xinference框架的安装与配置、编写或调整推理代码、执行测试。同时,需要提醒用户注意依赖版本和系统配置,参考华为的官方文档和社区资源来解决可能遇到的问题。</think>在昇腾310B上部署Xinference模型推理框架需结合华为CANN和MindX SDK工具链。以下是分步指南: ### 1. **环境准备** - **安装CANN套件** 昇腾310B依赖CANN(Compute Architecture for Neural Networks)提供算力支持。需从[昇腾社区](https://www.hiascend.com/)下载并安装对应版本的CANN软件包,配置环境变量: ```bash source ${CANN_HOME}/set_env.sh ``` - **安装MindX SDK及mxVision** MindX SDK包含模型推理所需的库和工具。参考引用[2],需完成以下步骤: - 设置umask为宽松模式(如`umask 0022`) - 安装Ubuntu系统依赖(如libssl、FFmpeg等) - 通过`pip`安装mxVision: ```bash pip3 install mxvision --extra-index-url=https://pypi.huaweicloud.com/repository/pypi/simple ``` ### 2. **模型转换** - **Xinference模型适配** 若Xinference模型为PyTorch或TensorFlow格式,需通过**ATC工具**转换为昇腾支持的OM格式。以TensorFlow为例: ```bash atc --model=model.pb --framework=3 --output=model_om --soc_version=Ascend310B ``` 转换时需注意算子兼容性,若存在不支持算子需手动优化或联系昇腾技术支持[^1]。 ### 3. **部署Xinference框架** - **框架集成** Xinference若未原生支持昇腾NPU,需通过以下方式适配: 1. **调用昇腾ACL接口**:在Xinference推理代码中调用`acl`库实现硬件加速。 2. **封装MindX插件**:参考MindX SDK文档,编写自定义插件并注册到Xinference的推理流程中。 - **依赖配置** 确保Python版本为3.9(引用[2]),并通过`LD_LIBRARY_PATH`链接昇腾动态库: ```bash export LD_LIBRARY_PATH=${CANN_HOME}/lib64:${MX_SDK_HOME}/lib:$LD_LIBRARY_PATH ``` ### 4. **推理代码示例** 基于昇腾接口的推理流程(参考引用[1][2]): ```python import acl import mxvision as mx # 初始化昇腾设备 acl.init() context, ret = acl.rt.create_context(0) # 加载OM模型 model = mx.model.load("model_om.om") # 数据预处理 input_data = mx.vision.preprocess(image, resize=(224, 224)) # 执行推理 output = model.infer(input_data) # 释放资源 acl.rt.destroy_context(context) acl.finalize() ``` ### 5. **验证与调试** - **日志分析** 通过`ASCEND_LOG_LEVEL=1`开启调试日志,定位算子兼容性或内存分配问题。 - **性能调优** 使用昇腾提供的性能分析工具(如msprof)优化模型并行度与内存复用。 ### 注意事项 - **官方文档**:优先参考[昇腾开发者文档](https://ascend.huawei.com/zh/#/document)获取最新工具链支持。 - **社区支持**:若遇到框架兼容性问题,可通过昇腾社区或Xinference GitHub提交Issue。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值