You need to enable JavaScript to run this app.
导航

步骤2:为模型创建版本

最近更新时间2024.02.01 11:22:37

首次发布时间2022.11.03 20:11:05

本文描述了如何通过边缘智能控制台为自定义模型创建版本。

背景信息

您可以创建模型版本(必须)和前后处理版本(可选)。

模型版本

模型版本定义了相应的模型文件。创建模型版本时,您需要将模型文件上传到边缘智能控制台。当模型版本发布后,您可以将版本对应的模型文件部署到一体机。

ONNX 模型文件加密

ONNX 模型支持模型文件加密功能,您可以将通过密码加密的模型文件上传到边缘智能控制台,而将对应的密码保管在一体机(无需上传到云端)。模型文件只能通过边缘智能提供的加密工具进行加密。如需上传加密的 ONNX 模型文件,您可以根据 ONNX 模型文件加密说明准备对应的模型文件。

前后处理版本

前后处理版本适用于 图像分类物体检测 模型。它定义了模型前处理和后处理的相关配置。

  • 前处理配置:表示在模型推理前对输入的图像进行预处理,如缩放、正则化等。
  • 后处理配置:表示定义输出的分类标签、设置输出的物体聚类方式等。

通过创建前后处理版本,您可以提前定义好前处理和后处理的相关配置,这样方便您更灵活地在数据流中配置推理模型节点。在部署模型服务时,您可以选择同时部署一个前后处理版本。这样前后处理版本所携带的配置将和模型文件一起部署到一体机。后续您在数据流实例中配置推理服务算子时,无需再通过算子的控制参数来指定配置文件(config-file-path)、标签文件(labelfile_path)。

前提条件

您已经创建了自定义模型。相关操作,请参见创建自定义模型

准备工作

为模型创建版本前,您必须先准备好模型文件。

模型文件说明

模型文件仅支持通过文件夹上传,文件夹下单个文件的大小不超过 5 GB,且文件夹的总大小不超过 10 GB。
另外,文件夹内文件格式必须满足以下要求,才能保证模型服务可以正常部署到一体机:

  • 文件夹的名称表示模型的版本号(<version_number>),必须是一个正整数。如 111 等。
  • 模型文件必须以 model 命名,且不同推理框架只允许上传特定格式的模型文件。具体说明如下。
框架模型文件上传要求示例
TensorFlow必须包含文件model.graphdef,或者包含文件夹model.savedmodel/<model_files>
Pytorch必须包含文件model.pt
TensorRT必须包含文件model.plan
ONNX必须包含文件model.onnx,或者包含文件夹model.onnx/<model_files>
您可以上传经过加密的model.onnx文件。关于为 ONNX 模型文件加密的方法,请参见 ONNX 模型文件加密说明
OpenVINO必须包含文件model.binmodel.xml
Python必须包含文件model.py
Bytenn必须包含文件model.bytenn
PaddlePaddle必须包含文件model.pdmodelmodel.pdiparams

ONNX 模型文件加密说明

边缘智能提供模型加密工具。该模型加密工具是一个 Python 脚本,它基于 AES 算法对本地的 .onnx 模型文件进行加密。单击下载模型加密工具(.zip)

下载模型加密工具压缩包后,对压缩包进行解压缩。解压缩后,您会获得以下文件:

  • key.json:用于设置加密密码。
  • main.py:加密的主脚本。
  • README.md:加密工具的使用说明。

您需要修改 key.jsonmodel_key 参数的值,设置一个加密密码,并将本地模型文件拷贝到加密工具的主目录,然后按照 README.md 的说明安装依赖和运行加密脚本。加密完成后,您可以在加密工具的主目录获得加密后的模型文件。加密后的模型文件名称是 encrypted_<原名称>.onnx

注意

操作步骤

  1. 登录边缘智能控制台

  2. 在左侧导航栏顶部的 我的项目 区域,选择您的项目。

  3. 在左侧导航栏,选择 边缘推理 > 模型管理

  4. 自定义模型 列表,找到您的模型,单击模型名称。

  5. 单击 版本管理 页签。

  6. 为模型创建版本。
    您可以创建模型版本创建前后处理版本

  7. 发布模型版本。

    说明

    模型版本只有发布后才能部署,前后处理版本无需发布即可部署。

    1. 模型版本 列表,找到您的模型版本,单击 操作 列的 发布

      仅当模型版本的 状态草稿 时,发布 操作才可以使用。

    2. 在弹出的对话框,单击 确认发布

    完成发布操作后,模型版本的 状态 将变为 已发布。这时,您可以将模型版本部署到一体机。相关操作,请参见部署自定义模型

创建模型版本

  1. 单击 新建版本
  2. 新建版本 对话框,根据以下配置说明完成模型版本的配置,然后单击 上传文件

alt

配置项说明

名称

为版本设置名称。输入要求如下:

  • 允许使用以下字符:中文字符、英文大小写字母、数字、下划线(_)、连字符(-)、半角句号(.)。
  • 长度不超过 32 个字符。
  • 开头或结尾不允许使用特殊字符。不允许连续使用特殊字符。

描述

为版本添加描述。
允许使用任意字符。长度不超过 128 个字符。

文件

该配置项仅在模型的框架不是 Ensemble 时出现。

上传对应的模型文件。可选择的方式包括:

  • 单击 + 按钮,然后从本地文件中选择模型文件所在文件夹。
  • 直接将包含模型文件的文件夹拖放到文件上传区域。

关于模型文件的具体要求,请参见模型文件说明

是否为加密模型

该配置项仅在模型的框架不是 Ensemble 时出现。

该配置项的值默认为 。只有当模型的框架是 ONNX 时,该配置项允许修改。
如果选择 ,表示您将上传经过密码加密的 ONNX 模型文件。关于如何为 ONNX 模型文件加密,请参见 ONNX 模型文件加密说明

添加模型

该配置项仅在模型的框架 Ensemble 时出现。

从模型版本下拉列表,选择 Ensemble 模型中所包含子模型的版本。您可以单击 添加模型,添加多个版本。

创建前后处理版本

  1. 单击 前后处理版本,然后单击 新建版本
  2. 新建版本 面板,根据以下配置说明完成配置向导。
步骤配置项说明

基本配置

前后处理版本名称

为版本设置名称。输入要求如下:

  • 允许使用以下字符:中文字符、英文大小写字母、数字、下划线(_)、连字符(-)、半角句号(.)。
  • 长度不超过 32 个字符。
  • 开头或结尾不允许使用特殊字符。不允许连续使用特殊字符。

前后处理版本描述

为版本添加描述。
允许使用任意字符。长度不超过 128 个字符。

模型前处理配置输入图像格式选择模型输入图像的色彩空间格式。可选项:RGBBGRGRAY
Tensor输入顺序选择模型输入 Tensor 的维度顺序。可选项:NCHWNHWCNone。其中,N 表示 Batch,C 表示 Channel,H 表示 Height,W 表示 Width。
图像等比缩放选择对模型输入图像缩放时,是否保持原始的长宽比例。

图像缩放填充方式

该配置项仅在 图像等比缩放 时出现。

设置在图像等比缩放过程中处理图像尺寸不匹配的方式。可选项:

  • 右下填充:在图像的右侧和底部添加一定数量的像素。填充的像素通常使用背景色或者零值像素。
  • 对称填充:在图像的边缘复制原始图像的像素值进行填充,以保持图像的对称性。
图像缩放算法设置对模型输入图片进行缩放的算法。可选项:Bilinear双线性插值Nearest最近邻插值

正则化均值
正则化缩放因子

对输入图像进行正则化操作。均值分别为 3 个 channel 对应的浮点数值,如 [0, 0, 0]。缩放因子为一个浮点数值,如 0.003921569790691137。
假定输入为 x,均值为 mean,缩放因子为 scalefactor,则模型输入 y = scalefactor * (x - mean)

模型后处理配置模型类型选择模型后处理的类型。可选项:图像分类物体检测
标签分类图像分类/物体检测模型输出的类别标签列表。多个类别标签以半角分号(;)分隔。示例:car;person;face

置信度阈值

该配置项仅在 模型类型图像分类 时出现。

设置图像分类模型的置信度阈值。只有当推理结果大于置信度阈值,才判定为对应类别。示例:0.6

分类阈值

该配置项仅在 模型类型物体检测 时出现。

设置物体检测模型的分类阈值。只有当推理结果大于对应类别的分类阈值,才判定为对应类别。您可以为每个类别标签分别设置分类阈值。

输出格式

该配置项仅在 模型类型物体检测 时出现。

设置物体检测模型的后处理格式。可选项:

  • Yolo系列 > Yolov5
  • PaddlePaddle > PP-YOLOE
  • Nvidia > DetectNet_v2

输出聚类方式

该配置项仅在 模型类型物体检测 时出现。

设置物体检测框的聚类方式。仅支持 NMS(Non-Maximum Suppression)算法。

TopK设置 NMS 算法输出的检测框数量。示例:20,表示只输出前 20 个概率最大的检测框。
IOU阈值设置 NMS 算法中的 IOU(Intersection over Union)阈值。在目标检测任务中,通常将 IOU 阈值设置为一个固定值,如 0.5 或 0.7,用于判断算法输出的边界框是否与真实标注的边界框重叠,从而评估算法的准确性。
置信度阈值设置 NMS 算法中的置信度阈值。只有当检测框的推理结果大于置信度阈值,才判定其为满足条件的检测框。