出门问问:使用 TensorFlow Lite 在嵌入式端部署热词检测模型

本文介绍了出门问问如何使用 TensorFlow Lite 在嵌入式设备上部署热词检测模型,包括模型量化、计算图优化和 Custom Ops 实现,实现了性能提升和低延迟的语音交互体验。
摘要由CSDN通过智能技术生成

文 / 出门问问信息科技有限公司

来源 | TensorFlow 公众号

1、背景

热词唤醒 (Keyword Spotting) 往往是用户对语音交互体验的第一印象,要做到准确快速。因此热词检测算法要同时保证高唤醒率和低误唤醒率,能够准确地区分热词和非热词的音频信号。主流的热词检测方法,通常使用深度神经网络来从原始音频特征中提取 high-level 的抽象特征(见下图)。为了能够在计算性能和内存大小都非常有限的嵌入式设备上做到 “Always On” 和 “低延迟”,我们使用 TensorFlow Lite 作为神经网络模型的部署框架,既能够很好地兼容基于 TensorFlow 的模型训练流程,也能够提供非常高效和轻量的嵌入式端运行时 (Runtime)。

2、开发部署流程

在神经网络结构大体确定的情况下,会显著影响最终计算性能的主要是:模型量化 (Quantization),计算图的优化 (Computation Graph Optimization),以及 Ops 计算核的实现。使用 TensorFlow Lite 部署热词检测模型的开发工作主要也是在这三方面。

应用 Simulated Quantization 进行模型训练
在嵌入式设备上部署神经网络模型时,通常使用模型 “量化” (Quantization) 来减少模型参数需要的空间大小,并且提高计算吞吐量 (throughput)。使用 TensorFlow 可以在模型训练时通过增加 FakeQuant 节点来实现 “Simulated Quantization”,在前向计算 (forward) 时模拟参数定点化带来的精度损失。FakeQuant 节点可以在构建模型计算图时手动添加,对于常见的网络结构也可以使用 TensorFlow contrib/quantize 工具࿰

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值