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

本页目录

  • 转换
  • RVC 平台
  • RVC 编译格式
  • 量化
  • 量化为何重要
  • 描述
  • 校准数据

概念

理解核心组件和术语对于有效利用我们的转换工具至关重要。 本页介绍了一些您在浏览文档时会遇到的关键概念。

转换

转换是将模型格式进行转换的过程。 该格式决定了模型的存储和部署。

RVC 平台

从历史上看,Luxonis 设备发布了多个代际产品。 我们称它们为机器人视觉核心 (RVC) 平台,每个平台都有自己的一套功能和要求。 在“硬件”部分可以找到更多信息。

RVC 编译格式

适用于特定 RVC 平台的模型格式:
  • RVC2 - .superblob(以及旧版的 .blob
  • RVC3 - .blob
  • RVC4 - .dlc

SHAVE

流式混合架构向量引擎 (SHAVE) 是 RVC2 VPU 上的硬件计算核心,负责执行神经网络工作负载。 在 DepthAI v2 中,模型被编译成 .blob 文件,每个文件都针对单个固定数量的 SHAVE 构建。 相比之下,DepthAI v3 引入了 .superblob 文件,该文件在一个模型文件中打包了所有可能的 SHAVE 配置 (有关更多信息,请参阅“推理”部分中“设置模型 SHAVE”部分)。 这使得在初始化管道期间动态选择所需 SHAVE 数量成为可能,从而提供了更大的灵活性,因为同一个模型文件可以在不同的 SHAVE 分配之间重用,而无需重新编译。

量化

量化是一种用于使 AI 模型更小、更快、更高效的方法。 这是通过降低模型权重和激活的精度来实现的。

量化为何重要

现代 AI 模型通常使用大量的数值数据,这些数据默认以 32 位浮点格式存储(一种精确但内存占用大的数字存储方式)。虽然这种精度在训练期间很有用,但在实际应用中运行模型时,它通常是过多的。这种简化会导致:
  • 更快的执行速度(需要处理的数据更少)
  • 减少内存使用量(模型尺寸更小)
  • 更低的功耗
  • 准确性下降幅度最小(如果做得好)

描述

对于我们的 RVC4 设备,我们使用 Qualcomm Neural Processing SDK 量化 简而言之,它的工作原理如下:
  1. 确定输入数据的范围(真实最小值和最大值)。
  2. 确定编码范围(编码最小值和最大值),确保其满足特定要求(例如,零表示)。
  3. 将每个 32 位浮点值转换为以下之一:
    • 16 位浮点值,或
    • 介于 0 和 255 之间的 8 位定点值。

校准数据

在量化过程中,数据用于确定模型权重和激活的输入范围和编码范围。 选择良好的校准数据可以减少精度而不会显著丢失信息。为了实现这一点,它必须:
  • 代表模型在训练期间遇到的数据,并且
  • 涵盖模型预期处理的完整值范围。
建议您使用验证图像构建校准数据集。使用更大、更多样化的校准集应该意味着量化后模型的整体性能更好。