×

通过Edge Impulse开始使用TinyML

消耗积分:2 | 格式:zip | 大小:0.07 MB | 2022-12-15

陈敏

分享资料个

描述

什么是 TinyML?

想象一下,想要感知微控制器上何时发生某种手势。通常,这将通过从传感器收集训练数据、对其进行标记、然后使用脚本来训练模型然后部署它来完成。此工作流程需要大量时间,并且对初学者来说可能非常艰巨。

TinyML 是 Edge imp 提供的一项服务,只需将微控制器连接到他们的服务,单击一个按钮,然后在他们的服务器完成繁重的工作后部署它,就可以轻松创建这些模型。他们的拖放界面使添加更多传感器或学习功能变得轻而易举。

潜在应用

如前所述,Edge Impulse 的 TinyML 非常适合快速创建依赖大量数据来检测和/或预测事件何时发生或正在发生的项目。一个很好的例子是热词识别,可以设置一个设备来监听一个特定的短语,然后根据它执行一个动作,比如“打开百叶窗”或“开灯”。该平台的另一个重要用途是运动识别,例如一种计算步数或检查当前是否正在使用物品的方法。

设置帐户

首先,首先创建一个帐户。

poYBAGOYFXuAawcsAAD6LHzVZ-s349.png
 

输入您的信息并验证您的电子邮件后,您将看到一个入门页面。这将引导您完成连接设备、收集数据和最终部署模型的过程。我将我的第一个项目命名为 PhoneTest-1,但它可以是任何你喜欢的。

poYBAGOYFYaAeb11AAE1cbQnkNk044.png
 

连接手机

TinyML 支持许多设备,包括 ESP32、许多 ST ARM Cortex-M3 板和几个支持 Arduino WiFi 的套件。然而,许多相同的任务只需通过网络浏览器使用智能手机即可完成,因为它包含麦克风和加速度计。要连接您的手机,只需点击打开二维码的“使用您的手机”按钮。

 
 
 
pYYBAGOYFY-AaWI8AAA-8SuZESM289.png
 
1 / 2
 

扫描后,您将被带到他们的网站并通过 API 密钥自动连接到他们的 API。确保在本指南的其余部分保持手机开机并打开浏览器窗口。

收集数据

现在是时候真正深入研究并创建模型了。但首先,必须有数据来训练它。确保您将手机放在手边,因为您将使用其传感器来捕获数据。首先,转到数据采集选项卡并确保选择了您的手机。选择加速度计传感器和频率,然后单击“开始采样”。移动完手机后,您可以在图表中查看收集到的数据。

 
 
 
poYBAGOYFaiADNUpAAD-x36KvD8919.png
 
1 / 2
 

训练模型

由于您记录了一些数据,是时候从中训练模型了。继续并导航到“创建脉冲”页面并选择推荐的频谱分析处理块和 Keras 神经网络学习块。然后继续前进并保存冲动。

pYYBAGOYFbqAVvOAAAEwTNquw_0754.png
 

接下来,设置数据的缩放、过滤和 FFT 设置。这些将控制您的数据在发送到 NN 之前如何进行预处理。之后,查看并生成特征。

 
 
 
pYYBAGOYxSmAQx9aAAJqzwJk5HU950.png
 
1 / 3
 

在 NN 设置页面上,我决定将默认置信度阈值从 80% 更改为 91%。训练模型后,我能够查看模型提出的图表。然后我转到“分类”页面,从手机中收集了更多数据,并查看了模型能够检测到的内容。

 
 
 
poYBAGOYxSuActIsAAD07N16pGc834.png
 
1 / 3
 

部署

为了部署模型,我将模型导出为 WebASM 文件,然后将其解压缩。然后我创建了一个名为的新 js 文件run-impulse.js并将其放入与模型相同的文件夹中(但该文件附加到此项目页面)。为了运行它,我在命令提示符中输入了节点命令run-impulse.js,然后将“原始特征”数组粘贴在引号中作为node命令的第二个参数。

 
 
 
pYYBAGOYxS-AbhxGAAFXgVVZ8OQ348.png
 
1 / 3run-impulse.js 源代码
 

最后的想法

我认为 TinyML 是一种轻松收集数据并将其处理成模型的好方法,这些模型可以快速部署到“边缘”的微控制器上,而无需互联网连接或强大的处理器,这可以为许多项目带来机器学习功能并实现惊人的要建造的创作。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !