路径:kaldi-master/egs/ami/s5/run_ihm.sh
在运行run_ihm.sh之前先输入命令:
vim run_prepare_shared.sh
先将Fisher的安装配置注释掉,再运行。这里主要是为ihm做数据的准备。如果直接通过,没有报错之类的,可执行run_ihm.sh。
IRSTLM的安装:kaldi-master/tools/extras/install_irstlm.sh
SRILM的安装:参照SRILM安装的笔记。
补充:缺少svn命令导致一些lang目录缺失,后续将出问题。在运行run_prepare_shared.sh时最好仔细看下,是否有svn not found的错误。
1.stage 0
vim run_ihm.sh,按下图注释
保存后,运行。即进入stage 0开始下载数据,此时在s5下面会生成wav_db、data文件目录,等待数据下载完成即可。
2.stage 1
待数据下载完成,vim run_ihm.sh,将stage的值改成1,运行。
出现:
错误提示,没有train.txt文件,并告诉了我们运行ami_text_prep.sh即可。
ami_text_prep.sh路径:/data/liusijia/kaldi-master/egs/ami/s5/local
运行ami_text_prep.sh,sh ami_text_prep /data/liusijia/kaldi-master/egs/ami/s5/data/local
结果发现,运行ami_text_prep.sh并没什么卵用。
最后在run_prepare_shared.sh里面,发现了它能生成train.txt。注释掉无用代码,只保留下载和生成train.txt部分,运行。在data/local/annotations下看到train.txt即可。
再次运行run_ihm.sh,可运行成功。
3.stage 2
将stage的值改成2,运行。
基本没什么障碍,缺什么命令或目录,安装下即可。出现的坑大多都是run_prepare_shared.sh中的数据、目录没有创建成功,或者irstlm\srilm安装有问题。
这样直接能运行到第12阶段
在13阶段遇到的坑比较多。以下是我运行时出现的问题:
(1)第13阶段,如果run_vector。。。出错了,其实是tdnn.sh里面的缺少前者的一个参数,use_ihm_ali赋值为false即可。
(2)如果你想从第12个阶段开始,stage就设为12,前面的就不会再耗时间。以此类推。
(3)tdnn因为no such file exp/ihm/tri4a_train_sp_ali/ali.1.gz停止了,我找了半天,也没找到该目录,在kaldi-master/egs/ami/s5/exp/ihm找到了类似目录,就使用了tri4a_ihm_train_sp_ali。
(4)run_tdnn.sh中设置num_jobs_final=4,如图:
(5)如果训练停止了,比如在90步停止了,只需在train.sh 中将x赋值为89即可。
(6)invalid option:train.sh中第600行 nnet3-combine后面的–num-iters,–enforce-sum-to-one和–enforce-p…都删除,因为属于非法字符,基本遇到invalid option,找到删除即可。