kaldi 用ivector计算plda出错

 运行结果如下:

===== FEATURES EXTRACTION =====


steps/make_mfcc.sh --cmd run.pl --nj 1 data/train exp/make_mfcc/train mfcc
steps/make_mfcc.sh: moving data/train/feats.scp to data/train/.backup
steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
Succeeded creating MFCC features for train
sid/compute_vad_decision.sh --nj 1 --cmd run.pl data/train exp/make_mfcc/train mfcc
sid/compute_vad_decision.sh: moving data/train/vad.scp to data/train/.backup
Created VAD output for train
fix_data_dir.sh: kept all 80 utterances.
fix_data_dir.sh: old files are kept in data/train/.backup
steps/make_mfcc.sh --cmd run.pl --nj 1 data/test exp/make_mfcc/test mfcc
steps/make_mfcc.sh: moving data/test/feats.scp to data/test/.backup
steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
Succeeded creating MFCC features for test
sid/compute_vad_decision.sh --nj 1 --cmd run.pl data/test exp/make_mfcc/test mfcc
sid/compute_vad_decision.sh: moving data/test/vad.scp to data/test/.backup
Created VAD output for test
fix_data_dir.sh: kept all 20 utterances.
fix_data_dir.sh: old files are kept in data/test/.backup
sid/train_diag_ubm.sh --cmd run.pl --nj 1 data/train 1024 exp/diag_ubm_1024
sid/train_diag_ubm.sh: initializing model from E-M in memory, 
sid/train_diag_ubm.sh: starting from 512 Gaussians, reaching 1024;
sid/train_diag_ubm.sh: for 20 iterations, using at most 500000 frames of data
Getting Gaussian-selection info
sid/train_diag_ubm.sh: will train for 4 iterations, in parallel over
sid/train_diag_ubm.sh: 1 machines, parallelized with 'run.pl'
sid/train_diag_ubm.sh: Training pass 0
sid/train_diag_ubm.sh: Training pass 1
sid/train_diag_ubm.sh: Training pass 2
sid/train_diag_ubm.sh: Training pass 3
sid/train_full_ubm.sh --nj 1 --cmd run.pl data/train exp/diag_ubm_1024 exp/full_ubm_1024
sid/train_full_ubm.sh: doing Gaussian selection (using diagonal form of model; selecting 20 indices)
Pass 0
Pass 1
Pass 2
Pass 3
sid/train_ivector_extractor.sh --cmd run.pl --mem 10G --num-iters 5 exp/full_ubm_1024/final.ubm data/train exp/extractor_1024
sid/train_ivector_extractor.sh: doing Gaussian selection and posterior computation
Accumulating stats (pass 0)
Summing accs (pass 0)
Updating model (pass 0)
Accumulating stats (pass 1)
Summing accs (pass 1)
Updating model (pass 1)
Accumulating stats (pass 2)
Summing accs (pass 2)
Updating model (pass 2)
Accumulating stats (pass 3)
Summing accs (pass 3)
Updating model (pass 3)
Accumulating stats (pass 4)
Summing accs (pass 4)
Updating model (pass 4)
sid/extract_ivectors.sh --cmd run.pl --nj 1 exp/extractor_1024 data/train exp/ivector_train_1024
sid/extract_ivectors.sh: extracting iVectors
sid/extract_ivectors.sh: combining iVectors across jobs
sid/extract_ivectors.sh: computing mean of iVectors for each speaker and length-normalizing
run.pl: job failed, log is in exp/ivector_train_1024/log/plda.log

查看相应的log文件:

# ivector-compute-plda ark:data/train/spk2utt "ark:ivector-normalize-length scp:exp/ivector_train_1024/ivector.scp  ark:- |" exp/ivector_train_1024/plda 
# Started at Sat Apr 13 21:05:54 CST 2019
#
ivector-compute-plda ark:data/train/spk2utt 'ark:ivector-normalize-length scp:exp/ivector_train_1024/ivector.scp  ark:- |' exp/ivector_train_1024/plda 
ivector-normalize-length scp:exp/ivector_train_1024/ivector.scp ark:- 
LOG (ivector-normalize-length[5.5.213~1-2e26]:main():ivector-normalize-length.cc:90) Processed 80 iVectors.
LOG (ivector-normalize-length[5.5.213~1-2e26]:main():ivector-normalize-length.cc:94) Average ratio of iVector to expected length was 0.371591, standard deviation was 0.0256801
ERROR (ivector-compute-plda[5.5.213~1-2e26]:main():ivector-compute-plda.cc:106) Number of training iVectors is not greater than their dimension, unable to estimate PLDA.

[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*)
kaldi::FatalMessageLogger::~FatalMessageLogger()
main
__libc_start_main
_start

ERROR (ivector-compute-plda[5.5.213~1-2e26]:main():ivector-compute-plda.cc:106) Number of training iVectors is not greater than their dimension, unable to estimate PLDA.

[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*)
kaldi::MessageLogger::~MessageLogger()
kaldi::FatalMessageLogger::~FatalMessageLogger()
main
__libc_start_main
_start

# Accounting: time=0 threads=1
# Ended (code 255) at Sat Apr 13 21:05:54 CST 2019, elapsed time 0 seconds

错误为:ERROR (ivector-compute-plda[5.5.213~1-2e26]:main():ivector-compute-plda.cc:106) Number of training iVectors is not greater than their dimension, unable to estimate PLDA.

ivector的数量应比它的维数大

训练的ivector的数量为80个,80个训练样本

ivector的维数?

在/sid/rain_ivector_extractor.sh中可以修改ivector的维数小于ivector的个数即可  ivector_dim=60

 

你可能感兴趣的:(Kaldi学习)