In the past few years, more and more AI applications have been applied to edge devices. However, models trained by data scientists with machine learning frameworks, such as PyTorch or TensorFlow, can not be seamlessly executed on edge. In this paper, we develop an end-to-end code generator parsing a pre-trained model to C source libraries for the backend using MicroTVM, a machine learning compiler framework extension addressing inference on bare metal devices. An analysis shows that specific compute-intensive operators can be easily offloaded to the dedicated accelerator with a Universal Modular Accelerator (UMA) interface, while others are processed in the CPU cores. By using the automatically generated ahead-of-time C runtime, we conduct a hand gesture recognition experiment on an ARM Cortex M4F core.
翻译:在过去的几年中,越来越多的人工智能应用被应用于边缘设备上。然而,由机器学习框架(如PyTorch或TensorFlow)训练的模型无法无缝地在边缘执行。在本文中,我们使用MicroTVM开发了一个端到端代码生成器,将预训练的模型解析为后端使用的C源代码库。MicroTVM是一个扩展机器学习编译器框架,可以解决裸机设备上的推理问题。分析表明,特定的计算密集型操作可以轻松地从通用模块化加速器(UMA)接口卸载到专用加速器上,而其他操作则在CPU核心中处理。通过使用自动生成的Ahead-of-Time C运行时,我们在ARM Cortex M4F核心上进行了手势识别实验。