8.2 新建技能
8.2.2 使用空模板
本章节介绍使用空模板新建技能的操作步骤。如果您选择使用空模板,需提前准备好 使用的模型和逻辑代码。
背景信息
● 在华为HiLens控制台开发技能时,会占用OBS资源,需要收取一定费用,收费规 则请参见对象存储服务 OBS。
● 算法模型必须是.om格式,且满足华为HiLens的要求,详细可参考开发算法模型。
● 逻辑代码的存储方式有两种:“在线编辑代码”和“从OBS上传代码”。
– 如果您的代码逻辑较简单,建议直接在线编辑代码。
– 如果您的代码结构比较复杂,推荐用本地IDE开发完成后,使用OBS上传代码 zip或tar.gz包的方式,上传操作可参见OBS快速入门。上传到OBS需要收取一 定费用,收费规则请参见对象存储服务 OBS。
说明
● 上传文件时,要求此OBS桶与您使用的华为HiLens处于同一区域。
● 若您从OBS上传代码,需要将所有代码文件压缩后上传,上传的文件必须为
“.zip”或“tar.gz”格式,且入口文件必须在一级目录。如下示例所示,入口代 码(“main.py”)在一级目录,其它的代码按需求自行设计,您可将模型与代码 一起打包上传。
● 入口代码所在文件(如上面的main.py)通过参数【代码执行文件】进行配置,后 面会有说明。
● 保证华为云帐号处于不欠费状态。在华为HiLens控制台开发技能时,会占用OBS 资源,需要收取一定费用,收费规则请参见对象存储服务 OBS。
● 新建技能使用的算法模型已导入华为HiLens中。
● 如果使用“从OBS上传代码”方式,请提前按照要求将逻辑代码上传至OBS桶 中。
1. 开始新建技能
1. 登录华为HiLens管理控制台,在左侧导航栏中选择“技能开发>技能管理”,进入 技能列表。
2. 在“技能管理”页面,单击右上角“新建技能”,进入“创建技能”页面。
图8-8 创建技能-21
2. 基本信息
在“创建技能”页面,在“技能模板”中选择“使用空模板”后,填写基本信息。参 数说明请参见表8-3。
图8-9 填写基本信息
表8-3 基本信息参数设置
字段名称 说明
技能模板 是否使用模板来开发技能。如果选择已有模板,则会使用模板 的模型和代码。即技能内容模块的字段都会使用模板的信息。
技能名称 技能的名称,下发到端侧也使用该名称作为根目录。
可输入中文、字母、数字、下划线或中划线,必须以中文、字 母开头,以中文、字母或数字结尾,长度3~60个字符。
说明
由于技能市场不允许存在同名技能,所以如果想发布到技能市场,请 使用全局唯一的名称对您的技能进行命名。
技能版本 技能的版本。版本号格式为“A.A.A”,“A”为不超过3位的 自然数。例如“1.0.0”。
当“A”超过一位时,不允许以“0”开头,比如禁止输入
“01.0.0”。
字段名称 说明
适用芯片 技能支持的芯片。运行在HiLens Kit上的技能需选择Ascend 310芯片。
检验值 用于技能校验,防止技能伪冒。要与代码中初始化接口的参数 一致。具体使用方法请参见开发指南>初始化HiLens
Framework。
应用场景 技能适用的场景,例如“智慧园区”、“智慧家庭”、“智能 车载”、“智能商超”的子场景及“其他”。
技能图标 技能的头像。
OS平台 技能运行的操作系统平台,包括Linux、Android、IOS、
LiteOS和Windows。HiLens Kit用的是基于CentOS制作的 Linux发型版Euler系统操作系统,所以如果开发的是运行在 HiLens Kit的技能,这里选择Linux。
描述 对技能的详细介绍。
最大长度2048,不允许输入~^$%&等特殊字符。
说明
若新建技能的场景需要发送消息到用户的手机或邮箱,比如检测到陌 生人技能需要在发现陌生人后发送消息提醒用户,描述中必须注明:
“本技能支持发送订阅消息”,发送的具体内容需在编写逻辑代码时 注明,详细指导和API介绍可参见开发指南。
3. 技能内容
根据您的模型和逻辑代码情况,填写技能内容,详细参数说明请参见表8-4。
图8-10 技能内容
表8-4 技能内容的参数说明
字段名称 说明
技能格式 技能的格式。可分为“技能包”和“容器镜像”两种格 式。
运行时语言 逻辑代码的运行时语言。目前支持“Python3.7”和“C/C ++”。如果选择C/C++语言开发,将不支持在线编辑代 码。开发者线下开发完成后,需要在Linux环境下把代码编 译打包,然后上传到obs。
代码执行文件 技能的启动将以该代码执行文件为入口,类似C语言的 main函数。入口文件必须在一级目录。
● “技能包”格式的技能要求该文件在技能包的根目录 下,如Python技能请以.py结尾。
● “容器镜像”格式的技能,如果dockerfile有配置 ENTTRYPOINT,概述如可以为空,否则要求输入该镜 像内执行文件的路径。
文件名不超过1024位,允许输入字母、数字或下划线。不 允许输入#~^等字符。
模型 技能的核心算法。在本地或ModelArts训练,导入到 HiLens平台。单击加号,您可以在弹出框中,选择华为 HiLens平台中模型管理列表下的模型。
字段名称 说明
代码上传方式 逻辑代码的上传方式。
说明固件1.1.2及以后版本支持配置技能的Python依赖库。开发者在开 发技能过程中,可根据自身需要配置技能的Python依赖库,详情 "Language": "enum", //视频分路配置
"multi_camera": [ //该字段key值multi_camera固定,值表示摄像头分路配置 {
"camera_names": [ //该字段key值camera_names固定,值表示该分组配置里包含了哪些摄像头
配置对象 HiLens Kit可以连接多个(个数不大于设备上所安装技能的支 持通道数之和)摄像头,所以可以开发支持多路视屏的技能。
图8-12 弹性技能参数
表8-6 弹性技能参数说明
字段名称 说明
web请求uri ModelArts模型对应的请求路径。
请输入以斜杠开头,长度1~255的字符,
不允许输入#~^$%*<>等特殊字符。
模型地址 ModelArts模型的地址。
1. 默认从ModelArts导入模型,在下拉 框中选择模型框架。
当前仅支持“TensorFlow”和
“Caffe”两种模型框架。
2. 在下方的模型列表中勾选待导入的模 型。
请求方法 模型发送请求的方法类型。当前支持
“POST”、“GET”、“PUT”、
“DELETE”。
计算资源 该算法模型使用的计算资源。当前支持
“GPU”和“CPU”两种类型。
6. 确认信息并完成新建技能
上述参数填写完成后,您可以在界面右侧查看其配置参数值,如果某个字段填写错 误,在右侧会显示一个小红叉。
确认信息无误后,单击“确定”完成技能创建。
图8-13 确认信息并完成空模板新建技能
创建完成后,您的技能将进入“技能开发>技能管理”页面,且状态为“未发布”,您 可以执行发布操作,将技能发布至技能市场。