【TVM 教程】开发环境中加入 microTVM
内容提要
本文介绍如何将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 文件夹包含在项目中。