安装 ¶
版本
[[ item ]]
操作系统
[[ item ]]
Pytorch
[[ item ]]
平台
[[ item ]]
安装方法
[[ install ]]
以上只列出了最新几个版本的安装方法,如您还有更高阶的需求,如从源码编译,请参考项目详细的安装文档。
k2¶
社区开发者们经常把新一代 Kaldi 统称为 k2 (解读为 Kaldi 第二代), 这里提到的 k2 是项目的其中一个子项目,可能也是最硬核的一个项目?
k2 是什么¶
总的来说,k2 是一个序列建模的算法集合。众所周知,语音识别有几个常用的建模方法,如 CTC、Transducer、MMI 等,k2 就是用来实现这些建模方法的。比如 k2 中有使用可微分有限状态自动机实现的 CTC 损失函数, 及 MMI 损失函数,也有高效的 Transducer 损失函数实现 pruned rnnt。
纯粹从工程角度看,你也可以把 k2 看作一个 GPU 加速的 FST 库,比如 k2 中在 GPU 上实现的基于 FST 的 CTC 解码,Transducer 解码。 应用 k2 可把图的搜索过程也一并放到 GPU 执行,可有效利用 GPU 的并行能力加速基于 FST 的算法,无论是训练还是解码。
k2 中实现了一个非常通用的不规则矩阵的数据结构 RaggedTensor 并且提供了一套非常简单的编程范式,k2 基于这个数据结构实现了可微分有限状态自动机,这个数据结构也让其它开发者可以在不规则矩阵上实现他们自己的算法。
如何开始¶
如果只是使用新一代 Kaldi 工具训练或者部署模型,没有基于 k2 实现自己建模方法的计划,那么可以完全不用理会 k2 的细节,只需参照上面方法安装好软件,遵照相应项目(icefall 或者 sherpa)的样例和说明文档使用 k2 就行。
如果想进行一些高阶的定制,可以先了解 k2 的核心概念,然后阅读代码学习原理,最终实现自己的目的。
评论
如果您通过 github 登录评论有困难,可以在留言板把你的问题告诉我们。
您也可以加入我们的微信和QQ群与广大开发者一起交流,也欢迎大家关注我们的微信公众号。