精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
steps/train_lda_mllt.sh --cmd run.pl --splice-opts --left-context=3 --right-context=3 2500 15000 data/mfcc/train data/lang exp/tri1_ali exp/tri2b
steps/train_lda_mllt.sh: Accumulating LDA statistics.
steps/train_lda_mllt.sh: line 116: 8217 Aborted (core dumped) est-lda --write-full-matrix=$dir/full.mat --dim=$dim $dir/0.mat $dir/lda.*.acc 2> $dir/log/lda_est.log
est-lda --write-full-matrix=exp/tri2b/full.mat --dim=40 exp/tri2b/0.mat exp/tri2b/lda.1.acc
ASSERTION_FAILED (est-lda[5.4.164~2-13ed]:Estimate():lda-estimate.cc:91) : 'target_dim <= Dim() && (target_dim < NumClasses() || opts.allow_large_dim)'
[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*)
kaldi::MessageLogger::~MessageLogger()
kaldi::KaldiAssertFailure_(char const*, char const*, int, char const*)
kaldi::LdaEstimate::Estimate(kaldi::LdaEstimateOptions const&, kaldi::Matrix<float>*, kaldi::Matrix<float>*) const
main
__libc_start_main
_start
exp/tri2b/0.mat这个文件没有,另外一个有.
run界面上有输出:
mkgraph.sh: expected data/graph/lang/L.fst to exist,这个提示在有文件时也报.
tri阶段
WARNING (gmm-init-model[5.4.164~2-13ed]:InitAmGmm():gmm-init-model.cc:55) Tree has pdf-id 10 with no stats; corresponding phone list: 11
** The warnings above about 'no stats' generally mean you have phones **
** (or groups of phones) in your phone set that had no corresponding data. **
** You should probably figure out whether something went wrong, **
** or whether your data just doesn't happen to have examples of those **
** phones. **
但是原来模型识别输出里有。
SPLICE
Splice在网上说它的也很少,这里采用Kaldi的原话:
Frame splicing (e.g. splicing nine consecutive frames together) is typically done to the raw MFCC features prior to LDA. The program splice-feats does this. A typical line from a script that uses this is the following:
feats="ark:splice-feats scp:data/train.scp ark:- | transform-feats $dir/0.mat ark:- ark:- |"
and the “feats” variable would later be used as an rspecifier (c.f. Specifying Table formats: wspecifiers and rspecifiers) by some program that needs to read features. In this example we don’t specify the number of frames to splice together because we are using the defaults (–left-context=4, –right-context=4, or 9 frames in total).
原始mfcc到lda转换。
est-lda [options] <lda-matrix-out> <lda-acc-1> <lda-acc-2>
target_dim是40,
Dim()是first_acc_的维度exp/tri2b/lda.1.acc的
NumClasses first_acc_.NumRows()
还是让wav搞短点。
后来认真看代码改好了。