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

为自定义模型创建版本

最近更新时间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>),必须是一个正整数。如 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. 新建版本 对话框,根据以下配置说明完成模型版本的配置。
    图片

    配置项

    说明

    名称

    为版本设置名称。
    只能使用以下字符:汉字、英文大小写字母、数字、下划线(_)、连字符(-)、半角句号(.)。长度不超过 32 个字符。特殊字符不能用在开头和结尾,也不能连续使用。

    描述

    为版本添加描述。

    文件

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

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

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

    说明

    如果模型框架是 Ensemble,该配置项不显示。

    是否为加密模型

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

    说明

    如果模型框架是 Ensemble,该配置项不显示。

    添加模型

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

    说明

    只有当模型框架是 Ensemble 时,该配置项才会显示。

  3. 单击 完成

创建前后处理版本

  1. 单击 前后处理版本,然后单击 新建版本

  2. 新建版本 面板,根据以下配置说明完成配置向导。

    步骤

    配置项

    说明

    基本配置

    前后处理版本名称

    为版本设置名称。
    只能使用以下字符:汉字、英文大小写字母、数字、下划线(_)、连字符(-)、半角句号(.)。长度不超过 32 个字符。特殊字符不能用在开头和结尾,也不能连续使用。

    前后处理版本描述

    为版本添加描述。

    模型前处理配置

    输入图像格式

    选择模型输入图像的色彩空间格式。可选项: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、YOLOv8
    • 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 算法中的置信度阈值。只有当检测框的推理结果大于置信度阈值,才判定其为满足条件的检测框。