检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
字符串 模型文件的路径。 可根据自己在新建技能>填写技能内容时上传模型的方式查看模型文件的路径。 方式一:在“模型”字段添加多个模型。此时获取模型路径请参见获取模型路径。 方式二:提前将多个模型和代码一起打包上传至OBS,“代码上传方式”选择“从OBS上传文件”。此时模型文件的路
创建模型 构造一个模型。HiLens kit可以使用昇腾310芯片支持的模型来进行推理,使用此方法来构造一个后续用于推理的模型。模型构造失败则会抛出一个CreateError,并在日志上打印出错误码(例如0x1013011为模型路径错误)。当返回的对象被析构时,对应的模型资源也被释放。
模型管理简介 hilens::Model类 模型管理器,使用模型管理器加载模型并进行推理。 #include <model.h> 析构函数 ~Model() virtual hilens::Model::~Model( ) Model析构时会释放掉hiai::Graph等资源。 父主题:
模型管理 模型管理简介 创建模型 模型推理
模型管理模块 模型加密(可选) 创建模型实例 模型推理 示例-模型管理
管理模型 开发模型 导入/转换本地开发模型 导入/转换ModelArts开发模型 加密模型 父主题: 开发环境HiLens Studio
# 加载模型 # filepath不能只是文件名,如果模型与程序在同一个目录,取相对路径则应当写作"./my_model.om" # 如果模型是在技能开发页面中附加进来的,则使用hilens.get_model_dir()可以得到模型所在目录,应当写为:
已在华为HiLens控制台选择“HiLens安全帽检测”技能模板新建技能,并训练模型,详情请见训练模型。 评估模型 工作流会用测试数据评估模型,在“应用开发>评估模型”页面,查看评估结果。 模型评估 图1 模型评估 训练模型的版本、标签数量、测试集数量。单击“下载评估结果”,可保存评估结果至本地。
pb”,请勾选预训练模型。 确认信息后,单击“开始训练”。 图1 模型训练 模型训练一般需要运行一段时间,等模型训练完成后,“应用开发>模型训练”页面下方显示训练详情。 查看训练详情 模型训练完成后,可在“应用开发>模型训练”页面查看“训练详情”。 图2 训练详情 父主题: HiLens安全帽检测技能
开发模型 前提条件 目前,HiLens Kit的AI芯片支持运行“.om”模型,“.om”模型可以通过TensorFlow或Caffe模型转换而来,但“.om”模型并不支持TensorFlow和Caffe全部的算子,所以在开发模型的时候开发者需要用“.om”模型支持的算子,才能把
${BUILD_DIR} fi 修改模型配置文件 模型配置文件是一个json文件,模型在加载的时候将会根据这个文件自动加载合适的模型并进行输入的预处理。建议将模型配置文件放在“model”文件夹中。模型路径为相对于当前模型配置文件的相对路径。 模型配置文件修改示例如下。配置参数设置请见模型配置文件。 {
cipherModelfile 其中“model_file”为待加密模型文件,“cipher_file”为加密之后的模型文件。 接口调用 和未加密模型一样调用接口,详情请见: 创建模型实例 模型推理 示例-模型管理 父主题: 模型管理模块
模型输入目录规范 在本地开发模型后或在ModelArts开发并转换模型后,针对Ascend芯片,其模型输入目录需要满足一定的规范要求。华为HiLens当前对模型输入目录的要求如下: 针对基于Caffe框架的模型,执行模型导入(转换)时,其输入目录需符合如下规范。 | |---xxxx
cfg”。 OBS导入模型至HiLens Studio 通过OBS导入模型至HiLens Studio,首先需要将自定义的模型上传至OBS服务,请见上传模型至OBS。然后将OBS中的模型导入至HiLens Studio,可通过导入模型和拖拽模型两种操作方式导入模型。 上传模型至OBS 将自定义的模型上传到OBS服务,非“
获取模型路径 获得技能模型所在目录的路径(末尾带”/“)。适用于创建技能时从模型管理页面选择模型并下发的情况,模型文件会被下载至一个专门存储模型的位置,通过此函数来获取模型所在目录。如果HiLens Framework没有获取模型所在目录,则返回当前路径(即代码所在目录)。 接口调用
获取模型路径 返回技能模型目录的路径。 对于技能代码包和模型分离的情况,模型会下载到特定目录,使用此函数来获取该路径。如果HiLens Framework没有获取模型所在目录,则返回当前路径。 接口调用 std::string hilens::GetModelDirPath() 返回值
om”格式的模型文件,选择“Encrypt Model”。 弹出“Encrypt Model”对话框。 图1 加密模型 “Encrypt Model”对话框中显示了模型密钥,单击“OK”。 在左侧“model”目录下会生成带密钥的模型文件,为区别于原模型,名称后缀增加“.en”。 图2
暂不支持导入ModelArts中“自动学习”训练的模型。 华为HiLens 只能导入ModelArts中训练的模型文件,不能导入ModelArts的模型。 本地训练模型 导入自定义模型前,需要将自定义的模型上传到OBS服务,非“.om”格式的模型上传文件包含caffe模型文件“.caffemodel”和“
返回值为0即成功,其他即失败,失败响应参数如错误码所示。 如果推理的实际输入与模型输入大小不一致,推理将会失败。此时infer的返回值将是一个int的错误码,日志会报出错误信息,开发者可以通过错误信息来定位错误。 父主题: 模型管理
模型推理 模型初始化成功后,调用infer接口进行模型推理。灌入一组数据,并得到推理结果。输入数据的类型不是uint8或float32数组组成的list将会抛出一个ValueError。 接口调用 hilens.Model.infer(inputs) 参数说明 表1 参数说明 参数名