【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 中创建项目,配置外设和生成初始化代码。

  • 将编译后的模型集成到生成的项目中,包含必要的头文件和源文件。

  • 在主函数中设置模型的输入和输出,并运行推理。

  • 优化项目设置以提高编译效率,并运行项目以查看推理结果。

🔎

延伸解读

microTVM的灵活性

本教程展示了microTVM在不同开发环境中的适应性,尽管以STM32CubeIDE为例,但步骤同样适用于其他IDE。这种灵活性使得开发者可以根据自身需求选择合适的工具,提升开发效率。

模型评估的重要性

在集成模型后,进行有效的模型评估至关重要。通过使用样本图像进行测试,开发者可以验证模型的准确性和性能。这一过程不仅帮助识别潜在问题,还能为后续优化提供依据。

依赖项的管理

安装microTVM所需的Python依赖项是成功集成的关键步骤。确保正确安装pyserial、tflite和Pillow等库,可以避免在后续开发中遇到不必要的错误,提升开发的顺畅度。

延伸问答

如何在 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 文件夹包含在项目中。

🏷️

标签

➡️

继续阅读