
客座博文 / Michael Gielda,Antmicro
每天,都有越来越多的软件开发者开始探索机器学习、嵌入式系统和物联网的世界。这些领域近期的创新成果中最令人兴奋的进展之一,便是在边缘设备和体积越来越小的设备中构建 ML。我们通常将此类应用称为 TinyML。
在“机器学习的未来——微型化”(The Future of Machine Learning is Tiny) 一文中,Pete Warden 预测机器学习将在低功耗的微型设备上越来越普及。正如 Pete 预测的那样,在 TensorFlow 社区的努力下,我们现在同样能在 Arm Cortex-M MCU 等有严重资源限制的设备上展现此框架的强大性和灵活性。
Arm Cortex-M MCU 等有严重资源限制的设备上https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/micro
现在,TensorFlow 的开发者们可以将 ML 模型部署到嵌入式设备和 IoT 设备上,执行关键短语检测或手势识别等操作。但是,在多数小型设备和嵌入式设备上进行大规模软件测试仍然充满挑战。
在将多个独特设备纳入多节点网络中时会出现各种难题:如难以获取硬件组件、开发环境设置错误,以及遇到配置问题……甚至有时,一项看似简单的任务都有可能会变得非常复杂。

于上月发布的 Renode 1.9
在物理硬件上刷写和测试应用,并测试驱动的简单工作流(在网络或桌面应用开发等其他环境中很常见的工作流),即便经验丰富的嵌入式软件开发者也会发现他们在此过程中举步维艰。
TensorFlow Lite MCU 团队也面临着以下挑战:如何无需手动重插、重新刷写以及摆弄大量的微型板,而在各种硬件上重复且可靠地测试各种演示、模型及场景?
为了解决这些问题,他们开始使用 Renode (https://renode.io/),由 Antmicro 公司打造的开源模拟框架,致力于实现以下目标:能够将无硬件工作流持续集成于嵌入式系统和 IoT 系统。
在本文中,我们将向您展示一些基础知识,说明使用 Renode 如何在虚拟 RISC-V MCU 上运行 TensorFlow Lite 而无需部署物理硬件(不过,如果您确实想使用物理硬件,我们也准备了关于在 Digilent Arty 开发板上运行相同软件的说明)。
虽然本教程主要面向基于 RISC-V 的平台,但 Renode 能够针对多种不同架构(如 Arm、POWER 及其他架构)进行模拟的软件,因此本方法也可以与其他硬件结合使用。
Renode 是什么?
借助 Antmicro 提供的服务,客户和合作伙伴能够创建可扩展且可持续的先进工程解决方案,以应对复杂的技术挑战,我们十分以此为豪。大型软件开发者社区现在面临很多相同的结构性障碍和开发者工具缺陷问题,而在过去 10 年里,我们的团队一直在致力于解决此类问题。起初,我们创建了 Renode 框架来满足自身需要。但是作为开放源代码的支持者,2015 年我们决定使用宽