检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
模型管理简介 hilens::Model类 模型管理器,使用模型管理器加载模型并进行推理。 #include <model.h> 析构函数 ~Model() virtual hilens::Model::~Model( ) Model析构时会释放掉hiai::Graph等资源。 父主题:
模型管理 模型管理简介 创建模型 模型推理
后的模型文件。 接口调用 和未加密模型一样调用接口,详情请见: 创建模型实例 模型推理 示例-模型管理 父主题: 模型管理模块
请见选择数据。 训练模型 在“应用开发>模型训练”页面,配置训练参数,开始训练模型。 输出路径 模型训练后,输出的模型和数据存储在OBS的路径。单击输入框,在输出路径的对话框中选择OBS桶和文件夹,然后单击“确定”。 预训练模型 当前服务提供安全帽检测预置模型“saved_model
创建模型实例 根据技能的模型,创建一个模型实例。HiLens Kit可以使用昇腾310芯片支持的模型来进行推理,使用此方法来构造一个后续用于推理的模型。 当返回的对象被析构时,对应的模型资源也被释放。 当前支持创建普通模型和加密模型 接口调用 hilens.Model(filepath)
cfg”。 OBS导入模型至HiLens Studio 通过OBS导入模型至HiLens Studio,首先需要将自定义的模型上传至OBS服务,请见上传模型至OBS。然后将OBS中的模型导入至HiLens Studio,可通过导入模型和拖拽模型两种操作方式导入模型。 上传模型至OBS 将自定义的模型上传到OBS服务,非“
开发模型 前提条件 目前,HiLens Kit的AI芯片支持运行“.om”模型,“.om”模型可以通过TensorFlow或Caffe模型转换而来,但“.om”模型并不支持TensorFlow和Caffe全部的算子,所以在开发模型的时候开发者需要用“.om”模型支持的算子,才能把
评估模型 训练得到模型之后,整个开发过程还不算结束,需要对模型进行评估和考察。一次性很难获得一个满意的模型,需要反复的调整算法参数、数据,不断评估训练生成的模型。 一些常用的指标,如精准率、召回率、F1值等,能帮助您有效的评估,最终获得一个满意的模型。 前提条件 已在华为HiLe
模型管理模块 模型加密(可选) 创建模型实例 模型推理 示例-模型管理
暂不支持导入ModelArts中“自动学习”训练的模型。 华为HiLens 只能导入ModelArts中训练的模型文件,不能导入ModelArts的模型。 本地训练模型 导入自定义模型前,需要将自定义的模型上传到OBS服务,非“.om”格式的模型上传文件包含caffe模型文件“.caffemodel”和“
om”格式的模型文件,选择“Encrypt Model”。 弹出“Encrypt Model”对话框。 图1 加密模型 “Encrypt Model”对话框中显示了模型密钥,单击“OK”。 在左侧“model”目录下会生成带密钥的模型文件,为区别于原模型,名称后缀增加“.en”。 图2
创建模型 构造一个模型。HiLens kit可以使用昇腾310芯片支持的模型来进行推理,使用此方法来构造一个后续用于推理的模型。模型构造失败则会抛出一个CreateError,并在日志上打印出错误码(例如0x1013011为模型路径错误)。当返回的对象被析构时,对应的模型资源也被释放。
模型推理 模型初始化成功后,调用infer接口进行模型推理。灌入一组数据,并得到推理结果。输入数据的类型不是uint8或float32数组组成的list将会抛出一个ValueError。 接口调用 hilens.Model.infer(inputs) 参数说明 表1 参数说明 参数名
若在上文“模型来源”中,选择需要转换格式的模型(非om格式模型),转换输入目录根据模型的来源自动初始化。目录下应该包含模型文件和转换所需的配置文件。模型文件的输入目录规范请见模型输入目录规范。 转换输出目录 若在上文“模型来源”中,选择需要转换格式的模型(非om格式模型),单击选
返回值为0即成功,其他即失败,失败响应参数如错误码所示。 如果推理的实际输入与模型输入大小不一致,推理将会失败。此时infer的返回值将是一个int的错误码,日志会报出错误信息,开发者可以通过错误信息来定位错误。 父主题: 模型管理
infer([input1]) # 假设模型2的输入为模型1的输出(已经是list),数据类型为float32 input2 = output1 # 进行推理 output2 = model2.infer(input2) # 假设模型3的输入是多输入,数据类型为float32
获取模型路径 获得技能模型所在目录的路径(末尾带”/“)。适用于创建技能时从模型管理页面选择模型并下发的情况,模型文件会被下载至一个专门存储模型的位置,通过此函数来获取模型所在目录。如果HiLens Framework没有获取模型所在目录,则返回当前路径(即代码所在目录)。 接口调用
获取模型路径 返回技能模型目录的路径。 对于技能代码包和模型分离的情况,模型会下载到特定目录,使用此函数来获取该路径。如果HiLens Framework没有获取模型所在目录,则返回当前路径。 接口调用 std::string hilens::GetModelDirPath() 返回值
模型输出目录规范 模型导入(转换)任务执行完成后,华为HiLens将转换后的模型输出至指定的OBS路径。针对不同的转换任务,基于Ascend芯片,其模型输出目录需要满足一定的规范要求。华为HiLens当前对模型输出目录的要求如下: 针对基于Caffe框架的模型,执行模型导入(转换)时,其输出目录说明如下所示。
模型输入目录规范 在本地开发模型后或在ModelArts开发并转换模型后,针对Ascend芯片,其模型输入目录需要满足一定的规范要求。华为HiLens当前对模型输入目录的要求如下: 针对基于Caffe框架的模型,执行模型导入(转换)时,其输入目录需符合如下规范。 | |---xxxx