kaldi 源码阅读(一) - 环境搭建

简介: 按照我一贯的做法,来阅读开源代码:1. 编译以及基础功能的测试2. 模块功能划分3. 单一模块解析(添加注释或日志)4. 扩展新demo工程5. 自定义模块及调用文章也会按照上述流程进行开展。

按照我一贯的做法,来阅读开源代码:

1. 编译以及基础功能的测试
2. 模块功能划分
3. 单一模块解析(添加注释或日志)
4. 扩展新demo工程
5. 自定义模块及调用

文章也会按照上述流程进行开展。

进入正题...

一、环境构建

  • 安装必要工具
sudo apt-get install -y git wget libatlas-dev libatlas-base-dev gfortran g++ zlib1g-dev autoconf automake gcc libtool perl subversion
  • 同步代码
git clone https://github.com/kaldi-asr/kaldi.git kaldi
  • kaldi 依赖包

如下工具均在 kaldi/tools 内进行编译安装,详细内容参见 kaldi/tools/Makefile 中的编译文件

- OpenFst                状态机
- IRSTLM                 语言模型工具
- SRILM                    比 IRSTLM 好的语言模型工具
- sph2pipe                将 sph 文件转换为 其他格式比如 wav等。 LDC 数据相关的脚本需要该工具。
- sclite                       打分工具,也可以使用简单程序比如 compute-wer.cc 
- ATLAS                    线代库
- CLAPACK              线代库
- OpenBLAS             线代库

二、编译执行

cd kaldi/tools
# 检查当前系统是否已经安装完所依赖的工具,详细内容参见 kaldi/tools/INSTALL
./extras/check_dependencies.sh
# 安装完所有内容之后执行如下步骤
make; cd ../src; ./configure; make

按上述方式,先安装基础的工具,然后编译 kaldi 基础组件

三、测试

进入 egs/yesno/s5 目录中, 执行如下命令:

run.sh

运行后生产如下日志:

....
fstminimizeencoded 
fstrmsymbols exp/mono0a/graph_tgpr/disambig_tid.int 
fsttablecompose exp/mono0a/graph_tgpr/Ha.fst data/lang_test_tg/tmp/CLG_1_0.fst 
fstdeterminizestar --use-log=true 
fstisstochastic exp/mono0a/graph_tgpr/HCLGa.fst 
0.5342 -0.000482149
HCLGa is not stochastic
add-self-loops --self-loop-scale=0.1 --reorder=true exp/mono0a/final.mdl 
steps/decode.sh --nj 1 --cmd utils/run.pl exp/mono0a/graph_tgpr data/test_yesno exp/mono0a/decode_test_yesno
decode.sh: feature type is delta
steps/diagnostic/analyze_lats.sh --cmd utils/run.pl exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_alignments.log
Overall, lattice depth (10,50,90-percentile)=(1,1,2) and mean=1.2
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_lattice_depth_stats.log
local/score.sh --cmd utils/run.pl data/test_yesno exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
local/score.sh: scoring with word insertion penalty=0.0,0.5,1.0
%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0
目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
撒花!PyTorch 官方教程中文版正式上线,激动人心的大好事!
撒花!PyTorch 官方教程中文版正式上线,激动人心的大好事!
1109 0
撒花!PyTorch 官方教程中文版正式上线,激动人心的大好事!
|
并行计算 PyTorch 算法框架/工具
YOLOv5入门实践(1)——手把手带你环境配置搭建
YOLOv5入门实践(1)——手把手带你环境配置搭建
4578 1
YOLOv5入门实践(1)——手把手带你环境配置搭建
|
并行计算 PyTorch 算法框架/工具
关于在安装caffe2环境中遇到的坑整理(欢迎入坑讨论)
关于在安装caffe2环境中遇到的坑整理(欢迎入坑讨论)
|
移动开发 算法 Java
Android逆向环境搭建
Android逆向环境搭建
|
C++
qt开发从入门到实战1
qt开发从入门到实战1
216 1
qt开发从入门到实战1
|
机器学习/深度学习 人工智能 PyTorch
初识PyTorch:从安装到入门,从入门到放弃
初识PyTorch:从安装到入门,从入门到放弃
151 0
初识PyTorch:从安装到入门,从入门到放弃
|
TensorFlow 算法框架/工具 iOS开发
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
从零到一:IOS平台TensorFlow入门及应用详解(附源码)
116 0
《从零到一:IOS平台TensorFlow入门及应用详解(附源码)》电子版地址
|
测试技术 macaca Android开发
Macaca框架及基础原理
一、Macaca框架 PS:上图所有模块均可以在官方github上找到对应的源码 https://github.com/macacajs 二、各模块浅析 2.1、Macaca 2.1. macaca-cli Macaca提供的命令行工具 $macaca server 启动server $mac.
6927 0
|
人工智能 测试技术 TensorFlow
手把手教你搭建AI开发环境 !(附代码、下载地址)
人最大的长处就是有厉害的大脑。电脑、手机等都是对人大脑的拓展。现今,我们每个人都有这个机会,让自己头脑在智能的帮助下,达到极高的高度。所以,拥抱科技,让智能产品成为我们个人智力的拓展,更好的去生活、去战斗。
21479 0
下一篇
无影云桌面