更新时间:2024-04-03 GMT+08:00
分享

技能介绍

技能可以抽象地理解为算法模型+逻辑代码。算法模型负责关键的AI推理,逻辑代码负责处理模型推理的结果。

本章节介绍在专业版HiLens控制台开发技能。

当前华为HiLens支持如下两种格式的技能。

单设备部署技能的流程请见控制台新建技能流程

技能包

RPM格式技能包。

RPM包中包含用户的业务代码、用户的模型和业务的配置文件。

├──{app name}-{version}-{release}.{aarch}.rpm 
│   ├── app.config  表明在运行环境中启动业务服务的命令和停止服务的命令,以及业务服务的名字,必选:参数说明见下表
│   ├── bin  必选:用户自定义的业务代码 
│   │   ├──main.sh 
│   │   ├──main(编译c++程序生成的二进制可执行文件) 
│   │   ├──* 其它二进制/可执行文件
│   ├── lib可选:动态库 
│   ├── data可选:应用层配置参数 
│   ├── model可选:业务的模型
│   ├── etc可选:应用配置文件
│   │   ├──graph 应用流程图
其中{app name}仅支持字母数字和下划线“_”,只能以字母或者下划线开始;{version}仅支持数字和点“.”; {release}仅支持数字; {aarch}仅支持armv7和aarch64。
表1 app.config参数说明

配置项

描述

应用名

应用名称,只能以英文字母开头,不能包含中文以及&!'\"<>=,不超过36个字符。

应用描述

应用描述,表示该应用的用途,由应用开发者填写,以便使用者理解该应用的用途

应用版本

应用版本,建议使用major.minor.point的方式。

启动命令

启动脚本,表明该应用在运行环境中启动应用服务的脚本命令,用户可以自定义启动脚本。固定为[app-root]/bin/main或[app-root]bin/main.sh。

停止命令

停止脚本,表明该应用在运行环境中停止应用服务的脚本命令,用户可以自定义停止脚本。

安装rpm包

在第一次使用时需要安装的rpm包,可以是一个也可以是多个。

支持硬件

应用可以运行需要的硬件平台。

执行程序类型及环境依赖

原生native程序及libc版本要求;Python程序,Python版本要求。

资源要求

运行所必须的资源类型及数量,如CPU及其算力、内存及尺寸、存储及空间尺寸等。

app.rpm的打包,用户可以通过使用ModelBox的开发环境,将模型和业务逻辑代码等打包成相应的rpm包。

容器镜像

容器镜像格式是一个包含应用运行需要的各种组件和应用本身的镜像。可以使用ModelBox提供的软件包打包工具或者是镜像打包工具,也可以按照下面的格式手动打包。

应用容器镜像包含三层:基础镜像层、ModelBox框架层和应用层。

  • 基础镜像层:提供下层设备的驱动,以及其中ModelBox框架和基础功能单元依赖的一些第三方库如FFmpeg,TensorRT,OpenCV等。
  • ModelBox框架层:包括ModelBox基础框架包和ModelBox基础功能单元包。
  • 应用层:包含用户自定义的一些功能单元,以及功能单元需要的一些第三方库,以及业务流程图等。

控制台新建技能流程

当前专业版HiLens控制台支持新建技能包和容器镜像两种格式的技能。在准备新建技能前,请明确您需要开发一个什么类型的技能。

图1 控制台开发技能流程
表2 控制台开发技能流程说明

流程

说明

详细指导

准备工作

如果希望新建的技能部署至端侧设备,需要提前注册设备至专业版HiLens控制台。

当注册的设备超过1台时,需购买HiLens端云协同AI运行服务,并激活设备,才能安装自行开发的技能至设备上。

注册HiLens设备

订购HiLens端云协同AI运行服务

激活设备(购买端云协同AI运行服务)

新建技能

在专业版HiLens控制台基于业务需求新建技能。

新建技能

部署技能

将新建的技能部署至端侧设备,调试技能。

创建部署工程

查看技能运行效果

查看技能日志,观察技能运行效果。

管理设备日志

相关文档