华为云用户手册

  • 使用场景 当您注册的设备超过1台时,在该设备上安装您自行开发的基础技能类型技能,包括在控制台开发的技能、使用可训练技能模板开发的技能,需要购买HiLens端边云协同平台服务,在设备管理页面对指定设备进行权限激活。 安装来自技能市场的技能,其安装权限不受限制,无需购买HiLens端边云协同平台服务,也无需激活权限。 首台注册的设备,其技能安装权限不受限制,无需购买HiLens端边云协同平台服务,也无需激活权限。
  • 运行时配置参数 技能在运行时,需要添加运行时配置。配置完成后,参数会从华为HiLens云侧下发到端侧设备。 配置参数说明 技能相关配置参数说明如表3所示。 表3 运行时配置参数说明 名称 是否必选 参数类型 说明 logLevel 是 String 日志级别,默认为“INFO”;如果设置较低级别,如“DEBUG”,可在日志中打印更多信息。 keep_running 是 Int 当技能崩溃是否强制自动拉起技能并持续运行,HiLens Framework 1.1.0版本以上才会生效,升级操作请见升级HiLens_Device_Agent固件版本。 multi_camera 是 List 一个设备上多路视频的技能参数,详情请参见表4。 表4 视频参数说明 名称 是否必选 参数类型 说明 camera_names 是 List 运行技能的IP摄像头名称,需要事先在摄像头管理中配置。可配置多个名称,表示多个摄像头采用同样的技能配置。 sendCarImgFlag 否 Int 是否发送检测到的汽车图,默认值为“0”。 “0”:表示不发送 “1”:表示发送 roi 否 String 检测区域配置。区域的设置由“Polygon”开头,其后依次为区域的坐标(按顺时针排列的x,y坐标)。默认值为“Polygon 0 0 0 0”,表示检测整个画面。 sendUrl 是 String 发送技能消息POST请求的URL地址。 示例 HiLens Kit设备支持多路摄像头接入,如果要为不同的摄像头设置不同的技能配置,或者几个摄像头共用同一技能配置,则可在配置列表中给出相应的配置信息,示例如下: //Store001的两个摄像头pos1和pos2配置不同参数: { "logLevel": "INFO", "keep_running": 1, "multi_camera": [{ "camera_names": ["store001_pos1"], "sendCarImgFlag": 0, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/car" }, { "camera_names": ["store001_pos2"], "sendCarImgFlag": 1, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/car" }] } //Store002的两个摄像头pos1和pos2配置相同参数: { "logLevel": "INFO", "keep_running": 1, "multi_camera": [{ "camera_names": ["store002_pos1","store002_pos2"], "sendCarImgFlag": 0, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/car" }] }
  • 摄像头部署 摄像头的架设会影响车型车标模型的准确率。在实际架设中,尽量保证拍摄画面清晰,光照充足,汽车角度较正,无遮挡,比如前边的车容易挡住后边的车。 摄像头参数基本设置 不同品牌的摄像头都有一些基本的视频设置,例如分辨率、帧率和码率等,参数要求如表2所示。 表2 摄像头参数设置要求 参数 要求 分辨率 不低于720P,不高于4K(3840*2160),建议1080P。 帧率 不高于25fps,不低于15fps,建议值20fps。 码率 720P建议设为4096Kbps~6144Kbps左右,1080P建议设为6144Kpbs~8192Kbps,更高分辨率可设置更高码率。 视频编码 如果支持H.265,设置为H.265。 日夜切换 关闭夜间自动切换红外模式。 宽动态 关闭宽动态。普通摄像头的宽动态无法到达专业相机的效果,运动速度较快时存在运动模糊,应关闭宽动态设置。 摄像头架设要求 镜头前方不要有遮挡的障碍物,容易挡住汽车,造成漏检。 不要将摄像头架在房子遮阴的挡板下,会造成光照过暗。 室外安装摄像头,需要注意雨雪的影响,避免在露天下布置,雨水或者雪将摄像头的镜头盖住,造成拍摄画面模糊不清。 摄像头俯视角度尽量保持在15°左右。
  • 技能结果上传接口 请求消息 推理结果将以HTTPS POST请求方法推送到应用系统server的指定URL地址。 POST {sendUrl} 其中sendUrl在技能运行时配置中设置。 请求消息头 技能以json形式返回推理结果,因此消息头Content-Type类型为“application/json”,参数说明如表5所示。 表5 请求消息头参数说明 名称 描述 是否必选 示例 Content-Type 消息体的类型(格式) 是 application/json。 公共消息体 华为HiLens 公共消息体包含了技能的公共消息内容,如表6所示。 表6 公共消息体参数说明 名称 类型 说明 msg_type String 技能类型,为face_detection_result。 cam_name String 摄像头名称。 skill_id String 技能ID。 技能消息体 人脸检测的json消息体如表7所示: 表7 技能消息体参数说明 名称 类型 说明 face_id String 人脸图UUID。 track_id Uint64 人脸的跟踪标记,相同的track_id表示同一个人脸。 ori_img_id String 人脸背景原始图UUID。 time Uint64 图片解码时间的时间戳,单位为秒。 bbox Object 人脸图在背景图中的位置信息。位置信息参数请参见表8。 clarity Float 人脸清晰度,范围[0,1]。 face_image String 人脸图BASE64编码结果。 ori_image String 原始图BASE64编码结果,如果配置不发送原始图,则无该字段。 表8 bbox位置信息参数说明 字段 类型 说明 x Int 人脸图左上角顶点x坐标值。 y Int 人脸图左上角顶点y坐标值。 h Int 人脸图高。 w Int 人脸图宽。 人脸检测的json消息体示例如下: { "msg_type": "face_detection_result", "cam_name": "store001_pos2", "skill_id": "f5c526eb6c51440c8a0ee5e3cc65f23c", "face_id": "0DD1BEA6-634B-11E8-8B0B-407D0FAD9218", "track_id": 1, "ori_img_id": "0DD1BF0A-634B-11E8-8B0B-407D0FAD9218", "time": 1527603463, "bbox ": { "x": 32, "y": 379, "w": 49, "h": 65 }, "clarity": 0.55, "face_image": "4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQE...", "ori_image": "4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQE...", } 响应消息 响应消息头 响应消息头由服务器端(应用系统)收到请求消息后返回。 响应消息头可包含如下两部分。 一个HTTP状态代码,从2xx成功代码到4xx或5xx错误代码。或者可以返回服务定义的状态码。 附加响应头字段,如支持请求的响应所需,如Content-type响应消息头。 详细的公共响应消息头参数说明如表9所示。 表9 公共响应消息头参数说明 名称 描述 示例 Date HTTP协议标准报头。表示消息发送的时间,时间的描述格式由rfc822定义。 Mon, 12 Nov 2007 15:55:01 GMT Server HTTP协议标准报头。包含了服务器用来处理请求的软件信息。 Apache Content-Length HTTP协议标准报头。用于指明实体正文的长度,以字节方式存储的十进制数字来表示。 xxx Content-Type HTTP协议标准报头。用于指明发送给接收者的实体正文的媒体类型。 application/json 响应消息体(可选) 响应消息体通常以结构化格式(如json或xml)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。
  • 技能描述 面向智慧商超的人脸采集技能。本技能使用多个深度学习算法,实时分析视频流,自动抓取画面中的清晰人脸上传至您的后台系统,用于后续实现其他业务。 本技能支持: 判断并过滤尺寸过小、清晰度较差、角度过大等无法判断的人脸。 同时检测多张人脸。 人脸跟踪。对同一个人抓拍的人脸做去重,避免大量的重复上报。 根据业务需求划定区域,只抓取固定区域内的人脸。 使用时需要提供您的业务RESTful接口和RTSP视频地址,最大支持10路网络摄像头接入,并按照接入的路数进行收费。 摄像头部署建议请参见摄像头部署。 技能配置项请参见运行时配置参数。 技能接口设计请参见技能结果上传接口。
  • 运行时配置参数 技能在运行时,需要添加运行时配置。配置完成后,参数会从华为HiLens云侧下发到端侧设备。 配置参数说明 技能相关配置参数设计如表3所示。 表3 运行时配置参数 名称 是否必选 参数类型 说明 logLevel 是 Enum 日志级别,包括INFO,DEBUG,WARNING和ERROR。建议设置为INFO。 keep_running 是 Int 当技能崩溃是否自动拉起技能并持续运行。此项配置在1.1.0及以后版本起作用。 multi_camera 是 List 一个设备上多路视频的技能参数,详情请参见表4。 表4 视频参数说明 名称 是否必选 参数类型 说明 camera_names 是 List 摄像头名称。可配置多个名称,表示多个摄像头采用同样的技能配置。 sendOriImgFlag 是 Int 是否发送人脸背景原始图,默认值:0。 0:表示不发送 1:表示发送 sendRepeatFaceFlag 是 Int 是否重复发送清晰人脸图,开关打开后,同一个人只要显示更清晰的人脸会重复发送, 默认值:0。 0:表示不发送 1:表示发送 sendOriImgCompressionRatio 否 Int 原始图jpeg压缩百分比,默认值为90,表示图片压缩比90%,取值范围[1 100]。 cropSizeMax 否 Int 发送人脸图片长宽的最大像素,默认值400。 cropSizeMin 否 Int 发送人脸图片长宽的最小像素,默认值80。 roi 否 String 检测区域配置。区域的设置由Polygon开头,其后依次为区域的坐标(按顺时针排列的x,y坐标)。默认值为Polygon 0 0 0 0,表示检测整个画面。 sendUrl 是 String 发送技能消息POST请求的URL地址。 faceQualityThreshold 是 Float 人脸清晰度阈值。清晰度大于此值的人脸才发送。取值范围[0.0, 1.0],默认值0.38。 centerMode 否 Int 是否只检测roi区域中的最大人脸,默认值0。 0:返回所有人脸。 1:只返回roi中最大的人脸。 示例 HiLens Kit设备支持多路摄像头接入,如果要为不同的摄像头设置不同的技能配置,或者几个摄像头共用同一技能配置,则可在配置列表中给出相应的配置信息,示例如下: //Store001的两个摄像头pos1和pos2配置不同参数: { "logLevel": "INFO", "keep_running": 1, "multi_camera": [{ "camera_names": ["store001_pos1"], "sendOriImgFlag": 0, "sendRepeatFaceFlag": 0, "sendOriImgCompressionRatio": 90, "cropSizeMax": 400, "cropSizeMin": 120, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/face", "faceQualityThreshold": 0.45, "centerMode": 0 }, { "camera_names": ["store001_pos2"], "sendOriImgFlag": 1, "sendRepeatFaceFlag": 1, "sendOriImgCompressionRatio": 100, "cropSizeMax": 300, "cropSizeMin": 80, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/face", "faceQualityThreshold": 0.55, "centerMode": 0 }] } //Store002的两个摄像头pos1和pos2配置相同参数: { "logLevel": "INFO", "keep_running": 1, "multi_camera": [{ "camera_names": ["store002_pos1","store002_pos2"], "sendOriImgFlag": 0, "sendRepeatFaceFlag": 0, "sendOriImgCompressionRatio": 90, "cropSizeMax": 400, "cropSizeMin": 120, "roi": "Polygon 0 0 0 0", "sendUrl": "https://abc.company.com/face" "faceQualityThreshold": 0.55, "centerMode": 0 }] }
  • 单设备部署技能流程 单设备技能部署流程如图1所示,操作指引如设备管理及部署流程简介所示。 图1 技能部署流程 表1 单设备部署技能流程 任务 说明 详细指导 注册设备 在使用专业版HiLens管理控制台之前,您需要将计算设备注册至控制台。 目前支持HiLens设备(Windows、Atlas 500、通用x86设备、通用ARM设备、SDC等设备类型)和HiLens Kit的注册、管理和注销。 注册HiLens设备 激活设备 注册设备后,需购买HiLens端云协同AI运行服务,并在设备管理页面对设备进行权限激活,该设备方能部署技能。 订购HiLens端云协同AI运行服务 激活设备(购买端云协同AI运行服务) 准备技能 购买技能:在技能市场购买符合设备规范的技能。 技能市场 自定义技能:专业版HiLens管理控制台支持RPM格式的技能包和容器镜像两种技能,本地按技能规范准备技能。 技能介绍 部署技能 将技能部署到设备上,运行技能。 创建部署工程 添加作业 查看技能运行效果 查看技能日志,观察技能运行效果。 管理设备日志
  • 设备管理相关操作及说明 激活设备(购买端云协同AI运行服务):注册设备后,需购买HiLens端云协同AI运行服务,并在设备管理页面对设备进行权限激活,该设备方能部署技能。 部署技能:可在已注册的设备上部署技能、查看部署信息、升级部署、删除部署、添加作业等。 添加标签:可对已注册的设备添加标签。 管理设备日志:在部署并添加作业后,可查看技能日志。 升级HiLens_Device_Agent固件版本:当设备厂商有新的固件版本时,您可以选择升级固件版本。 添加摄像头:为已注册的设备连接管理更多的IP摄像头。 注销设备:在设备不再使用时,注销设备以释放资源。
  • 容器镜像 容器镜像格式是一个包含应用运行需要的各种组件和应用本身的镜像。可以使用ModelBox提供的软件包打包工具或者是镜像打包工具,也可以按照下面的格式手动打包。 应用容器镜像包含三层:基础镜像层、ModelBox框架层和应用层。 基础镜像层:提供下层设备的驱动,以及其中ModelBox框架和基础功能单元依赖的一些第三方库如FFmpeg,TensorRT,OpenCV等。 ModelBox框架层:包括ModelBox基础框架包和ModelBox基础功能单元包。 应用层:包含用户自定义的一些功能单元,以及功能单元需要的一些第三方库,以及业务流程图等。
  • 控制台新建技能流程 当前专业版HiLens控制台支持新建技能包和容器镜像两种格式的技能。在准备新建技能前,请明确您需要开发一个什么类型的技能。 图1 控制台开发技能流程 表2 控制台开发技能流程说明 流程 说明 详细指导 准备工作 如果希望新建的技能部署至端侧设备,需要提前注册设备至专业版HiLens控制台。 当注册的设备超过1台时,需购买HiLens端云协同AI运行服务,并激活设备,才能安装自行开发的技能至设备上。 注册HiLens设备 订购HiLens端云协同AI运行服务 激活设备(购买端云协同AI运行服务) 新建技能 在专业版HiLens控制台基于业务需求新建技能。 新建技能 部署技能 将新建的技能部署至端侧设备,调试技能。 创建部署工程 查看技能运行效果 查看技能日志,观察技能运行效果。 管理设备日志
  • 容器镜像 容器镜像格式是一个包含应用运行需要的各种组件和应用本身的镜像。可以使用ModelBox提供的软件包打包工具或者是镜像打包工具,也可以按照下面的格式手动打包。 应用容器镜像包含三层:基础镜像层、ModelBox框架层和应用层。 基础镜像层:提供下层设备的驱动,以及其中ModelBox框架和基础功能单元依赖的一些第三方库如FFmpeg,TensorRT,OpenCV等。 ModelBox框架层:包括ModelBox基础框架包和ModelBox基础功能单元包。 应用层:包含用户自定义的一些功能单元,以及功能单元需要的一些第三方库,以及业务流程图等。
  • 开发者控制台开发技能 专业版华为HiLens对接开源框架ModelBox,提供了技能开发的平台。AI应用开发者可以在专业版HiLens控制台开发AI应用,并可以方便地部署应用到设备上实时查看应用的运行效果。 使用流程如图1,流程说明请参见表2。 图1 开发者使用流程 表2 控制台开发技能流程说明 流程 说明 详细指导 注册设备 如果希望新建的技能部署至端侧设备,需要提前注册设备至专业版HiLens控制台。 注册HiLens设备 新建技能 在专业版HiLens控制台基于业务需求新建技能。 新建技能 部署技能 将新建的技能部署至端侧设备,调试技能。 创建部署工程 查看技能运行效果 查看技能日志,观察技能运行效果。 管理设备日志
  • 设备部署技能流程 专业版HiLens管理控制台目前支持HiLens设备(Windows、Atlas 500、通用x86设备、通用ARM设备、SDC等设备类型)和HiLens Kit的注册、云上管理和技能部署。AI应用使用者可以直接注册端侧设备,在技能市场选购合适的AI应用部署至端侧设备。单设备部署技能流程指导请参见表1。 表1 单设备部署技能流程 任务 说明 详细指导 注册设备 在使用专业版HiLens管理控制台之前,您需要将计算设备注册至控制台。 目前支持HiLens设备(Windows、Atlas 500、通用x86设备、通用ARM设备、SDC等设备类型)和HiLens Kit的注册、管理和注销。 注册HiLens设备 激活设备 注册设备后,需购买HiLens端云协同AI运行服务,并在设备管理页面对设备进行权限激活,该设备方能部署技能。 订购HiLens端云协同AI运行服务 激活设备(购买端云协同AI运行服务) 准备技能 购买技能:在技能市场购买符合设备规范的技能。 技能市场 自定义技能:专业版HiLens管理控制台支持RPM格式的技能包和容器镜像两种技能,本地按技能规范准备技能。 技能介绍 部署技能 将技能部署到设备上,运行技能。 创建部署工程 添加作业 查看技能运行效果 查看技能日志,观察技能运行效果。 管理设备日志
  • 华为HiLens功能导读 表3 文档导读 章节 面向角色 说明 注册帐号 ALL 首先,作为任意一种角色,您需要申请华为云帐号并进行实名认证。通过此帐号,您可以使用所有华为云服务,并且只需为您所使用的服务付费。在开始使用华为HiLens前获得其他相关服务的授权,然后再进入专业版HiLens管理控制台相关功能。 注册HiLens设备 普通用户 开发者 针对普通使用者或开发者,在使用技能或开发技能前,需先购买端侧设备,并且参考操作指导完成连接,将端侧设备与云侧HiLens管理控制台完成连接。 管理设备 普通用户 开发者 您可以通过专业版华为HiLens管理控制台管理已注册的端侧设备。包括设备上的技能管理、升级固件、配置摄像头等操作。对于拥有端侧设备的用户(包括普通使用者和开发者),您都可以通过设备管理的操作,管理您的设备。 控制台开发技能 开发者 对于开发者,您可以在华为HiLens平台新建您的技能,自行开发算法模型和逻辑代码,再用于新建技能。另外,还支持将您开发的技能安装部署至设备进行调试。 最后,针对调试完成的技能,您可以将其发布至技能市场,供更多用户获取使用,同时您还能获得相应的报酬。 技能市场 ALL 技能市场是一个开放的平台,提供了适用于不同应用场景的技能。您可以在技能市场购买技能。如果您是开发者,也可以将自己开发的技能发布至技能市场,收取相应的报酬。
  • 创建工作空间 登录专业版华为HiLens管理控制台,在左侧导航栏中“当前工作空间”下方的下拉框中选择“创建工作空间”。 进入“创建工作空间”页面。 图1 创建工作空间 也可以在左侧导航栏选择“工作空间”,在工作空间页面单击“创建工作空间”。 填写工作空间名称和描述,填完之后单击右下角的“立即创建”,跳到“工作空间”页面,可查看所创建的新工作空间。 填写工作空间描述时,请以中文、字母开头,以中文、字母、数字结尾,字符长度范围为4-48的字符,仅允许输入中文、字母、数字、中划线、下划线。 图2 创建工作空间-0
  • 订单激活 使用订单号激活设备,需要先购买HiLens端云协同AI运行服务,详情请见订购HiLens端云协同AI运行服务。 登录专业版华为HiLens管理控制台,在左侧导航栏选择“设备管理”。 进入“设备列表”页面。 选择“设备状态”处于“运行中”,且“激活状态”处于“未激活”的设备,单击激活状态列的“立即激活”。 进入设备激活页面。 图1 激活设备 勾选订单,然后单击右下角的“确定”。 调至设备列表页面,设备激活成功后,设备的激活状态变成“已激活”。 图2 订单号激活
  • 单个设备添加标签 在HiLens专业版管理控制台左侧菜单栏选择“设备管理”,然后在设备列表中,选择需要进行管理的某一设备,单击设备名称进入设备详情页面。 “设备详情”页面默认展示“部署列表”页签。 单击“标签”,切换至“标签”页签。 在“标签”页签,单击“添加标签”。 弹出“添加标签”对话框。 图2 添加标签 在“添加标签”对话框中填写“标签名”和“标签值”,单击“确定”。 只允许大小写字母、数字、下划线和中划线,不允许为空。标签名不允许重复,最大长度为36个字符,标签值最大长度为43个字符。最多可添加10组标签。 在“标签”页签可查看已添加的标签。
  • 编辑标签 在HiLens专业版管理控制台左侧菜单栏选择“设备管理”,然后在设备列表中,选择需要进行管理的某一设备,单击设备名称进入设备详情页面。 “设备详情”页面默认展示“部署列表”页签。 单击“标签”,切换至“标签”页签。 在“标签”页签,单击“操作”列的“编辑”。 弹出“编辑标签”对话框。 图4 编辑标签 在“编辑标签”对话框中编辑“标签名”和“标签值”,单击“确定”。 在“标签”页签可查看重新编辑的标签。
  • 更多操作 一条数据标注完成后,可执行如下表1所示的操作。 表1 更多操作 操作 说明 删除标注 在“数据标注”页面的标注数据集列表中,单击“操作”列“删除”。 发布标注 在“数据标注”页面的标注数据集列表中,单击“操作”列“发布”。 在“发布”对话框,有两种发布方式: 选择发布后“更新原始数据集”,单击“确认”,覆盖原数据集信息(数据集名称不变)。 选择发布后“创建新数据集”,设置新数据集名称,然后单击“确认”。
  • 标注数据集 在“数据标注”页面的标注数据集列表中,单击“操作”列“标注”。 在“数据标注”页面,在“数据集文件列表”下拉列表中选择文件。 单击“创建对话”顺次生成一条不完整信息(对话样式),用户根据实际需要填写对话的instruction(指令)、input(输入/提问)、output(输出/回答),完成一条数据标注。 对于单条标注,还可执行以下操作: 单击标注右侧“一键自动生成”由平台内置的模型一键生成所有行的output信息。 单击标注右侧“添加回答”可继续添加多条output。 单击标注右侧“删除”,可删除标注。 对于标注中的output,,还可执行以下操作: 单击output所在行右侧的“自动生成”,由平台内置的模型自动生成当前行的output信息。 单击output所在行右侧的“重新生成”,由平台内置的模型重新生成当前行的output信息。
  • 操作步骤 在“服务部署”页面,按表1填写服务的相关参数,然后单击右下角的“部署”。 图1 服务部署 表1 服务部署参数说明 参数 说明 服务名称 待部署的服务名称,首次部署服务请单击可修改默认服务名称。 如果在不同版本非首次部署服务,服务名称不支持修改。 描述 待部署服务的简要说明。 资源池 用于部署服务的资源池和资源类型。资源池可选“公共资源池”和“专属资源池”。 “公共资源池”:提供公共的大规模计算集群,资源按作业隔离。您可以按需选择不同的资源类型。 “专属资源池”:提供独享的计算资源,不与其他用户共享,更加高效。使用专属资源池需要在ModelArts创建专属资源池。 计算节点规格 界面上选择计算规格。 服务自动停止 设置服务自动停止的时间,在线服务运行状态在所选的时间点后自动停止,同时在线服务也停止计费。 计算节点个数 设置当前版本模型的实例个数。如果节点个数设置为1,表示后台的计算模式是单机模式;如果节点个数设置大于1,表示后台的计算模式为分布式的。请根据实际编码情况选择计算模式。 部署成功后,页面显示“服务部署成功”。您可以单击“查看应用监控”,进入应用监控页面查看监控信息,详情请见监控应用。
  • SDK调用 本章节以Python SDK为例介绍如何进行使用,其他语言SDK使用方法相同。 获取SDK。 在自定义OCR的“部署”页面,选择“SDK调用”获取SDK。 图2 获取SDK 导入SDK至PyCharm(请在PyCharm中提前配置python环境)。 图3 导入SDK 获取AK、SK。 AK/SK(Access Key ID/Secret Access Key)即访问密钥,包含访问密钥ID(AK)和秘密访问密钥(SK)两部分,华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。 登录访问密钥页面,依据界面操作指引,获取AK、SK。下载得到的访问密钥为credentials.csv文件,文件中的B列和C列分别是AK、SK信息。 图4 新增访问密钥 图5 AKSK文件 修改OCRDemo.py文件。 在文件中找到“aksk_request”,修改内容有两处: (1)填写获取的AK、SK。 (2)将代码示例中的请求url替换为自定义OCR部署后生成的url,只使用图片中用蓝色标注的字段进行替换。 (3)将代码示例中的# option["side"]="front"替换为: option["template_id"]="xxx" template_id的值可以在自定义OCR部署发布后获取。 图6 修改代码文件(修改前) 图7 修改代码文件(修改后) 调用自定义OCR SDK。 在示例代码“img_path”中输入需要识别的图片,并执行代码。
  • API调用 本章节以postman为例介绍如何调用API,建议使用SDK。 使用API调用时,因为需要使用Token进行认证鉴权,在鉴权中,会存在因华为账号升级导致的“无法使用主账户 获取Token ”的情况,产生“The username or password is wrong.”报错,该问题可以通过创建一个 IAM 子用户获取Token解决,处理步骤请参见帐密报错“The username or password is wrong.”。 获取Token。 由于自定义OCR部署在华北-北京四区域,因此需要获取北京四(cn-north-4)区域的Token。 POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens Request Header: Content-Type: application/json Request Body: { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "IAM子用户名", "password": "密码", "domain": { "name": "主账户的用户名" } } } }, "scope": { "project": { "name": "cn-north-4" } } } 图8 请求header 图9 请求body 调用自定义OCR API。 依据下图的对应关系,将自定义OCR部署后生产的API填写至postman中。url中的{endpoint}需要替换为ocr.cn-north-4.myhuaweicloud.com。 在"image"参数中,输入图片的base64编码即可调用API。 图10 调用自定义OCR API
  • 步骤5:评估模型 在应用开发的“模型评估”页面,您可以针对当前版本的模型进行整体评估和详细评估。 “整体评估”左侧显示当前模型的“版本”、“标签数量”、“验证集数量”。 “整体评估”右侧显示当前模型的评估参数值,包括“精准率”、“召回率”、“F1值”。 图9 整体评估 在应用开发的“模型评估”页面,您可以搜索查看测试集中数据模型预测结果。 “详细评估”左侧在搜索框中搜索标签,右侧显示正确标签所对应样本的正确标签和预测标签,您可以对比正确标签和预测标签,判断当前模型预测该样本是否预测正确。 例如搜索框内输入标签“1”,下方会显示正确标签为“1”的样本中,预测正确的样本数在验证集中的占比。右侧显示正确标签为“1”的样本信息,包括样本的正确标签和预测标签。 图10 详细评估 单击右下角的“发布部署”。 进入应用开发的“服务部署”页面。
  • 步骤3:选择数据 在应用开发的“数据选择”页面,单击“新建数据集”。 右侧弹出“新建数据集”页面。 按表4填写数据集基本信息,然后单击“确定”。 图6 新建数据集 表4 新建数据集参数说明 参数 说明 推荐填写 数据集名称 待新建的数据集名称。支持输入中英文、数字、下划线及中划线。 本样例填写“test”。 描述 数据集简要描述。 - 数据集状态 上传的训练数据可以是已标注的数据,也可以是未标注的数据。 您可以根据自身业务选择“数据集状态”是“已标注数据集”还是“未标注数据集”。 数据集模板可在选择“数据集状态”后,单击下方的“文本分类已标注数据模板”或“文本分类未标注数据模板”,下载数据集模板至本地查看。 本样例使用已标注的数据集,所以选择“已标注数据集”。 如果您想手动修改标签,可单击数据集操作列的“标注”,进入数据集概览页单击右上角的“开始标注”,在“数据标注”页面手动标注数据,详细的操作指导请参考标注数据。 数据集输入位置 训练数据存储至OBS的位置。 单击“数据集输入位置”右侧输入框,在弹出的“数据集输入位置”对话框中,选择“OBS桶”和“文件夹”,然后单击“确定”。 选择步骤1:准备数据中提前上传数据集的OBS路径“mapro-nlp/data-in”。 数据集输出位置 待新建的数据集存储至OBS的位置。 单击“数据集输出位置”右侧的“修改”,在弹出的“数据集输出位置”对话框中,选择“OBS桶”和“文件夹”,然后单击“确定”。 选择步骤1:准备数据中提前创建好的输出数据集的OBS路径“mapro-nlp/data-out”。 勾选已上传的数据集。 服务进行标签解析,统计训练数据集中各个标签的样本数。 您可以选择打开“合并标签”开关,将样本数量较少的标签在模型训练中进行合并,以达到更优训练效果。 图7 数据选择 单击右下角“下一步”。 进入应用开发的“模型训练”页面。
  • 步骤4:训练模型 在应用开发的“模型训练”页面,勾选模型训练所使用的“预训练模型”。 当前服务提供预置预训练模型“BERT”、“TinyBERT”、“FastText”。本样例使用“FastText”模型。 在参数配置,填写“学习率”和“训练轮次”。 本样例使用“学习率”为“0.00001”,“训练轮次”为“3”。 单击右下角的“开始训练”,开始训练模型。 模型训练一般需要运行一段时间,等模型训练完成后,可查看“训练详情”、“准确率变化情况”和“误差变化”。 图8 训练详情 模型训练完成后,单击右下角的“下一步”。 进入应用开发的“模型评估”页面。
  • 步骤6:部署服务 在应用开发“服务部署”页面,按表5填写服务的相关参数,然后单击“部署”。 图11 服务部署 表5 服务部署参数说明 参数 说明 推荐填写 服务名称 待部署的服务名称,首次部署服务请单击可修改默认服务名称。 如果在不同版本非首次部署服务,服务名称不支持修改。 本样例使用默认服务名称。 描述 待部署服务的简要说明。 - 资源池 用于部署服务的资源池和资源类型。资源池可选“公共资源池”和“专属资源池”。 “公共资源池”:提供公共的大规模计算集群,资源按作业隔离。您可以按需选择不同的资源类型。 “专属资源池”:提供独享的计算资源,不与其他用户共享,更加高效。使用专属资源池需要在ModelArts创建专属资源池。 本样例选择“公共资源池”。 计算节点规格 界面上选择计算规格。 - 计算节点个数 设置当前版本模型的实例个数。如果节点个数设置为1,表示后台的计算模式是单机模式;如果节点个数设置大于1,表示后台的计算模式为分布式的。请根据实际编码情况选择计算模式。 本样例选择1个计算节点。 服务自动停止 设置服务自动停止的时间,在线服务运行状态在所选的时间点后自动停止,同时在线服务也停止计费。 本样例选择“1小时后”。 部署成功后,页面显示“服务部署成功”。您可以单击“查看应用监控”,进入应用监控页面查看监控信息,详情请见监控应用。
  • 步骤1:准备数据 在开发应用之前,您需要自行准备训练数据集并上传至OBS桶及文件夹中。由于数据安全原因,本样例不提供具体的样例数据,仅提供样例数据要求。 本样例使用已标注数据训练模型,数据集要求如下: 文件格式要求为txt或者csv,文件大小不能超过8MB。 以换行符作为分隔符,每行数据代表一个标注对象。 每个分类标签需要准备5个及以上数据,为了训练出效果较好的模型,建议每个分类标签准备100个以上的数据。 文本分类的标注对象和标注内容在一个文本文件内,标注对象与标注内容之间,多个标注内容之间可分别指定分隔符。 例如,文本文件的内容如下所示。标注对象与标注内容之间采用Tab键分隔。 手感很好,反应速度很快,不知道以后怎样 positive 三个月前买了一个用的非常好果断把旧手机替换下来尤其在待机方面秒杀 positive 没充一会电源怎么也会发热呢音量健不好用回弹不好 negative 算是给自己的父亲节礼物吧物流很快下单不到24小时就到货了耳机更赞有些低音炮的感觉入耳很紧不会掉棒棒哒 positive 按上文要求准备训练数据集,并保存至本地,训练数据命名为“test.txt”。 登录OBS服务,创建桶和文件夹,用于存放数据集。 创建名称为“mapro-nlp”的OBS桶。 创建名称为“data-in”的文件夹用于存放训练数据集。 创建名称为“data-out”的文件夹用于存放输出的数据集。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证数据能正常访问,请务必确保创建的OBS桶与 ModelArts Pro 服务在同一区域。 参考上传文件,使用单个文件上传方式将本地准备的训练数据“test.txt”文件上传至OBS路径“mapro-nlp/data-in”下。
  • 步骤1:准备数据 在开发应用之前,您需要设计好商品标签,并自行准备数据集并上传至OBS桶及文件夹中。 由于数据安全原因,本样例不提供具体的样例数据,仅提供适用本次样例的数据要求。本次样例需要准备两份数据,一份训练数据集用于训练模型,一份SKU数据用于创建SKU,即商品各类单品的图片,方便后续针对训练数据集中的数据进行自动标注。 商品标签 本次样例以蛋糕商品为例,设计“cream_cake”、“fruit_cake”、“cheese_cake”这三类标签。 数据格式 保证图片质量:不能有损坏的图片。 目前支持的格式包括JPG、JPEG、PNG、BMP。 训练数据集 本样例训练数据集使用未标注数据。 为了保证模型的预测准确度,训练样本跟真实使用场景尽量相似。 为保证模型的泛化能力,数据集尽量覆盖所有商品分类的图片,即覆盖所有标签的图片。 每个分类标签需要准备20个数据以上,为了训练出效果较好的模型,建议每个分类标签准备200个以上的数据。 所有图片放在一个文件目录下,示例如下所示。 ├─Training-Dataset │ IMG_20180919_114732.jpg │ IMG_20180919_114745.jpg │ IMG_20180919_114945.jpg 如果训练数据集使用已标注数据,数据要求请见数据集要求。
  • HiLens套件 HiLens套件当前处于公测阶段,可免费试用。但是由于使用过程中依赖 对象存储服务 (Object Storage Service,OBS)、ModelArts服务和华为HiLens服务的使用,依赖服务会产生相应的费用。 HiLens套件安全帽检测技能工作流中训练安全帽检测模型,会使用到ModelArts的计算资源,价格详情请见ModelArts价格详情。 HiLens套件涉及OBS收费的功能如表5所示,价格详情请见OBS价格详情。 HiLens套件部署技能至边缘设备,并在华为HiLens平台上进行模型管理和技能管理,华为HiLens服务价格详情请见计费说明。 表5 HiLens套件涉及OBS收费功能 功能 与OBS关系 上传训练数据集 ModelArts Pro上传的训练数据集存储在OBS中。 管理数据集 数据集存储在OBS中。 数据集的标注信息存储在OBS中。 支持从OBS中导入数据。 训练模型 训练模型使用的数据集存储在OBS中。 训练模型的运行脚本存储在OBS中。 训练模型输出的模型存储在指定的OBS中。
共100000条