Atlas500------安装运行环境(三)

参考   https://support.huaweicloud.com/instg-ascend-deployer-cann330/atlasdeploy_03_0109.html

三、安装运行环境

在这里插入图片描述

图3.1 安装运行环境图
Atlas 500 智能小站出厂预安装Euler OS、驱动&固件,Atlas 500 智能小站的初始配置请参考《Atlas 500 智能小站 用户指南(型号 3000, 3010)》的“安装与配置>初始配置”章节,容器镜像制作请参考《CANN 容器基础镜像制作指南》。

3.1 准备软件包

下载软件包

用户可根据下表获取所需软件包和数字签名文件,各软件包版本号需要保持一致。
Ascend-cann-toolbox_{version}_linux-{arch}.run 
https://www.hiascend.com/software/cann/commercial

3.2 安装实用工具包

安装步骤
获取并安装离线推理引擎包,详细安装步骤如下。
1、 以软件包的安装用户登录安装环境。
2、将获取到的离线推理引擎包上传到安装环境任意路径(如“/home/package”)。
3、进入软件包所在路径。
4、增加对软件包的可执行权限。

chmod +x *.run

5、执行如下命令校验软件包安装文件的一致性和完整性。

./*.run --check

6、执行以下命令安装软件。
若使用非root用户安装,请执行以下命令。

./*.run --install

若使用root用户安装,请执行以下命令。
若使用默认运行用户HwHiAiUser:

./*.run --install

若用户需自行指定运行用户:

./*.run --install-username=username --install-usergroup=usergroup --install

其中–install-username和–install-usergroup用于指定运行用户。
安装完成后,若显示如下信息,则说明软件安装成功:

[INFO] xxx install success

3.3 配置环境变量

CANN软件提供进程级环境变量设置脚本,供用户在进程中引用,以自动完成环境变量设置。用户进程结束后自动失效。示例如下(以root用户默认安装路径为例):

# 安装toolbox包时配置
. /usr/local/Ascend/toolbox/set_env.sh

用户也可以通过修改~/.bashrc文件方式设置永久环境变量,操作如下:
1、以运行用户在任意目录下执行vi ~/.bashrc命令,打开bashrc文件,在文件最后一行后面添加上述内容。
2、执行:wq!命令保存文件并退出。
3、执行source ~/.bashrc命令使其立即生效。

3.4 容器基础镜像制作指南

前提条件
容器场景,需用户自行安装docker(版本要求大于等于18.03)。
容器OS镜像可从Docker Hub拉取。
请按照表1所示,获取离线推理引擎包与业务推理程序压缩包。

表3.1 所需软件
软件包说明获取方法
A500-3000-nnrt_{version}_linux-aarch64.run离线推理引擎包。 {version}表示软件包版本。 https://www.hiascend.com/software/cann/commercial
Dockerfile制作镜像需要。用户根据业务自行准备
业务推理程序压缩包业务推理程序合集,支持tar、tgz格式。 业务推理程序的压缩包格式,应为容器内自带的压缩程序支持的格式,且install.sh中解压业务推理程序压缩包的命令请根据实际格式适配。 用户根据业务自行准备
install.shinstall.sh 业务推理程序的安装脚本。
run.sh业务推理程序的运行脚本。

操作步骤
1、将准备的软件包上传到小站的同一目录(如“/home/test”)。
A500-3000-nnrt_{version}_linux-aarch64.run
业务推理程序压缩包
2、 执行以下步骤准备dockerfile文件。
a、 以root用户登录小站,执行id HwHiAiUser命令查询并记录宿主机上HwHiAiUser用户的UID和GID。
b、 进入1中软件包上传目录,执行以下命令创建dockerfile文件(文件名示例“Dockerfile”)。

vi Dockerfile

c、 写入以下内容后执行:wq命令保存内容,内容以Ubuntu Arm操作系统为例。

#操作系统及版本号,根据实际修改
FROM ubuntu:18.04

#设置离线推理引擎包参数
ARG NNRT_PKG

#设置环境变量
ARG ASCEND_BASE=/usr/local/Ascend

ENV LD_LIBRARY_PATH=\
$LD_LIBRARY_PATH:\
$ASCEND_BASE/nnrt/latest/acllib/lib64:\
/home/data/miniD/driver/lib64

ENV ASCEND_AICPU_PATH=\
$ASCEND_BASE/nnrt/latest
#设置进入启动后的容器的目录
WORKDIR /root
#拷贝离线推理引擎包
COPY $NNRT_PKG .

#安装离线推理引擎包
RUN umask 0022 && \
    groupadd -g gid HwHiAiUser && useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser && usermod -u uid HwHiAiUser &&\
    chmod +x ${NNRT_PKG} &&\
    ./${NNRT_PKG} --quiet --install &&\
    rm ${NNRT_PKG}

#拷贝业务推理程序压缩包、安装脚本与运行脚本
ARG DIST_PKG
COPY $DIST_PKG .
COPY install.sh .
COPY run.sh /usr/local/bin/

#运行安装脚本
RUN chmod +x /usr/local/bin/run.sh && \
    sh install.sh && \
    rm $DIST_PKG && \
    rm install.sh

#容器启动时默认执行的程序
CMD run.sh

为在容器内创建HwHiAiUser用户。gid、uid为宿主机上HwHiAiUser用户的UID和GID,用户可自行替换,容器内的HwHiAiUser用户的UID和GID需要和宿主机保持一致。
d、 在创建Dockerfile文件后,执行以下命令修改Dockerfile文件权限。

chmod 600 Dockerfile

e、 “install.sh”脚本与“run.sh”脚本文件准备与dockerfile文件准备操作一致,文件内容如编写示例所示。
3、 进入软件包所在目录,执行以下命令,构建容器镜像。

docker build -t image-name --build-arg NNRT_PKG=nnrt-name --build-arg DIST_PKG=distpackage-name .

注意不要遗漏命令结尾的“.”,命令解释如所表3.2示。

表3.2 命令参数说明
参数说明
image-name镜像名称与标签,用户可自行设置。
–build-arg指定dockerfile文件内的参数。
NNRT_PKGnnrt-name为离线推理引擎包名称,注意不要遗漏文件后缀,请用户自行更换。
DIST_PKGdistpackage-name为业务推理程序压缩包名称,注意不要遗漏文件后缀,请用户自行更换。

当出现“Successfully built xxx”表示镜像构建成功。
4、 构建完成后,执行以下命令查看镜像信息。

docker images

显示示例:

REPOSITORY    TAG      IMAGE ID        CREATED                 SIZE
workload-image   v1.0     1372d2961ed2       About an hour ago           249MB

编写示例
install.sh编写示例

#!/bin/bash
#进入容器工作目录
cd /root

#解压业务推理程序压缩包,请根据压缩包格式适配
tar xf dist.tar

run.sh编写示例:

#!/bin/bash

#进入业务推理程序的可执行文件所在目录
cd /root/dist

#运行可执行文件
./main

3.5 部署推理容器

前提条件
容器镜像已构建成功。
操作步骤
1、 以root用户登录小站。
2、 以root用户登录小站。

docker run --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/hisi_hdc --device /dev/devmm_svm \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64 \
-it workload-image:v1.0

以上命令示例会默认执行业务程序,若用户需要直接进入容器,请在以上命令的末尾添加 /bin/bash。

表3.3 参数解释
参数参数说明
–device表示映射的设备,davinci0需要根据实际设备名称修改。如果需要映射多个芯片,需要配置多个参数如:–device=/dev/davinci0 --device=/dev/davinci1。
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi将NPU-SMI工具挂载到容器,请根据实际情况修改。
-v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64将运行环境目录“/home/data/miniD/driver/lib64 ”挂载到容器,请根据driver的驱动.so所在路径修改。
workload-image:v1.0生成的镜像文件。

说明:
本版本支持多个容器挂载同一块芯片:
• 建议最多不超过16个容器。
• 各容器通过抢占方式获取芯片算力,不支持内存隔离和算力切分。
• 默认关闭device共享模式,请在宿主机上执行以下命令开启device共享:

npu-smi set -t device-share -i 0 -c 0 -d 1

可执行以下命令查询device共享状态:

npu-smi info -t device-share -i 0 -c 0

重启或升级后多容器共享功能关闭。

3.6 环境设置

进入docker镜像,安装python3.7.5环境,然后安装numpy ,opencv等等依赖包。

ASCEND_AICPU_PATH=/usr/local/Ascend/ascend-toolkit/latest/
NNRT_LD_LIBRARY_PATH=/usr/local/Ascend/nnrt/latest/acllib/lib64/
NNRT_PYTHONPATH=/usr/local/Ascend/nnrt/latest/pyACL/python/site-packages/acl/
NNRT_ASCEND_AICPU_PATH=/usr/local/Ascend/nnrt/latest/
LD_LIBRARY_PATH=/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64:/usr/local/Ascend/ascend-toolkit/latest/atc/lib64/
TOOLCHAIN_HOME=/usr/local/Ascend/ascend-toolkit/latest/toolkit/
NPU_SMI=/usr/local/bin/npu-smi/
LIB64_PATH=/home/data/miniD/driver/lib64/
PYTHONPATH=/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages\;/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages\;/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:/usr/local/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl\;
PATH=/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin\;/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/bin\;/usr/local/Ascend/ascend-toolkit/latest/atc/bin\;
ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/latest/opp
DISPLAY=your ip:0.0
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spine-Unity-3.8-2021是一个Spine动画的Unity插件,可以让开发人员在游戏开发过程中轻松实现Spine动画。这个插件包含了最新的Spine Runtime库,可以让开发人员在使用Spine动画时获得更好的性能和可靠性。此版本还提供了对C# 9的支持,并修复了在以前的Spine Unity版本中存在的一些问题和异常。此外,此版本也提供了一些改进和优化,能够让开发人员更快速、更容易地实现动画效果并提高游戏的运行效率。总的来说,Spine-Unity-3.8-2021是一个值得开发人员关注和使用的插件,它可以帮助游戏开发人员更好地实现动画效果,提升游戏的质量和用户体验。 ### 回答2: spine-unity-3.8-2021是一款在Unity中使用的Spine动画软件包。Spine是一种2D骨骼动画软件,它可以帮助制作2D游戏中的角色动画。与传统的逐帧动画相比,Spine骨骼动画具有更高的效率和更好的表现效果。 spine-unity-3.8-2021是Spine运行在Unity中的版本。它提供了一个简便的方式来将Spine制作的动画集成到Unity游戏中。spine-unity-3.8-2021拥有许多实用的功能,例如动画的播放、循环、暂停和停止等。 此外,spine-unity-3.8-2021还支持动画的混合、遮罩、缩放等高级特性。这些功能可以大大提升2D游戏的动画表现效果。 总之,spine-unity-3.8-2021是一款强大的Spine骨骼动画软件包,它可以帮助Unity开发者更方便、更高效地制作2D游戏中的动画效果。 ### 回答3: Spine-Unity-3.8-2021是Spine动画引擎的一个版本,其主要特点是可以与Unity引擎无缝集成,提供了高效、灵活、可定制的动画解决方案。此版本相比之前版本,主要增加了一些新功能和改进,如支持GPU动画混合、2D环境的自适应、高效的顶点色边框渲染、Spine Atlas纹理集加载、支持Mecanim(动画过渡和状态机和蒙太奇)和 IK姿势、环境光遮蔽、大量优化和 bug 修复等。除此之外,它还易于使用和实现,并具有快速迭代的能力,可以让开发者轻松创建精美的动画效果,提升游戏的用户体验。该版本是Spine引擎的主要升级版本之一,同时也体现出Spine开发团队对于产品需求和用户反馈的重视和努力,不仅提高了动画制作领域的生产力和创造力,也为游戏行业推陈出新提供了有力支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值