kaldi訓練thchs30詳細步驟
二、進入thchs30/s5資料夾,修改run.sh裡面的資料路徑,我才用了直接下載的方式,因為之前沒有這方面的資料。
三、修改cmd.sh:
export train_cmd=run.pl
export decode_cmd=run.pl
export mkgraph_cmd=run.pl
export cuda_cmd=run.pl
四、執行sh run.sh五、等待訓練,訓練過程中可能會出現一些異常,當時還擔心是資料沒有下載完,等到後面的測試結果出來才發現,這些異常都算正常。
六、回到src目錄下,執行:make ext,這個過程也耗費了四五個小時,我沒耐心等待,後來直接測試了,也沒啥影響。
執行完畢後,src下回出現onlinebin,進去後會有online-wav-gmm-decode-faster和online-gmm-decode-faster,前者測試wav檔案,後者測試麥克風輸入的音訊。
我沒有使用麥克風測試音訊的識別情況,所以不再詳細解釋。
七、將voxforge中的online_demo拷貝到egs/thchs30/.
八、進入egs/thchs30/online_demo/,online_demo下面新建online-data和work,online-data下面新建目錄audio和models,models下新建目錄tri1。
audio下放你要回放的wav,把s5下的exp下的tri1下的final.mdl和35.mdl(final.mdl是快捷方式)考過去。把s5下的exp下的tri1下的graph_word裡面的words.txt,和HCLG.fst,考到models的tri1下。
九、修改online_demo下的run.sh
a)將下面這段註釋掉:(這段是voxforge例子中下載現網的測試語料和識別模型的。我們測試語料自己準備,模型就是tri1了)
if [ ! -s ${data_file}.tar.bz2 ]; then
echo "Downloading test models and data ..."
wget -T 10 -t 3 $data_url;
if [ ! -s ${data_file}.tar.bz2 ]; then
echo "Download of $data_file has failed!"
exit 1
fi
fi
b) 然後再找到如下這句,將其路徑改成tri1
# Change this to "tri2a" if you like to test using a ML-trained modelac_model_type=tri2b_mmi
# Alignments and decoding results
---------------------------------------------------------------
改成:
# Change this to "tri2a" if you like to test using a ML-trained modelac_model_type=tri1
c)這裡修改的不全面,只要原文中的不要刪除,只進行model的替換即可。
online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85\
--max-active=4000 --beam=12.0 --acoustic-scale=0.0769 \
scp:$decode_dir/input.scp $ac_model/model
————————————————————————————
改成:online-wav-gmm-decode-faster --verbose=1 --rt-min=0.8 --rt-max=0.85\
--max-active=4000 --beam=12.0 --acoustic-scale=0.0769 \
scp:$decode_dir/input.scp $ac_model/final.mdl
十、在audio中方一個空的trans.txt,或者等到下一步work中生成後放入也可。
十一、執行命令sh run.sh --test-mode simulated十二、效果展示
到了這裡基本的步驟已經寫完了,其他的深入研究,待續......
參考:http://m.blog.csdn.net/lijin6249/article/details/51838936