dnn+i-vector在kaldi中的實現。

需要三行腳本,你可以一行做一個腳本文件,這樣就不需要每次提取特徵都要重新訓練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/nnet3/train_tdnn.sh中,這樣寫online_ivector_dir=exp/ivectors_train,這樣就可以進行dnn+i-vector訓練啦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章