【TVM 教程】创建使用 microTVM 的 MLPerfTiny 提交
💡
原文中文,约7900字,阅读约需19分钟。
📝
内容提要
Apache TVM 是一个支持多种硬件的深度学习编译框架。本文介绍如何使用 microTVM 构建 MLPerfTiny 提交,包括安装依赖、导入 TFLite 模型、编译模型,并生成可在 Zephyr 板上运行的项目,以便进行基准测试。
🎯
关键要点
- Apache TVM 是一个支持多种硬件的深度学习编译框架。
- 本文介绍如何使用 microTVM 构建 MLPerfTiny 提交。
- 安装 microTVM 需要 Python 依赖项,如 pyserial 和 tflite。
- 需要安装 ZephyrProject 和 Zephyr SDK,以支持 Zephyr 板。
- 导入 Visual Wake Word (VWW) TFLite 模型,并提取元数据信息。
- 定义目标、运行时和执行器以编译模型。
- 编译模型并生成模型库格式,计算工作空间大小。
- 生成输入和输出头文件,以连接生成的代码与独立项目。
- 创建、构建并准备项目 tar 文件,以便在开发套件上使用。
- 使用生成的项目将板子刷写,并准备运行 EEMBC runner 软件。
❓
延伸问答
如何安装 microTVM 的依赖项?
安装 microTVM 需要使用 pip 安装 pyserial 和 tflite,命令为:pip install pyserial==3.5 tflite==2.1。
什么是 MLPerfTiny?
MLPerfTiny 是一个基准测试模型,旨在评估小型机器学习模型的性能。
如何导入 TFLite 模型?
首先下载 Visual Wake Word (VWW) TFLite 模型,然后使用 TensorFlow Lite 的解释器加载模型并提取输入输出的元数据信息。
如何编译模型并生成模型库格式?
使用 TVM 的 relay.build 函数编译模型,并使用 export_model_library_format 函数生成模型库格式。
如何创建和准备 Zephyr 项目?
准备项目选项后,使用 tvm.micro.project.generate_project_from_mlf 函数生成项目,并调用 project.build() 进行构建。
如何在开发板上运行生成的项目?
将生成的项目解压后,进入项目目录,创建构建目录并使用 cmake 和 make 命令进行构建,最后使用 west flash 刷写到开发板上。
🏷️
标签
➡️