最近更新时间:2024.04.10 10:28:58
首次发布时间:2022.11.03 20:11:05
本文介绍了如何为自定义模型创建版本。
您可以创建模型版本(必须)和前后处理版本(可选)。
模型版本定义了相应的模型文件。创建模型版本时,您需要将模型文件上传到边缘智能控制台。当模型版本发布后,您可以将版本对应的模型文件部署到一体机。
ONNX 模型文件加密
ONNX 模型支持模型文件加密功能,您可以将通过密码加密的模型文件上传到边缘智能控制台,而将对应的密码保管在一体机(无需上传到云端)。模型文件只能通过边缘智能提供的加密工具进行加密。如需上传加密的 ONNX 模型文件,您可以根据 ONNX 模型文件加密说明准备对应的模型文件。
前后处理版本适用于 图像分类 和 物体检测 模型。它定义了模型前处理和后处理的相关配置。
通过创建前后处理版本,您可以提前定义好前处理和后处理的相关配置,这样方便您更灵活地在数据流中配置模型服务节点。在部署模型服务时,您可以选择同时部署一个前后处理版本。这样前后处理版本所携带的配置将和模型文件一起部署到一体机。后续您在数据流实例中配置模型服务节点时,无需再通过节点的控制参数来指定配置文件(config-file-path
)、标签文件(labelfile_path
)。
您已经创建了自定义模型。相关操作,请参见创建自定义模型。
为模型创建版本前,您必须先准备好模型文件。
模型文件仅支持通过文件夹上传,文件夹下单个文件的大小不超过 5 GB,且文件夹的总大小不超过 10 GB。
另外,文件夹内文件格式必须满足以下要求,才能保证模型服务可以正常部署到一体机:
<version_number>
),必须是一个正整数。如 1
、11
等。model
命名,且不同推理框架只允许上传特定格式的模型文件。具体说明如下。框架 | 模型文件上传要求 | 示例 |
---|---|---|
TensorFlow | 必须包含文件 | |
Pytorch | 必须包含文件 | |
TensorRT | 必须包含文件 | |
ONNX | 必须包含文件 | |
OpenVINO | 必须包含文件 | |
Python | 必须包含文件 | |
Bytenn | 必须包含文件 | |
PaddlePaddle | 必须包含文件 |
边缘智能提供模型加密工具。该模型加密工具是一个 Python 脚本,它基于 AES 算法对本地的 .onnx
模型文件进行加密。单击下载模型加密工具(.zip)
下载模型加密工具压缩包后,对压缩包进行解压缩。解压缩后,您会获得以下文件:
key.json
:用于设置加密密码。main.py
:加密的主脚本。README.md
:加密工具的使用说明。您需要修改 key.json
中 model_key
参数的值,设置一个加密密码,并将本地模型文件拷贝到加密工具的主目录,然后按照 README.md
的说明安装依赖和运行加密脚本。加密完成后,您可以在加密工具的主目录获得加密后的模型文件。加密后的模型文件名称是 encrypted_<原名称>.onnx
。
注意
登录边缘智能控制台。
在左侧导航栏顶部的 我的项目 区域,选择您的项目。
在左侧导航栏,选择 边缘推理 > 模型管理。
在 自定义模型 列表,找到您的模型,单击模型名称。
单击 版本管理 页签。
发布模型版本。
说明
单击 新建版本。
在 新建版本 对话框,根据以下配置说明完成模型版本的配置。
配置项 | 说明 |
---|---|
名称 | 为版本设置名称。 |
描述 | 为版本添加描述。 |
文件 | 上传对应的模型文件。可选择的方式包括:
关于模型文件的具体要求,请参见模型文件说明。 说明 如果模型框架是 Ensemble,该配置项不显示。 |
是否为加密模型 | 该配置项的值默认为 否。只有当模型的框架是 ONNX 时,该配置项允许修改。 说明 如果模型框架是 Ensemble,该配置项不显示。 |
添加模型 | 从模型版本下拉列表,选择 Ensemble 模型中所包含子模型的版本。您可以单击 添加模型,添加多个版本。 说明 只有当模型框架是 Ensemble 时,该配置项才会显示。 |
单击 完成。
单击 前后处理版本,然后单击 新建版本。
在 新建版本 面板,根据以下配置说明完成配置向导。
步骤 | 配置项 | 说明 |
---|---|---|
基本配置 | 前后处理版本名称 | 为版本设置名称。 |
前后处理版本描述 | 为版本添加描述。 | |
模型前处理配置 | 输入图像格式 | 选择模型输入图像的色彩空间格式。可选项:RGB、BGR、GRAY。 |
Tensor输入顺序 | 选择模型输入 Tensor 的维度顺序。可选项:NCHW、NHWC、None。其中,N 表示 Batch,C 表示 Channel,H 表示 Height,W 表示 Width。 | |
图像等比缩放 | 选择对模型输入图像缩放时,是否保持原始的长宽比例。 | |
图像缩放填充方式 | 设置在图像等比缩放过程中处理图像尺寸不匹配的方式。可选项:
说明 只有当 图像等比缩放 为 是 时,该配置项才会显示。 | |
图像缩放算法 | 设置对模型输入图片进行缩放的算法。可选项:Bilinear双线性插值、Nearest最近邻插值。 | |
正则化均值 和 | 对输入图像进行正则化操作。均值分别为 3 个 channel 对应的浮点数值,如 [0, 0, 0]。缩放因子为一个浮点数值,如 0.003921569790691137。 | |
模型后处理配置 | 模型类型 | 选择模型后处理的类型。可选项:图像分类 和 物体检测。 说明 不同模型类型支持的配置项不同。您选择模型类型后,仅显示该模型类型支持的配置项。 |
标签分类 | 图像分类/物体检测模型输出的类别标签列表。多个类别标签以半角分号(;)分隔。示例: | |
—— | 以下配置项仅当 模型类型 是 图像分类 时才会显示。 | |
置信度阈值 | 设置图像分类模型的置信度阈值。只有当推理结果大于置信度阈值,才判定为对应类别。示例: | |
—— | 以下配置项仅当 模型类型 是 物体检测 时才会显示。 | |
分类阈值 | 设置物体检测模型的分类阈值。只有当推理结果大于对应类别的分类阈值,才判定为对应类别。您可以为每个类别标签分别设置分类阈值。 | |
输出格式 | 设置物体检测模型的后处理格式。可选项:
| |
输出聚类方式 | 设置物体检测框的聚类方式。仅支持 NMS(Non-Maximum Suppression)算法。 | |
TopK | 设置 NMS 算法输出的检测框数量。示例:20,表示只输出前 20 个概率最大的检测框。 | |
IOU阈值 | 设置 NMS 算法中的 IOU(Intersection over Union)阈值。在目标检测任务中,通常将 IOU 阈值设置为一个固定值,如 0.5 或 0.7,用于判断算法输出的边界框是否与真实标注的边界框重叠,从而评估算法的准确性。 | |
置信度阈值 | 设置 NMS 算法中的置信度阈值。只有当检测框的推理结果大于置信度阈值,才判定其为满足条件的检测框。 |