Kaldi在虛擬機裏面安裝

虛擬機: Ubuntu 14.04     Ubuntu下載地址  

gcc 建議安裝4.8以上版本 ,登陸最好是root, 廢話不多說,開始,首先安裝虛擬機,  虛擬機安裝  , 完成的示意圖,快捷鍵Ctrl+Alt+t打開終端:




在終端中鍵入sudoapt-get update 命令然後輸入密碼 回車


kaldi項目現在託管在github上,需要使用git命令將其下載到本地,安裝git 在終端中鍵入sudoapt-get install git


獲取kaldi源碼在終端中鍵入  gitclone https://github.com/kaldi-asr/kaldi.git kaldi-trunk    如圖所示:




cd kaldi-trunk目錄 鍵入gitcheckout命令檢查源碼一致性


在終端鍵入cd kaldi-trunk/tools/extras,鍵入ls 命令列出當前目錄所有文件,鍵入./check_dependencies.sh執行該腳本檢查包依賴情況, 根據提示安裝所需要的包






鍵入sudo apt-get install g++ zlib1g-dev automake autoconf libtool subversion

    sudo apt-get install libatlas3-base

    sudo ln -s -f bash bin/sh (該命令獲取shell腳本的執行權)


(1)sudo apt-get install libtool

(2)sudo apt-get install autoconf

(3)sudo apt-get install wget

(4)sudo apt-get install perl

(5)sudo apt-get install subversion

(6)sudo apt-get install build-essential

(7)sudo apt-get install gfortran

(8)sudo apt-get install libatlas-dev

(9)sudo apt-get install libatlas-base-dev

(10)sudo apt-get install zlib1g-dev(中間是數字1)

如果安裝出現 function gensub never defined,則需要安裝gawk

sudo apt-get install gawk.


在終端鍵入cd kaldi-trunk/tools,鍵入ls命令列出當前目錄文件, 鍵入make 進行編譯,如下圖所示:




這裏出現警告IRSTLM庫沒有安裝,其他一切OK,如下圖:



根據提示:鍵入cd kaldi-trunk/tools/extras ,鍵入 ./install_irstlm.sh安裝IRSTLM


kaldi-trunk/tools目錄下主要是一些外部庫,這部分準備完成,編譯kaldi的源碼,在終端鍵入cd kaldi-trunk/src

鍵入ls命令列出當前目錄的文件

鍵入./configure檢查外部庫安裝情況,根據提示進行安裝

鍵入make depend 進行預編譯(make depend -j 4)

鍵入make 進行編譯(make -j 4)

make 耗時較長請耐心等待.............


注意:這裏是虛擬機,所以CUDA不存在


檢測kaldi是否編譯成功,使用kaldi-trunk/egs/yesno例子進行測試

yesno是關於yes和no兩個孤立詞的識別

在終端鍵入cd kaldi-trunk/egs/yesno/s5 進入yesno樣例目錄

鍵入ls命令查看該目錄下有哪些文件



conf文件夾裏是一些配置文件例如MFCC的參數 HMM的拓撲結構
local文件夾裏主要是一些準備數據的腳本供頂層腳本run.sh調用
steps和utils文件夾裏主要是一些運行時調用的腳本
data文件夾裏主要存放語言模型、發音字典和音素信息等等。


鍵入./run.sh該腳本執行孤立詞識別流程,結果如下圖:


說明我們已經安裝成功了!!!!!

下面可以測試timit數據了(timit的數據需要自己下載,對應的腳本加載數據路徑也要相應的修改,這裏不多說)


說一下我個人安裝時遇到的坑吧:

1. 因爲編譯的時候需要的內存會很大的,所以在創建虛擬機時,最好分配較大的內存,以防編譯過程中,內存不足
2. gcc版本,這個ubuntu下面默認的是gcc4.8,這個版本的gcc有bug,會導致kaldi編譯失敗,而kaldi編譯好像是需要4.7以上的版本(我記得好像是),所以這裏最好安裝較高版本,怎麼裝就自己百度吧
3. python庫最好是2.7(這個版本比較穩定)
4.還有一個錯誤是編譯的時候,出現了internal compiler error:Killed      具體解決方案是:

internal compiler error: Killed (program cc1plus)

在 640M 內存的 vps 做編譯的時候出現了上述錯誤.
幾經搜索, 才發可能是系統沒有交換分區, 編譯過程中內存耗盡, 導致了編譯中斷 …
解決方式也很簡單, 就是增加一個交換分區:

1. 創建分區文件, 大小 2G

dd if=/dev/zero of=/swapfile bs=1k count=2048000

2. 生成 swap 文件系統

mkswap /swapfile

3. 激活 swap 文件

swapon /swapfile

這樣就木有問題了, 但是這樣並不能在系統重啓的時候自動掛載交換分區, 這樣我們就需要修改 fstab.
修改 /etc/fstab 文件, 新增如下內容:

/swapfile  swap  swap    defaults 0 0

這樣每次重啓系統的時候就會自動加載 swap 文件了.

執行命令是最好是管理員權限

看了一下run.sh裏面具體是調用其它的一些shell文件,下面準備好好學習下!




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