TinyML构建卷积神经网络(CNN)模型声控Arduino机器车

本教程介绍了如何将机器学习与 Arduino 结合使用。在微控制器上运行由TinyML构建的机器学习语音识别模型,控制Arduino机器车运行。

要构建这个项目,至少有两个步骤:

  • 训练一个新的机器学习模型并使其适应在 Arduino 上运行

  • 使用上一步训练的 Tensorflow Lite 构建汽车

您可能已经知道,我们无法在 Arduino 上直接运行 Tensorflow 模型,因为该设备资源有限。 因此,在训练模型后,有必要缩小它的大小。 我们将逐步描述如何构建模型,然后如何以与 Arduino 兼容的方式对其进行转换。

构建TinyML模型

如前所述,该项目使用了本教程中已经完成的工作。您可能已经知道,构建在 Arduino 上运行的机器学习模型需要遵循几个步骤。下面是此步骤的列表:

  • 定义要使用的模型

  • 训练模型

  • 冻结模型

  • 量化模型

  • 转换成与Arduino兼容的Tensorflow模型

TinyML介绍

为了使用 Arduino 识别语音命令,我们需要一个使用 CNN 的 Tensorflow 模型。 第一步是获取语音并对其应用 FFT(快速傅立叶变换)。 使用快速傅立叶变换提取的数据将提供给 CNN。 识别命令的问题是一个分类问题。

训练模型

  • 一开始需要指定我们要识别的命令或单词。这些是标签。在这个例子中,由于我们想使用语音命令控制汽车,我们将实现 4 个不同的命令:

    • go

    • stop

    • left

    • right

  • 接下来需要安装 Tensorflow。您会注意到它不会安装最新版本。此版本将创建与 Arduino 兼容的 Tensorflow 模型

  • 之后,需要克隆 TensorFlow 存储库。我们将使用它来运行训练过程

  • 最后,运行模型。 要运行模型,需要提供一些参数。 我建议你不要改变它们。 训练过程大约需要 2 个小时,所以请放轻松。 无论如何,您可以通过更改 TRAINING_STEPS 使其减短时间。 更改此值时要小心,因为它会使模型不太准确。

冻结模型

训练任务完成后,需要冻结模型。在这一步之后,我们就不能再修改 Tensorflow 模型了。这将是我们将在接下来的步骤中使用的模型,为 Arduino 创建一个 Tensorflow 模型。

创建微控制器Tensorflow模型
如何在 Arduino 中使用 Tensorflow 模型
导入模型
调整模型标签
模型控制电机
测试模型和通讯模块
调整

源代码

详情参阅 - 亚图跨际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值