kaldi環境搭建 | yesno 測試

至簡1995發表於2020-03-14

參考連結一
參考連結二
參考二

我這裡只是簡單記錄了安裝過程中出現的幾個小問題,上面的參考連結就很好學習。也遇到和我同樣問題的可以再接著看我的哈。


  • 系統環境:

系統環境

  • 命令貼上在此:
cat /proc/meminfo | grep MemTotal
		MemTotal:        8086220 kB
cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c
      	8  Intel(R) Core(TM) i7-4710MQ CPU @ 2.50GHz
 cat /proc/meminfo | grep MemTotal
		MemTotal:        8086220 kB
 nvidia-smi
		GT750M

kaldi365 環境搭建步驟如下:

conda create -n kaldi365 python=3.6.5

conda activate kaldi365

cd /home/zhijian/project/python/kaldi-master/tools
執行./extras/install_mkl.sh 檢查kaldi依賴,主要處理過程如下:

  • small bug 1:
首次檢查依賴,缺少 Intel MKL 庫
./check_dependencies.sh 
./check_dependencies.sh: Intel MKL is not installed. Run extras/install_mkl.sh to install it.
 ... You can also use other matrix algebra libraries. For information, see:
 ...   http://kaldi-asr.org/doc/matrixwrap.html

解決方法: Run extras/install_mkl.sh to install it.

補充說明: 這裡下載 Intel MKL 庫時下載速度很慢,我ubuntu系統映象源切換為了清華源ubuntu16.04更換清華源,希望能夠快點。
下載過程主要如下:

需要下載 282 MB/300 MB 的歸檔。
獲取:1 https://apt.repos.intel.com/mkl all/main amd64 intel-mkl-core-rt-2020.0-166 amd64 2020.0-166 [126 MB]
獲取:2 https://apt.repos.intel.com/mkl all/main amd64 intel-mkl-core-2020.0-166 amd64 2020.0-166 [106 MB]   
已下載 205 MB,耗時 2小時 58分 4秒 (19.2 kB/s)   
可能根據網速需要耐心等待看到:
./install_mkl.sh: MKL package intel-mkl-64bit-2020.0-088 was successfully installed
說明這一步安裝成功
  • small bug 2:
    執行./extras/check_dependencies.sh ,警告如下:
./extras/check_dependencies.sh: WARNING python 2.7 is not the default python. We fixed this by adding a correct symlink more prominently on the path.
 ... If you really want to use python 3.6.5 as default, add an empty file /home/zhijian/project/python/kaldi-master/tools/python/.use_default_python and run this script again.
./extras/check_dependencies.sh: all OK.

解決方法:

cd python/
vim .use_default_python
如警告所說建立空檔案即可,這樣kaldi會使用我們conda環境裡的python
然後再次執行檢查指令碼,依賴完全OK
~/project/python/kaldi-master/tools$ ./extras/check_dependencies.sh 
./extras/check_dependencies.sh: all OK.

第一步:進入tools目錄,按 INSTALL 檔案內容執行相應步驟
tools 目錄下執行:

make -j 4

編譯成功的最後輸出如下圖:
1

第二步:進入src目錄,按 INSTALL 檔案內容執行相應步驟。
我的電腦本身是8核,make命令使用 6核 即可

 ./configure --shared
  make depend -j 6
  make -j 6

以上3個命令,最終編譯成功輸出如下:

make[1]: Leaving directory '/home/zhijian/project/python/speech/kaldi/src/latbin'
echo Done
Done

至此,kaldi的安裝部署過程全部結束。


安裝成功測試

驗證kaldi是否安裝成功,可以選擇執行 egs/ 目錄下的許多測試用例指令碼。
本文以 egs/yesno/ 為例,執行kaldi/egs/yesno/s5 下的run.sh指令碼即可。

kaldi/egs/yesno/s5$ ./run.sh 

指令碼執行會自動下載資料集 waves_yesno.tar.gz ,如果下載太慢,可以自行下載資料集之後 copy 到 該目錄下,解壓即可。

執行成功輸出如下:

add-self-loops --self-loop-scale=0.1 --reorder=true exp/mono0a/final.mdl exp/mono0a/graph_tgpr/HCLGa.fst 
steps/decode.sh --nj 1 --cmd utils/run.pl exp/mono0a/graph_tgpr data/test_yesno exp/mono0a/decode_test_yesno
decode.sh: feature type is delta
steps/diagnostic/analyze_lats.sh --cmd utils/run.pl exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_alignments.log
Overall, lattice depth (10,50,90-percentile)=(1,1,2) and mean=1.2
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_lattice_depth_stats.log
local/score.sh --cmd utils/run.pl data/test_yesno exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
local/score.sh: scoring with word insertion penalty=0.0,0.5,1.0
%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0

相關文章