项目概述
本模型使用 Wio Terminal 内置的麦克风收集人声唤醒词和环境音,训练模型以实现用唤醒词(Hi wio)唤醒设备。
期望效果
期望实现的效果如下所示,当对着Wio Terminal喊“hi wio”时,Wio Terminal可以实时响应
材料准备
为实现以上效果,我们需要:
硬件需求:Wio Terminal
连接方式:
项目步骤
项目步骤
1.创建与选择模型
1. 创建“内置麦克风识别唤醒词”模型
点击“创建与选择模型”,点击“内置麦克风识别唤醒词”,如下图步骤1,2:
根据命名要求输入名称
点击“确认”
点击确定后会自动跳转到“数据采集”界面
2.查看模型
2.采集数据
1.默认标签
2. 连接设备并在 Codecraft 中上传默认采集数据程序
Wio Terminal连接就位后,在 Codecraft 的界面,点击 ,位置如下图所示。此操作将上传默认采集数据程序。
会出现“上传”的弹出窗口,如下图所示。
选择正确的串口,点击“确定”按钮
弹窗提示正在上传,请稍后…
上传时间通常数十秒钟,完成后会看到下图所示的“上传成功”画面。如下图所示。
点击“我知道了”关闭上图的上传成功弹窗,回到编程界面。
注意
对于网页版的 Codecraft ,如果没有安装或者运行设备助手,可能会出现下图中还没有打开设备助手的提示。 这种状况可以参考:下载、安装和使用“设备助手”的内容。
3. 采集数据
在右上角有数据采集步骤介绍,根据介绍指示采集数据
注意:
- Wio Terminal按键位置
- 动图gif已加速,实际动作可稍微放慢
根据Wio Terminal屏幕显示开始收集数据和结束收集。
表示正在收集数据
表示收集完毕
Wio Terminal 显示收集完毕,CodeCraft仍在拼命加载中十几秒,此段时间因为语音数据量较大,将其从WioTerminal传至CodeCraft时间较长,请耐心等待。
对数据进行裁剪(图)
待数据采集完毕
4. 采集自定义标签的数据
采集自定义标签的数据与采集默认标签步骤相似
- 添加或修改标签
- 上传采集数据程序
- 采集数据
- 添加或修改标签
- 添加标签
在标签的界面,点击 ,位置如下图所示。
在弹窗中输入标签名,点击确认,如下图步骤1,2.
添加成功后标签栏有新的标签“hello”
- 修改标签
或通过修改标签名,将其中一个默认标签修改成自定义标签名:
鼠标单击需修改的标签,会出现修改标签的弹窗,进行修改即可
修改后源标签会替换成已修改的标签名
2. 上传采集数据程序
选择其中一个积木,如下图,将选择“rock”的积木改成选择“hello”
更改成功后如下图红框
点击“上传”,上传采集数据程序
选择正确的串口,点击“确定”,如下图步骤1,2
弹窗提示正在上传,请稍后…
上传时间通常数十秒钟,完成后会看到下图所示的“上传成功”画面。如下图所示。
点击“我知道了”关闭上图的上传成功弹窗,回到编程界面。
3.训练与部署
1.设置神经网络及参数
选择适合的神经网络规模:小中大型其中一个
设置参数,设置训练周期数(大于0的数),学习率(0~1的数),最低置信度(0~1的数)
2.开始训练模型
点击“开始训练”
开始训练,界面会提示“拼命加载中”。
“拼命加载中”持续时间因选择神经网络规模(小型中型大型),训练周期数的不同而持续时间不同,会因网络规模的增大所需时间加长,训练周期数的增大时间加长,所以请耐心等待。
也可通过观察“日志输出”推理还需等待时间。如下图,已完成“Epoch:62/500”说明总共需训练500轮,已训练了62轮。
加载完成后,能在“输出日志”中看到“模型训练任务已完成”
3.部署模型
在“模型训练报告”界面,点击“部署模型”。
弹窗提示部署完成,点击“确认”后,自动跳转到“使用与编程”界面。
4.使用与编程
1.编写模型使用程序
在“使用与编程”界面,点击“模型使用”即可使用已经部署的模型
编写如下程序即可尝试使用你的模型
2. 上传程序到Wio Terminal
点击“上传”按钮。
首次上传时间较长,且随模型复杂程度上传时间增长,请耐心等待。小模型上传时间大约为4分钟。
3. Wio Terminal测试模型效果
效果说明:
即使训练模型分数达到很高仍不代表模型就是好的模型,训练模型的分高而实际使用预测效果差的现象被称为过拟合(overfitting),相当于模型生硬记忆背诵了训练数据集的细节,在面临新的数据时不会做题了,是机器学习训练模型会遇到的问题。
解决此问题的办法:
- 增加数据集
- 降低学习率