TinyML语音关键字唤醒 – 使用自己的模型(使用)

上一回已经得到tflite文件,要挪到单片机上还需要一些功夫,.其中属于自己移植部分就这两种.

其中下面的文件夹是针对应用的,之前已经有说过,如果我们模型识别了新的词,那肯定希望他有新的应用,对于一个模型来说,关键修正几个变量.

  • kCategoryLabels => 我们训练了几个标签,这里就要几个.
  • g_model => 通过转换的tflite模型
  • g_model_len => 模型长度

最后需要改掉RespondToCommand,实现更多的功能,现在开始一步一步来.

第一步,修改model.cc的len,等于模型的大小,然后又修改模型的数组,因为数据很大,所以标const把他存Flash里.

第二部修改分类,刚才训练了哪些label都写下来.

到此,已经移植OK了,可以编译实际测试一下,明显发现FLOAT16模型反应很慢(在STM32F769 216MHz下大概要几秒才能反应),但是准确度高.如果是INT8模型,准确度和官方例子差不多,但是速度很快.特别是TF2状态下,目前模型转出来还是很大,如果不在意,可以继续使用TF1.15~

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注