什么是TinyML
TinyML是在Pete Warden于2014年加入Google时发现的,当时OK Google小组是如何使用在DSP上运行的仅14 KB的神经网络来处理Android智能手机的“ OK Google”唤醒词的。沃登的背景是从房子的侧面看的,所以看到在如此有限的空间中奔跑的东西激发了他的好奇心。
他最初致力于使TensorFlow在Android和iOS设备上运行,然后移至TensorFlow Lite,但随后尝试使用更小的设备。沃登在音频领域发现了Pixel的Music IQ用于预测性维护(例如PsiKick),在视觉方面,Qualcomm的Glance摄像头模块结合了图像传感器和运行计算机视觉算法的低功耗处理器。与同事交谈后,Warden专注于使神经网络在仅消耗1 mW功率且无需有线电源的设备上运行。
另一个限制是处理器的成本应低于1美元。 TinyML的主要用途是用于边缘设备,在这些边缘设备中,几乎无需维护即可部署传感器。关于运行TinyML的设备浮现的一句话是“撕开和黏贴传感器”。这是一个概念,该设备无需更换电池即可运行数年,并且可以放置和遗忘,除非需要从中获取数据。Warden提到可以在这类设备上使用的区域是在工业生产线上,不方便供电的地方。
硬件
Arduino IDE准备
安装库文件
下载示例程序
使用Arduino IDE串行绘图仪查看传感器数据
在Arduino上开始机器学习
捕获手势数据
前往Jupyter笔记本
运行设置环境
上载捕获数据
图形数据
基于.csv数据的训练神经网络
随机分配和拆分输入和输出对以进行训练
建立和训练模型
校验
使用测试数据运行
将训练好的模型转换为Tensor Flow Lite
将模型编码到Arduino头文件中
对IMU数据进行分类
编译并上传Sketch
详情参阅 - 亚图跨际