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

新建技能

本章节介绍如何在控制台快速新建技能。

前提条件

  • 保证华为云云服务帐号不欠费。在华为HiLens控制台开发技能时,会占用OBS资源,需要收取一定费用,收费规则请参见对象存储服务 OBS
  • 提前准备技能。当前专业版HiLens控制台支持技能包和容器镜像两种格式的技能,详情请见技能介绍

1.开始新建技能

  1. 登录专业版华为HiLens管理控制台,在左上角单击“专业版”,切换至专业版控制台。
  2. 在左侧导航栏中选择“技能开发>技能管理”,进入技能列表。
  3. “技能管理”页面,单击“新建技能”,进入“新建技能”页面。

2.填写基础信息

在新建技能页面填写基本信息,参数说明请见表1,填完基本信息后单击右下角的“下一步”,配置启动参数。
表1 技能基本信息参数说明

参数

说明

技能名称

技能的名称,下发到端侧也使用该名称作为根目录。

只允许英文小写字母、数字、中划线、最大长度32的字符,必须以英文小写字母、数字开头和结尾。

说明:

由于技能市场不允许存在同名技能,所以如果想发布到技能市场,请使用全局唯一的名称对您的技能进行命名。

技能版本

技能的版本。版本号格式为“A.A.A”“A”为不超过3位的自然数。例如“1.0.0”

“A”超过一位时,不允许以“0”开头,比如禁止输入“01.0.0”

适用设备类型

技能适用的设备类型,包括Windows、Atlas 500、通用x86设备、通用ARM设备、SDC等设备类型。

应用场景

技能适用的场景,例如“园区”“工业”“零售”“金融”等场景。

技能图标

技能的头像。

标签

待创建技能的标签。

单击“添加标签”,填写标签键和标签值。

只允许大小写字母、数字、下划线和中划线,不允许为空。标签名不允许重复,最大长度为36个字符;标签值最大长度为43个字符。

最多可添加20组标签。

如果删除标签,可单击“操作”列的“删除”

简介

对技能的简单介绍。

描述

对技能的详细介绍。

技能格式

支持“技能包”“容器镜像”两种格式,具体格式要求请见技能包容器镜像

  • 技能格式选择“技能包”

    技能包路径:单击“选择OBS地址”,选择RPM技能包在OBS的存储路径。

  • 技能格式选择“容器镜像”
    • 镜像类型:支持镜像类型为“ModelBox镜像”“普通镜像”
    • 镜像路径:单击“选择SWR地址”,选择容器镜像在OBS的存储路径。

RootKey

使用ModelBox开发框架的加密工具ModelBox Tool加密模型后,可获取Root Key。

模型密钥

使用ModelBox开发框架的加密工具ModelBox Tool加密模型后,可获取模型密钥。

校验配置文件

对校验配置文件中的文件和路径进行校验,防止技能中的文件被篡改。使用该功能,需要使用modelbox-tool在技能包或容器镜像中增加校验配置文件。

3.配置启动参数

“启动参数配置”页面填写配置信息,然后单击右下角的“下一步”

“启动命令”“环境变量”“网络配置”“数据存储”等均不是必填项,如需要配置,可选择性填写配置信息。

  • 参数复用

    可选择使用其他技能的部署和作业参数作为新建技能的默认值。

    打开开关后,单击“选择技能”,在对话框中勾选已有技能,单击“确定”

  • 基础配置

    选择是否开启特权开关。开启后,容器将可以访问主机上的所有设备。

  • 启动命令

    设置容器启动时执行的命令

    未填写则镜像启动运行默认命令,填写后可运行特定命令,需要用到以下设置:

    • 运行命令控制镜像运行的实际命令。
    • 运行参数传递给运行命令的参数。
  • 环境变量

    在容器中添加环境变量,用于设置技能运行时的变量,可通过修改部署配置来。

    “环境变量”页签,单击“添加环境变量”,当前支持“手动添加”“密钥导入”“配置项导入”“变量引入”

    • 手动添加:输入变量名称、变量值。
      表2 手动添加环境变量

      参数

      说明

      类型

      手动添加。

      变量名称

      自定义填写变量名称,如demo。

      不能为空,以字母或下划线开头,只允许输入字母、数字和下划线,且最大长度不超过2048。

      变量值

      输入变量的值,如value。不允许输入#^ $| % & * < > ( ) 且不能超过20480个字符。

    • 密钥导入:输入变量名称,选择导入的密钥名称和数据。您需要提前创建密钥,具体请参见创建密钥
      表3 密钥导入环境变量

      参数

      说明

      类型

      密钥导入。

      变量名称

      自定义填写变量名称,如demo。

      不能为空,以字母或下划线开头,只允许输入字母、数字和下划线,且最大长度不超过2048。

      配置项名称/密钥名称

      请选择对应的配置项名称/密钥名称。

      配置项键/密钥键

      请选择对应的配置项键/密钥键。

    • 配置项导入:输入变量名称,选择导入的配置项名称和数据。您需要提前创建配置项,具体请参见管理配置项
      表4 配置项导入环境变量

      参数

      说明

      类型

      配置项导入。

      变量名称

      自定义填写变量名称,如demo。

      不能为空,以字母或下划线开头,只允许输入字母、数字和下划线,且最大长度不超过2048。

      配置项名称/密钥名称

      配置项名称/密钥名称。

      配置项键/密钥键

      配置项键/密钥键。

    • 变量引入:输入变量名称。
  • 网络配置

    创建一个网络配置参数表。容器镜像应用的访问支持使用主机网络或使用端口映射。

    • 端口映射:单击“添加端口映射”,填写容器端口和主机网卡地址,选择主机端口,参数说明请见表5
      表5 端口映射参数说明

      参数

      说明

      容器端口

      输入1~65535之间的整数,不能为空。

      主机网卡地址

      输入不能为空,输入有效的IP地址。

      主机端口号

      • 指定:输入主机端口。不能为空,输入值为1~65535之间的整数。
      • 自动获取:“下限”不能为空,输入值为1~65535的整数,端口下限需小于端口上限;“上限”不能为空,输入值为1~65535的整数。

      单击操作列的“删除”,可删除端口映射。

    • 主机网络:单击主机网络即可。
  • 数据存储

    创建一个数据存储环境变量表。给容器挂载数据存储,支持本地磁盘和云存储,适用于需持久化存储、高磁盘IO等场景。

    单击“添加挂载卷”,按表6填写挂载卷信息。

    表6 挂载卷参数说明

    参数

    说明

    挂载卷名称

    不能为空,输入小写字母或数字且不超过63个字符。

    存储卷类型

    仅支持“主机路径”“临时路径”

    磁盘源

    • 主机路径下,输入不能为空,以/开头,仅包含字母数字/- _.且长度不能超过255个字符。
    • 临时路径下为默认。

    挂载路径

    不能为空,以/开头,仅允许英文、数字\_-且不超过1024个字符。

    存储介质

    • 主机路径下为默认。
    • 临时路径下可选择“内存”、“磁盘”。

    权限

    可选择“读写”“只读”

    单击操作列的“删除”,可删除挂载卷。

4.添加作业

“添加作业配置”页面填写配置信息,然后单击右下角的“确定”

  • 名称

    作业的名称,用户自定义。以小写英文字母开头,非中划线结尾,仅允许输入小写英文字母、数字、中划线和下划线,且长度为4~64个字符。

  • 描述

    作业的描述。输入为非#^ $| % & * < > ( ) ' " /且长度不能超过255个字符。

  • 输入

    技能运行时,数据输入来源,输入当前支持“摄像头”“URL”“Edge Restful”“VCN”

    表7 输入参数说明

    参数

    说明

    “摄像头”

    设置待开发技能从摄像头输入数据,并设置“资源限制”“每实例数路数限制”

    • “资源限制”

      设置视频流计算所需的计算资源。申请资源量指预留的最小计算资源,限制资源量指预留的最大计算资源。当接入路数计算所需资源超过所有实例的剩余资源时,该路视频流可能无法计算。

      • 起始资源:即作业中接入第1路摄像头的视频流时,计算所需的基础资源。
      • 每增加1路所需资源:作业中每增加1路摄像头时所需的计算资源。
    • “每实例数路数限制”

      每个实例下可接入摄像头总数的最大值。

    “URL”

    设置待开发技能从URL输入数据。

    • 添加URL

      请输入长度不超过255,且合法的云侧算法地址,例如“https://test1.test2.test3”

      可单击“添加URL”,添加多个URL。

      可单击,删除URL。

    • 设置“计算资源”

      计算资源指分配给每个实例的计算资源。分别设置cpu核数、内存大小的申请资源量和限制资源量。确认是否其AI加速卡。

      • 申请资源量:预留给每个实例的最小计算资源。
      • 限制资源量:每个实例可使用的最大计算资源。当技能运行所需资源大于所有实例的限制资源时,技能可能无法运行。

    “Edge Restful”

    设置待开发技能从Edge Restful输入数据。

    • 添加Edge Restful

      单击“添加配置”,可添加多个Edge Restful。

      • URL:视频流服务器提供用于获取rtsp地址的rest接口,仅支持http或https协议。
      • rtsp地址相对位置:在视频流服务器提供的响应体重,rtsp地址的相对位置。例如:"data/url"表示rtsp地址在"{data:{url:'rtsp://url'}}"中的相对位置。
      • 请求头:输入“属性名”“属性值”。单击“添加消息头”,可添加多个请求头。单击,可删除请求头。
    • 设置“计算资源”

      计算资源指分配给每个实例的计算资源。分别设置cpu核数、内存大小的申请资源量和限制资源量。确认是否其AI加速卡。

      • 申请资源量:预留给每个实例的最小计算资源。
      • 限制资源量:每个实例可使用的最大计算资源。当技能运行所需资源大于所有实例的限制资源时,技能可能无法运行。

    “VCN”

    设置待开发技能从VCN输入数据,设置“资源限制”“每实例数路数限制”

    • “资源限制”

      设置视频流计算所需的计算资源。申请资源量指预留的最小计算资源,限制资源量指预留的最大计算资源。当接入路数计算所需资源超过所有实例的剩余资源时,该路视频流可能无法计算。

      • 起始资源:即作业中接入第1路摄像头的视频流时,计算所需的基础资源。
      • 每增加1路所需资源:作业中每增加1路摄像头时所需的计算资源。
    • “每实例数路数限制”

      每个实例下可接入摄像头总数的最大值。

  • 输出

    技能运行时,数据输出位置,当前支持“OBS”“DIS”“Webhook”“Local Path”

    表8 输出参数说明

    参数

    说明

    “OBS”

    设置待开发的技能可输出数据至OBS。

    “DIS”

    设置待开发的技能可输出数据到数据接入服务(Data Ingestion Service,简称DIS)。

    “Webhook”

    设置待开发的技能可输出数据到Webhook。

    • URL:输出数据的URL地址,仅支持http或https协议。不能为空,请输入长度不超过255个字符,且合法的云侧算法地址。
    • 请求头:输入“属性名”“属性值”。单击“添加消息头”,可添加多个请求头。单击,可删除请求头。

    “Local Path”

    设置待开发的技能可输出数据到Local Path。选择“输出数据类型”,填写“挂载源路径”

    • 输出数据类型:输出数据类型包括“FaceImage”“OriginImage”
    • 挂载源路径:输出数据路径。反斜杠“/”开头和结尾,只允许英文数字和下划线。
  • 参数配置

    部分技能在运行的时候,需要用户配置相关的参数。比如一般人脸判断的技能都需要用户上传人脸库,运行技能时就需要配置相关的参数。

    单击“添加参数”,在对话框中添加用户使用技能时需配置的参数。

    表9 添加参数说明

    参数

    说明

    参数名称

    参数名。技能或容器镜像里可用该参数获取该参数的值。用户在添加技能作业时需要配置参数名称和参数的值。不能为空。

    类型

    参数值的类型,表示该参数项的值是什么类型的数据。支持“int”“float”“string”“enum”类型。

    固定值

    必填项,选择该参数是否是固定值。

    默认值

    参数默认值。

    校验规则

    请输入一个合法的正则表达式字符串。

    参数说明

    参数的说明,包括参数值的范围及限制条件等。例如“在string类型下,输入不能为空,建议设置字符数”

    不允许输入#~$^等特殊字符且最大长度不超过512。

5.完成新建技能

上述参数填写完成后,单击右下角的“确定”,完成技能新建。

创建完成后,您的技能将进入“技能开发>技能管理”页面。

相关文档