此页面由 AI 自动翻译。查看英文原版

本页目录

  • 概述
  • 转换
  • 参数参考
  • 源模型输入设置
  • 平台和导出设置
  • 量化设置
  • 原始 ONNX 与 ONNX NN Archive
  • 故障排除

详细转换

概述

为了充分利用设备上的 AI 模型,它们必须首先被转换为目标平台的 RVC 编译格式。 如果您想了解什么是转换、为什么需要它以及其中涉及的一些关键概念,请参阅 转换 部分。虽然 Hub 通过“快速转换”工具提供了快速简化的选项,但某些工作流需要更深入的控制。 详细转换”工作流专为这些更高级的用例而设计,提供细粒度的配置参数以及版本/变体管理。 如果您更喜欢一次性快速转换且设置最少,请参阅 快速转换 部分。

转换

分步说明:

打开模型变体

打开 Hub,导航到 Models 部分,打开所需的模型,滚动到 Model Variants,然后点击要导出的变体旁边的 Convert

选择目标平台

选择目标 RVC 平台。可用的目标取决于上传的基础模型格式。 实际上,基于 ONNX 的模型源在跨平台转换支持方面最为广泛。

配置转换表单

查看预填值并根据需要进行调整。 如果基础模型是原始 ONNX 文件,请手动输入源模型输入设置。 如果基础模型是 ONNX NN Archive,请使用其 config.json 作为真实来源,仅在 Archive 元数据不正确时才更改值。使用下面的参考部分了解每个字段的确切含义。

导出并确认结果

点击 Export 开始转换。 新模型实例首先显示为 Pending,并在导出准备就绪时更改为 Success 然后,您可以下载转换后的 Archive 或直接通过 DepthAI 引用它。

参数参考

源模型输入设置

参数类别含义
Shape源模型源模型期望的输入形状
Mean Values源模型从输入中减去的每个通道的值
Scale Values源模型减去均值后应用的每个通道的除数
Encoding From源模型源模型期望的通道顺序
Encoding To导出的模型转换后的模型在运行时期望的通道顺序

平台和导出设置

参数类别含义
Model Instance Name导出的模型Hub 中显示的转换后实例的名称
Ir version / Snpe version转换过程目标转换格式或运行时版本
Disable Onnx Simplification转换过程在转换期间禁用 ONNX 图简化
Mo Args转换过程RVC2RVC3 的 OpenVINO Model Optimizer 额外参数
Compile Tool Args转换过程RVC2 的 OpenVINO 编译工具额外参数
POT Target Device转换过程RVC3 的 POT 目标设备
Convert to blob导出的模型导出 .blob 而不是 .superblob 以用于 RVC2

量化设置

参数类别含义
Quantization Data转换过程用于校准量化转换的数据集
Max Quantization Images转换过程量化期间使用的最大图像数量
Target Precision转换过程精度目标,例如 RVC4FP16INT8
在 Hub UI 中,您可以从以下通用数据集中进行选择:
  • Driving - 街道和车辆的图像(OIv7 类别,如 Vehicle、Car、Traffic light 等)
  • Food - 水果、蔬菜、生食和熟食的图像(OIv7 类别,如 Apple、Salad、Pizza 等)
  • General - OIv7 图像的随机子集,代表各种对象和场景
  • Indoors - 室内空间的图像(OIv7 类别,如 Table、Chair、Fireplace 等)
  • Random - 随机像素图像
  • Warehouse - 仓库内部的图像(forklift-1 图像的随机子集)
如果您需要自定义量化数据集,请使用 HubAI SDK 有关更高级的转换和量化选项,请参阅 ModelConverter 文档。

原始 ONNX 与 ONNX NN Archive

起点Hub 可以自动确定的内容您仍需要定义的
原始 ONNX图中的张量结构训练时预处理选择和语义输出元数据,例如类别名称和解析器配置
ONNX NN Archive张量元数据、预处理和 config.json 中的可选 heads 元数据导出选择,例如目标平台和特定于转换的选项
如果您从正确定义的 ONNX NN Archive 开始,通常不需要手动编辑导出的 archive。 导出的 archive 与源 archive 不同是预期中的。 例如,模型路径从 model.onnx 更改为编译后的伪像,如 .superblob.blob.dlc,并且 mean / scale 可能变为 null,因为预处理已烘焙到编译后的模型中。

故障排除

并非所有模型都可以为所需平台进行转换。 您可以按如下方式检查失败的转换日志:

打开失败的转换作业

Failed Conversions 部分找到失败的作业并打开它。

下载或检查日志

使用右上角的 Logs 按钮下载日志,或直接在页面上检查 Conversion process logs 部分。