microTVM:裸机上的 TVM#

microTVM 在裸机(bare-metal,即物联网)设备上运行 TVM 模型。microTVM 只依赖于 C 语言标准库,不需要操作系统来执行。microTVM 目前正在大力开发。

https://raw.githubusercontent.com/tvmai/web-data/main/images/dev/microtvm_workflow.svg

microTVM 是:

  • 对 TVM 的编译器进行扩展,使其能够针对微控制器

  • 一种在设备上运行 TVM RPC 服务器的方法,以允许自动调谐

  • 最小的 C 语言运行时,支持在裸机设备上进行独立的模型推理。

受支持的硬件#

microTVM 目前针对带有 Zephyr RTOS 的 Cortex-M 微控制器进行测试;但是,它可以灵活地移植到其他处理器上,如 RISC-V,并且不需要 Zephyr。目前的演示是针对 QEMU 和以下硬件运行的:

开始使用 microTVM#

在使用 microTVM 之前,建议你有受支持的开发板。然后,按照这些教程开始使用 microTVM:

  1. 启动 microTVM 参考虚拟机。microTVM 教程依赖于 Zephyr 和针对你的硬件的编译器工具链。reference VM 是安装这些依赖项的便捷方式。

  2. 试试 microTVM with TFLite Tutorial

  3. 尝试运行更复杂的 CIFAR10-CNN 模型

microTVM 如何工作#

你可以在 microTVM Design Document 中阅读更多关于这些作品的设计。

帮助和讨论#

TVM 讨论论坛 是合作完成 microTVM 任务的好地方,并保持着过去问题的可搜索历史。