输入:
输出:
steps/train_mono.sh --cmd "$train_cmd" --nj 10 \
data/train data/lang exp/mono || exit 1;
流程:
1. apply-cmvn # 对feats.scp做归一化处理
2. add-deltas # 训练数据增加差分量,比如16维度mfcc特征增加2阶差分量后变成48维度
2. gmm-init-mono # 初始化单音素模型,生成0.mdl、tree
3. compile-train-graphs # 编译训练时的图,生成text中每句文本对应的fst,存放在fsts.JOB.gz中
4. align-equal-compiled # 第一次对齐数据,生成对齐状态序列,通过管道传递给gmm-acc-stats-ali,得到更新参数时用到的统计量
5. gmm-est # 第一次更新模型参数
# 进入训练模型的主循环
6. gmm-align-compiled # 在指定的对齐轮数,使用gmm-align-compiled对齐特征数据,得到新的对齐状态序列。(维特比算法)
7. gmm-acc-states-ali & gmm-est# 每一轮都调用gmm-acc-stats-ali计算更新模型参数所用到的统计量, 每次模型参数的迭代都需要成对地使用gmm-acc-states-ali 和 gmm-est工具。 分开成2个工具的原因&