TinyML是指在边缘设备上运行的机器学习模型,通常是在资源受限的嵌入式系统上运行的轻量级模型。这些设备可以是智能手机、传感器、微控制器或其他嵌入式设备。TinyML的目标是在这些设备上实现低功耗、低延迟和隐私保护的机器学习应用。
TinyML的发展受益于多个技术进步,包括模型压缩、量化、剪枝和量化训练等技术。这些技术允许将大型的深度学习模型压缩到足够小的尺寸,以适应嵌入式设备的资源限制。此外,TinyML还依赖于优化的推理引擎和针对嵌入式设备的硬件加速器,以实现高效的模型推理。
TinyML的应用领域非常广泛,包括智能传感器、健康监测、物联网、智能音频处理、自动驾驶、智能家居等。通过在边缘设备上运行机器学习模型,可以实现实时的数据分析和决策,同时减少对云端计算资源的依赖,从而提高隐私保护和降低通信成本。
总的来说,TinyML代表了一种趋势,即将机器学习能力推送到边缘设备,从而实现更加智能化和高效的嵌入式系统。
2.1 实验平台
RT-Thread:https://www.rt-thread.org/
TinyMaix:
https://en.wiki.sipeed.com/news/others/tinymaix_cnx/tinymaix_cnx.html
2.2 步骤
首先,基于开发板建立一个项目。
寻找现在软件包
软件包在嵌入式AI中
本次实验使用是TinyMaix包,已经被大神在RTT中配置好。
需要进行配置,主要是进行例程配置
等待例程配置完成
然后,编译、下载、打开命令台
输入help查看例程(VWW例程没有跑通)
运行结果
Total param ~1.9 KB表示该模型的参数总量约为1.9 KB,这是一个非常小的模型,适合在资源受限的嵌入式设备上运行。OPS ~0.02 MOPS表示该模型的计算量约为0.02 MOPS(百万次操作每秒),这是一个非常低的计算量。buffer 1.4 KB表示该模型需要的缓冲区大小为1.4 KB,也是一个非常小的缓冲区。
最后的tm_run use 0.003 ms表示该模型的推理时间为0.003毫秒,这意味着该模型在嵌入式设备上可以实现非常快速的推理,非常适合实时应用。
更多回帖