详细转换
详细转换
概述
转换
此处假定要转换的模型已上传到 Hub。如果尚未完成此步骤,请参阅 模型上传 指南。

- 点击所需模型(公共或私有)的图标,向下滚动到“模型变体”部分,然后点击感兴趣变体旁边的“转换”按钮。

- 这将打开一个弹出窗口,列出模型可以转换的所有(RVC)平台。 点击感兴趣的平台。 请注意,选项取决于上传的模型文件的格式。 简而言之,只有 ONNX 格式允许转换为所有支持的平台。

- 接下来,您需要填写模型描述符和转换参数(如果模型文件是 NN-Archive,则某些参数可能已预定义)。 根据所选平台,系统会要求您提供:
- 模型实例名称: 在 Hub 中显示的转换后模型的名称(例如 RVC2)。
- Ir 版本 / Snpe 版本: 模型转换到的格式版本。
- 禁用 ONNX 简化(可选): 选择此选项可禁用转换期间的 ONNX 模型简化(用其常量输出来替换冗余算子)。
- Mo 参数(可选): 对于 RVC2 和 RVC3,使用 OpenVINO 模型优化器将模型转换为 IR 格式。 您可以在此处指定自定义参数。如果自定义参数与默认参数冲突,自定义参数将始终优先。 有关更多信息,请参阅 官方文档。
- 编译工具参数(可选): 对于 RVC2,使用 OpenVINO 编译工具来编译模型以进行推理。 您可以在此处指定自定义参数。如果自定义参数与默认参数冲突,自定义参数将始终优先。 有关更多信息,请参阅 官方文档。
- POT 目标设备: POT 的目标设备(仅限 RVC3)。最好设置为 VPU,如果失败则设置为 ANY。
- 转换为 blob: 启用此选项可将模型导出为 .blob 而不是默认的 .superblob(有关这两种格式的详细信息,请参阅 转换概念 部分)。 主要在转换为 DepthAI v2 时使用此选项,此时必须为固定数量的 SHAVE(使用下面的滑块手动设置)编译模型。 对于 DepthAI v3,强烈建议不要选中此选项,而是使用默认的 .superblob 格式。
- 形状: 网络的输入形状。
- 缩放值: 要用于每个通道的缩放值列表(例如,ImageNet 的 123.675、116.28 和 103.53)。
- 平均值: 要用于每个通道的平均值列表(例如,ImageNet 的 58.395、57.12 和 57.375)。
- 编码从 / 编码到: 转换所需的输入通道顺序(例如,从 RGB 到 BGR 或反之亦然)。 编码从定义了基础模型的输入通道顺序,编码到定义了转换后模型所需的顺序。 如果为两者传递相同的顺序,则模型将在不修改输入通道顺序的情况下进行转换。
- 量化数据: 对于 RVC3 和 RVC4 平台转换,会执行量化以降低模型的计算和内存成本(在 转换概念 部分阅读更多内容)。 此过程需要将示例输入数据传递给模型。 目前没有选项可以上传自定义量化数据集,但我们提供了一些通用的数据集供您选择 (来自 Open Images V7 和 forklift-1 数据集的 1024 张图像的精选集)。 为了获得最佳量化结果,请选择与模型训练数据集最相似的数据集(或切换到使用 Modelconverter 工具进行本地转换,该工具允许指定自定义量化数据集):
- 驾驶: 街道和车辆的图像(OIv7 类,如 Vehicle、Car、Traffic light 等);
- 食物: 水果、蔬菜、生食和熟食的图像(OIv7 类,如 Apple、Salad、Pizza 等);
- 通用: 代表各种对象和场景的 OIv7 图像的随机子集;
- 室内: 室内空间的图像(OIv7 类,如 Table、Chair、Fireplace 等);
- 随机: 随机像素图像;
- 仓库: 仓库内部的图像(forklift-1 图像的随机子集);
- 最大量化图像: 量化中使用的最大图像数量。
- 目标精度: 量化的目标精度 (仅限 RVC4)。 提供两个选项:FP16(半精度浮点量化)和 INT8(整数量化)。 如果您需要速度和准确性之间的平衡,并且量化效果最小,请选择 FP16;如果您想要最大的性能和模型压缩,并且可以接受潜在的轻微准确性权衡,请选择 INT8。
在转换过程中,预处理会嵌入到模型结构中。通常建议以一种方式填写相关参数(Scale Values、Mean Values 和 Encoding),使转换后的模型期望 BGR 输入,而无需额外的缩放或均值偏移。预处理操作的顺序是:
- 反转输入通道;
- 减去均值;
- 除以缩放值。
- 填写完参数后,单击 Export 按钮。 这将通过创建新的模型变体实例并将其状态标记设置为 Pending 来启动转换过程。转换过程将需要几分钟时间才能完成,具体取决于模型的大小和复杂性。

- 转换完成以 Success 状态标记表示。 现在可以下载模型,或通过 DepthAI API 引用模型(请参阅 推理 指南)。

故障排除
- 在 Failed Conversions 部分找到失败的转换作业,然后单击其名称。

- 单击右上角的 Logs 按钮下载转换日志,或通过滚动页面底部的 Conversion process logs 直接查看日志。

如果导出失败,则需要对模型或使用的转换参数进行更正。有关更多信息,请参阅 转换故障排除 页面。