云服务器内容精选
-
步骤1:准备数据 华为HiLens在公共OBS桶中提供了人脸检测技能的示例模型,命名为“face_detection_model”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-test1/face-detection”。 单击模型下载链接,将人脸检测案例示例模型“face_detection_model”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下: echo ec5160c48f5ba6025dac696d7ff8b827f1902f6aa712b6969609cb5f290d149a face_detection_model.zip | sha256sum -c 在本地,将“face_detection_model”压缩包解压。例如解压至本地“face_detection_model”文件夹下,包括两个子文件夹“caffemodel+transfer”和“logic_code”。 参考上传文件,将“caffemodel+transfer”文件夹下的3个文件上传至“hilens-test1/face-detection”OBS路径下,包含caffe模型文件“.caffemodel”和“.prototxt”和配置文件“.cfg”。
-
准备工作 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。 登录OBS服务,创建桶和文件夹,用于存放样例的模型数据。创建名称为“hilens-test1”OBS桶,创建名称为“face-detection”文件夹和名称为“face-detection-output”的文件夹。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。 占用OBS资源的操作均会收取一定费用,收费规则请参见 对象存储服务 OBS。
-
步骤1:准备数据 华为HiLens在公共OBS桶中提供了手势识别技能的用于模型训练的示例数据,命名为“gesture_recognition_data”,因此本文的操作示例使用此示例模型进行技能开发。您需要执行如下操作,将模型文件上传至您的OBS目录下,即准备工作中您创建的OBS目录“hilens-gesture/gesture-recognition”。 单击示例数据下载链接,将手势识别案例示例数据“gesture_recognition_data”下载至本地,在文件存放目录完成签名校验(Windows系统推荐使用Git工具),验证成功将返回OK。执行命令如下: echo 244e86ec55fd54461b5f5eff53a7867f43f72f29778babd3fe89a20e860ca529 gesture_recognition_data.zip | sha256sum -c 在本地,将“gesture_recognition_data”压缩包解压。例如解压至本地“gesture_recognition_data”文件夹下,包括1个子文件夹“gesture-data”和1个“.py”文件。 参考上传文件,利用OBS Browser+工具将“gesture_recognition_data/gesture-data”文件夹下的所有数据上传至“hilens-gesture/gesture-data”OBS路径下,OBS Browser+使用方法请参见OBS Browser+工具指南。
-
准备工作 已注册华为云帐号,且在使用华为HiLens前检查帐号状态,帐号不能处于欠费或冻结状态。 已购买HiLens Kit设备,并准备好网线,电脑,路由器,HDMI线,显示屏。 成功注册设备HiLens Kit设备至华为HiLens控制台,详情请参见注册HiLens Kit。 登录OBS服务,创建桶和文件夹,用于存放样例的训练数据。创建名称为“hilens-gesture”OBS桶,区域选择“华北-北京四”,创建如下文件夹: “gesture-data”:用于存放训练模型的数据。 “gesture-data-output”:用于存放模型输出数据。 “gesture-data-record”:用于存放日志。 “gesture-convert-output”:用于存放转换模型后的输出文件。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。为保证模型数据能正常访问,请务必保证创建的OBS桶与华为HiLens在同一区域。 占用OBS资源的操作均会收取一定费用,收费规则请参见对象存储服务 OBS。
-
本地导入模型至HiLens Studio 在HiLens Studio界面单击左上角,左侧将展示开发项目的文件目录。 在开发项目的文件目录区选择文件夹或空白区域,右键单击选择“Upload Files...”,在本地选择已经开发好的模型文件并导入至HiLens Studio。 caffe模型:caffe模型文件“.caffemodel”和“.prototxt”,根据业务选择上传配置文件“.cfg”。 tensorflow模型:“.pb”模型文件,根据业务选择上传配置文件“.cfg”。
-
导入/转换模型操作 针对本地开发的模型,首先需要导入模型至HiLens Studio。针对非“om”格式的模型,还需要在HiLens Studio进行模型转换。 导入和转换模型的操作流程如图1所示,操作指引如表1所示。 图1 操作流程 表1 导入/转换模型操作 操作 操作方式 操作指引 步骤一:导入模型至HiLens Studio 方式一:从本地导入 本地导入模型至HiLens Studio 方式二:从OBS导入 OBS导入模型至HiLens Studio 步骤二:在HiLens Studio转换模型 方式一:使用命令行转换模型 命令行转换模型 方式二:通过HiLens Studio界面转换模型 界面转换模型
-
界面转换模型 导入模型至HiLens Studio后,在HiLens Studio界面打开一个技能项目。 单击HiLens Studio界面左侧的。 左侧将显示开发项目的文件目录,详细说明请见项目文件说明。 图3 文件目录 右键单击文件夹“model”,单击“Model Convertion”。 弹出“Model Convertion”对话框。 按表2填写模型转换的信息,单击“OK”。 图4 Model Convertion 表2 Convert Model参数说明 参数 说明 Model Path 待转换的模型文件在技能项目文件中的位置。一般将模型导入至文件夹“model”。 Configuration 待转换模型的配置文件在技能项目文件中的位置。例如“model/aipp_rgb.cfg”。 Output Path 模型转换后输出位置。 Type 模型转换的类型,包括“TF-FrozenGraph-To-Ascend-HiLens”、“Caffe to Ascend”。 “TF-FrozenGraph-To-Ascend-HiLens” 支持将Tensorflow frozen graph模型转换成可在ascend芯片上运行的模型。 “Caffe to Ascend” 支持将Caffe模型转换成可在ascend芯片上运行的模型。 Advanced Options 当模型转换类型为“TF-FrozenGraph-To-Ascend-HiLens”时,可填写高级选项,包括张量形状、转换输出节点等参数选项,详情请见表3。 表3 Advanced Options 参数名称 参数说明 Input Tensor Shape 输入张量形状。若在上文“模型来源”中,选择需要转换格式的模型(非om格式模型),并且转换类型是“Tensorflow frozen graph 转 Ascend”或“Tensorflow SavedModel 转 Ascend”时,需要填写输入张量形状。 张量形状即模型输入数据的shape,输入数据格式为NHWC,如“input_name:1,224,224,3”,必填项。“input_name”必须是转换前的网络模型中的节点名称。当模型存在动态shape输入时必须提供。例如“input_name1:?,h,w,c”,该参数必填,其中“?”为batch数,表示1次处理的图片数量,需要根据实际情况填写,用于将动态shape的原始模型转换为固定shape的离线模型。 如果存在多个输入,请以分号(;)隔开。 out_nodes 转换输出节点,即指定输出节点,例如“node_name1:0;node_name1:1;node_name2:0”,其中“node_name”必须是模型转换前的网络模型中的节点名称,冒号后的数字表示第几个输出,例如“node_name1:0”,表示节点名称为“node_name1”的第0个输出。 input_format 输入数据格式,默认是“NHWC”,如果实际是“NCHW”的话,需要通过此参数指定“NCHW”。 net_format 优选数据格式,即指定网络算子优先选用的数据格式,“ND(N=4)”和“5D”。仅在网络中算子的输入数据同时支持“ND”和“5D”两种格式时,指定该参数才生效。“ND”表示模型中算子按“NCHW”转换成通用格式,“5D”表示模型中算子按华为自研的5维转换成华为格式。“5D”为默认值。 fp16_high_precsion 生成高精度模型,指定是否生成高精度“FP16 Davinci”模型。 0为默认值,表示生成普通“FP16 Davinci”模型,推理性能更好。 1表示生成高精度“FP16 Davinci”模型,推理精度更好。 output_type 网络输出数据类型,“FP32”为默认值,推荐分类网络、检测网络使用;图像超分辨率网络,推荐使用“UINT8”,推理性能更好。
-
模型要求 导入的模型可为“.om”格式、“.pb”格式或“.caffemodel”格式,其中“.om”格式的模型才可以在HiLens Kit上运行,“.pb”格式或“.caffemodel”格式的模型在导入HiLens Studio之后,需要将模型转换至“.om”格式。 并非所有模型都能转换成功,进行导入(转换)模型操作前,请确认是否为“.om”模型支持的TensorFlow和Caffe算子边界,详情请见附录Caffe算子边界和Tensorflow算子边界。
-
背景信息 在华为HiLens控制台开发技能时,会占用OBS资源,需要收取一定费用,收费规则请参见对象存储服务 OBS。 算法模型必须是.om格式,且满足华为HiLens的要求,详细可参考开发算法模型。 逻辑代码的存储方式有两种:“在线编辑代码”和“从OBS上传代码”。 如果您的代码逻辑较简单,建议直接在线编辑代码。 如果您的代码结构比较复杂,推荐用本地IDE开发完成后,使用OBS上传代码zip或tar.gz包的方式,上传操作可参见OBS快速入门。上传到OBS需要收取一定费用,收费规则请参见对象存储服务 OBS。 上传文件时,要求此OBS桶与您使用的华为HiLens处于同一区域。 若您从OBS上传代码,需要将所有代码文件压缩后上传,上传的文件必须为“.zip”或“tar.gz”格式,且入口文件必须在一级目录。如下示例所示,入口代码(“main.py”)在一级目录,其它的代码按需求自行设计,您可将模型与代码一起打包上传。 入口代码所在文件(如上面的main.py)通过参数【代码执行文件】进行配置,后面会有说明。 代码目录示例如下所示: skill/ |---main.py #入口文件,名称与新建技能的“代码配置”参数一致 |---depends/ #可选,用于存放模型文件 |---workspace/ #工作空间,用于存放技能生成的数据 |---data/ #用于存放运行时配置
-
4. 运行时配置(可选) 图4 运行时配置-22 部分技能在运行的时候需要用户配置参数,比如人脸判断类的技能需要用户上传人脸库等。运行时配置就像是一个“钩子”,开发者把“钩子”放出去,用户运行技能的时候设置了这些配置项,HiLens就会帮开发者把“钩子”收回来,这时候在代码里面开发者就可以使用这些用户的设置。您可以在界面中单击添加配置标签,参考表3填写您的配置。 您还可以单击“预览JSON格式”查看“钩子”的格式。开发者通过HiLens Framework提供的get_skill_config接口获取技能配置的JSON格式,读取里面字段的值来使用用户的配置。 运行时配置JSON格式如下所示: { //全局配置 "Language": "enum", //视频分路配置 "multi_camera": [ //该字段key值multi_camera固定,值表示摄像头分路配置 { "camera_names": [ //该字段key值camera_names固定,值表示该分组配置里包含了哪些摄像头 "cameraX", "cameraY" ], "FaceLib": { //配置名 "from": "file source", //文件类型值,表示文件来自哪个服务。比如OBS "path": "file path" //文件类型值,表示文件的路径 } } ], } 表3 运行时配置的参数说明 字段名称 说明 配置名 配置的名称,逻辑代码里面可用该字段获取该配置的值。运行时配置指技能在运行的时候,由用户配置的内容。比如人脸判断技能需要用户上传人脸库等。需要说明的是,整个运行时配置是可选的,但如果添加了一条配置,那么“配置名”、“配置说明”是必填项。 值类型 表示该配置项的值是什么类型的数据。 数值类型(int、float)、枚举类型、字符串和文件类型。 值约束 表示该配置可以设置的范围。跟值类型有关。 数值类型:用开闭区间的表示方法。如[1,100)表示大于等于1小于100。 字符串和文件:该项无需输入。 枚举:集合的表示方式,如{a,b}。 配置说明 说明该配置的作用,以及配置方法。该字段非常重要,用户会根据该字段的说明来配置,所以如果有运行时配置,开发者一定要在这里解释清楚。 配置对象 HiLens Kit可以连接多个(个数不大于设备上所安装技能的支持通道数之和)摄像头,所以可以开发支持多路视频的技能。 选择“视频”,则表示该配置是可以针对设备上每个摄像头视频进行配置的,比如摄像头1和摄像头2采用不同的人脸库。 选择“全局”,则表示设备上所有摄像头都用同一个配置值。
-
上传数据至OBS 使用 ModelArts Pro 进行应用开发时,您需要将数据上传至OBS桶中。 首先需要获取访问OBS权限,在未进行委托授权之前,无法使用此功能。您需要提前获得OBS授权,详情请见配置访问权限。 已创建用于存储数据的OBS桶及文件夹,且数据存储的OBS桶与ModelArts Pro在同一区域(目前仅支持华为-北京四),详情请见创建OBS桶。 上传数据至OBS,OBS上传数据的详细操作请参见《对象存储服务快速入门》。 您在创建OBS桶时,需保证您的OBS桶与ModelArts Pro在同一个区域。 建议根据业务情况及使用习惯,选择OBS使用方法。 如果您的数据量较小(小于100MB)或数据文件较少(少于100个),建议您使用控制台上传数据。控制台上传无需工具下载或多余配置,在少量数据上传时,更加便捷高效。 如果您的数据量较大或数据文件较多,建议选择OBS Browser+或obsutil工具上传。OBS Browser+是一个比较常用的图形化工具,支持完善的桶管理和对象管理操作。推荐使用此工具创建桶或上传对象。obsutil是一款用于访问管理OBS的命令行工具,对于熟悉命令行程序的用户,obsutil是执行批量处理、自动化任务较好的选择。 如果您的业务环境需要通过API或SDK执行数据上传操作,或者您习惯于使用API和SDK,推荐选择OBS的API或SDK方法创建桶和上传对象。 上述说明仅罗列OBS常用的使用方式和工具,更多OBS工具说明,请参见《OBS工具指南》。
-
前提条件 普通用户成功将购买的技能安装到设备上,详情请参见安装技能。 开发者成功将技能部署到设备上,详情请参见安装和调试技能。 技能输出模块中定义了将数据输出至OBS的场景,针对此类技能,才能通过数据管理页面查看数据。 如果您的技能开发者,您需要查看自己开发的技能在设备上的运行效果,在开发技能时,您需要指定数据存储至OBS中才能保证可以通过管理控制台下载。 如果您是技能使用者,需要在技能市场中,通过技能详情页面了解此技能是否将数据存储至OBS中。
-
手动收集日志 当前设备固件版本在1.3.3及以后版本,需要手动收集日志。 在华为HiLens管理控制台,单击左侧导航栏“数据管理(Beta)”,进入“数据管理”页面。 单击选中日志上传失败的设备,然后单击右上角的“保存所有日志”。 弹出“上传日志”对话框。 图2 保存日志 勾选需要上传到OBS的设备日志,单击“确定”。 等待日志收集。 日志按需收集,系统日志文件较大,收集耗时较长。 图3 上传日志 一般5分钟以后,待日志收集完成,在“数据管理”页面单击设备卡片,进入对应文件夹下载日志文件压缩包至本地,即可查看日志。
-
查看数据 您可根据数据输出类型,查看设备数据以及技能的运行效果,技能输出方式请见表1。 视频数据大多数技能通过设备的HDMI接口输出到显示屏,少数视频数据输出到服务器查看。请前往“技能市场”,在“技能详情”页面的“产品描述”中查看此技能的输出设置。例如,明星脸判断技能,其描述为“可以通过HDMI查看”,表示此技能部署后,需通过显示屏查看技能运行效果。 除“HDMI”输出方式以外,其他输出方式的技能存储在OBS中,需根据配置数据存储位置(OBS存储路径)查看数据。 表1 技能输出方式 方式 查看数据说明 HDMI 直接通过设备的HDMI接口输出到显示屏。 RTMP 实时输出到服务器供用户查看,服务器地址请查看技能“产品描述”。 H264_FILE 以文件的方式输出到OBS供用户查看。 OBS文件路径请见配置数据存储位置(OBS存储路径)。
-
参数配置 部分技能在运行的时候,需要用户配置相关的参数。比如一般人脸判断的技能都需要用户上传人脸库,运行技能时就需要配置相关的参数。 单击“添加参数”,按表3填写。 表3 参数配置说明 参数 说明 参数名称 参数名。必填参数。技能或容器镜像里可用该参数获取该参数的值。用户在添加技能作业时需要配置参数名称和参数的值。 类型 参数值的类型,表示该参数项的值是什么类型的数据。支持“string”、“int”、“float”、“object”类型。 必填 参数是否必填。 固定值 参数是否为固定值。 默认值 参数的默认值。如果参数为固定值,参数的默认值必填。 最大值 如果参数类型为“int”和“float”,则需要设置参数的最大值。 最小值 如果参数类型为“int”和“float”,则需要设置参数的最小值。 步长 如果参数类型为“int”和“float”,则需要设置参数的步长。 参数说明 填写参数相关说明,比如参数值的范围说明等。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格