Kaldi 安装与简介

Kaldi是一个强大的语音识别工具包,目前支持GMM-HMM,DNN-HMM等多种语音识别模型的训练和预测。其中DNN-HMM中的神经网络还可以由配置文件自定义,DNN,CNN,TDNN,LSTM,Bidirectional-LSTM等神经网络结构均可支持。
在https://github.com/kaldi-asr/kaldi下载代码,在http://kaldi-asr.org/doc/查看文档。

安装过程
  • sudo apt-get install autoconf automake gcc libtool subversion libatlas-dev libatlas-base-dev gfortran
  • git clone https://github.com/kaldi-asr/kaldi.git
  • cd kaldi/tools
  • cat INSTALL #该文件描述了详细的安装步骤
  • extras/check_dependencies.sh #检查一些依赖,根据提示将没装的都装上
  • nproc #看看有多少处理单元,比如有8个
  • make -j 8
  • cd ../src
  • ./configure
  • make depend -j 8
  • make -j 8
  • 运行例子yesno进行测试:
    cd ../egs/yesno/s5
    ./run.sh
    运行结果:
    %WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0
主要目录介绍
  • ./tools目录下是kaldi依赖的包
  • ./src目录存放kaldi的源代码
  • ./egs目录保存着一些kaldi在公共语音数据集上的训练步骤(shell脚本)以及测试的结果
    • s5/run.sh包含了在这个数据集上所有的训练步骤,包括数据预处理、训练以及测试gmm/dnn/lstm/tdnn等模型、实验结果统计在内的各种脚本。理论上来说只要相关环境配置正确,运行run.sh就能完成整个训练步骤。
    • s5/RESULTS里面保存着最近的实验结果
    • s5/conf就是一些训练所要用到的配置文件
    • s5/{local, steps, utils}里面则是run.sh所要用到的一些脚本文件

在kaldi中,目前针对深度神经网络提供三种代码库。第一个是"nnet1"(位于nnet/和nnetbin/下),最初由Karel Vesely维护;第二个"nnet2"(位于nnet2/和nnet2bin/下)最初由Daniel Povey维护;第三个"nnet3"(位于nnet3/和nnet3bin/下)由Daniel的nnet2转化而来

type author CPU/GPU features
nnet1 Karel GPU单卡训练 使用pre-training,early-stopping
nnet2 Daniel 支持多GPU训练和多CPU多线程 固定迭代次数,最后几个epoch参数平均化
nnet3 Daniel nnet2的扩展 支持更多的网络类型(如RNN/LSTM)

在诸如egs/wsj/s5/, egs/librispeech/s5, egs/swbd/s5, egs/hkust/s5的例子下,存在神经网络样例脚本。

参考文章:
Installing Kaldi
Kaldi学习之神经网络简介
有趣的开源软件-语音识别工具Kaldi
ubuntu下kaldi的安装以及实例的运行

你可能感兴趣的:(Kaldi 安装与简介)