需要三行脚本,你可以一行做一个脚本文件,这样就不需要每次提取特征都要重新训练1步骤和2步骤的模型了。
1:steps/online/nnet2/train_diag_ubm.sh --cmd "$train_cmd" data/train 1024 exp/tri3 exp/diag_ubm
#tri3是你训练的三音素模型所在的文件夹
2:steps/online/nnet2/train_ivector_extractor.sh --cmd "$train_cmd" --nj "$nj" data/train exp/diag_ubm/ exp/extractor
#这里不用多说了,这个脚本用到了上一步生成的模型(diag_ubm)
3:steps/online/nnet2/extract_ivectors_online.sh --cmd "$train_cmd" --nj "$nj" data/train exp/extractor exp/ivectors_train
#这里生成的ivectors_train就是dnn脚本中的online_ivector_dir参数。比如在steps/nnet2/train_tanh_fast.sh中,这样写online_ivector_dir=exp/ivectors_train,这样就可以进行dnn+i-vector训练啦!