【TVM 教程】开发环境中加入 microTVM

💡 原文中文,约9300字,阅读约需23分钟。
📝

内容提要

本文介绍如何将microTVM编译的Visual Wake Word模型集成到STM32CubeIDE中,步骤包括导入模型、编译生成MLF文件、添加样本图像,并在IDE中创建项目以运行模型。

🎯

关键要点

  • Apache TVM 是一个深度学习编译框架,适用于多种硬件平台。
  • 本教程介绍如何将 microTVM 编译的模型集成到 STM32CubeIDE 中。
  • 使用 MLPerf Tiny 的 Visual Wake Word 模型和 nucleo_l4r5zi 开发板进行示例。
  • 步骤包括导入模型、编译生成 MLF 文件、添加样本图像。
  • 安装 microTVM 所需的 Python 依赖项,包括 pyserial、tflite 和 Pillow。
  • 导入 Visual Wake Word TFLite 模型,并定义输入形状。
  • 生成模型库格式文件,定义目标、运行时和执行器。
  • 将样本图像添加到 MLF 文件中,以便于模型评估。
  • 在 STM32CubeIDE 中创建项目,配置外设和生成初始化代码。
  • 将编译后的模型集成到生成的项目中,包含必要的头文件和源文件。
  • 在主函数中设置模型的输入和输出,并运行推理。
  • 优化项目设置以提高编译效率,并运行项目以查看推理结果。

延伸问答

如何在 STM32CubeIDE 中集成 microTVM 编译的模型?

首先导入模型,使用 TVM 编译生成 MLF 文件,添加样本图像,然后在 STM32CubeIDE 中创建项目并配置外设,最后将编译后的模型集成到项目中。

安装 microTVM 需要哪些 Python 依赖项?

需要安装 pyserial、tflite 和 Pillow,命令为:pip install pyserial==3.5 tflite==2.1 Pillow==9.0 typing_extensions。

Visual Wake Word 模型的输入形状是什么?

Visual Wake Word 模型的输入形状为 (1, 96, 96, 3),即一个 96x96 像素的 RGB 图像。

如何生成模型库格式文件?

定义目标、运行时和执行器后,使用 TVM 编译模型并导出生成的代码和依赖项到一个 tar 文件中。

在 STM32CubeIDE 中创建项目的步骤是什么?

选择 File -> New -> STM32Project,输入项目名称,选择目标板,初始化所有外设,然后生成项目。

如何在项目中包含 CMSIS-NN 源文件?

从 CMSIS-NN 存储库下载或克隆文件,并按照项目设置步骤将 CMSIS-NN 文件夹包含在项目中。

➡️

继续阅读