安裝MKL
- 到官網(wǎng)下載Intel? Math Kernel Library for Linux安裝包
- 采用
tar -xvzf l_mkl_xxx.tgz命令解壓安裝包,進(jìn)入解壓后的安裝包,運(yùn)行./install.sh腳本執(zhí)行安裝過(guò)程 - 根據(jù)提示一路接受,默認(rèn)安裝路徑是/opt/intel
- 在目錄/opt/intel/mkl/bin下執(zhí)行
./mklvars.sh intel64 - 編輯
vi ~/.bashrc設(shè)置環(huán)境變量 - 在末尾加入代碼:
export PATH=/opt/intel/bin:$PATH
export LD_LIBRARY_PATH= /opt/intel/lib/intel64:/opt/intel/mkl/lib/intel64:$LD_LIBRARY_PATH -
$ source ~/.bashrc如果沒(méi)有報(bào)錯(cuò),則path生效
安裝Boost
wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gztar zxvf boost_1_64_0.tar.gzcd boost_1_64_0./bootstrap.sh./b2 install
安裝kenlm
安裝kenlm之前需要安裝好boost,xz,zlib,bzip,libbz2-dev等依賴。
它們的安裝參考博客:https://blog.csdn.net/sinat_33741547/article/details/79996742
wget https://kheafield.com/code/kenlm.tar.gztar -xvzf kenlm.tar.gzcd kenlmmkdir build && cd buildcmake ..-
make -j 4
這樣還無(wú)法在python環(huán)境中執(zhí)行 cd kenlmpython setup.py installpython #進(jìn)入python環(huán)境import kenlm
安裝gflags
sudo apt-get install libgflags-dev
安裝glog
git clone https://github.com/google/glogsudo apt-get install autoconf automake libtoolcd glog./autogen.sh./configuremake -j 4make install
安裝google test
git clone https://github.com/google/googletest.gitmkdir mybuildcd mybuildcmake ${GTEST_DIR} #google test的下載目錄,比如我clone到了/data/xxx/googletestmakemake install
安裝fftw
sudo apt-get install fftw3
安裝libsndfile:
git clone git://github.com/erikd/libsndfile.git-
sudo apt install autoconf autogen automake build-essential libasound2-dev \
libflac-dev libogg-dev libtool libvorbis-dev pkg-config python cd libsndfile./autogen.sh./configure --enable-werrormake-
make check
為了產(chǎn)生wav2letter++需要的.cmake配置文件 mkdir CMakeBuildcd CMakeBuildcmake ..makesudo make install
安裝ArrayFire
-
sudo apt-get install -y build-essential git cmake libfreeimage-dev
sudo apt-get install -y cmake-curses-gui sudo apt-get install libglfw3-dev libfontconfig1-dev libglm-devgit clone --recursive https://github.com/arrayfire/arrayfire.gitcd arrayfiremkdir build && cd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemake -j 4make install
然而我build一直有問(wèn)題,最后也沒(méi)成功。于是采用方法二:
- 直接下載:ArrayFire-v3.6.1_Linux_x86_64.sh
bash ArrayFire-v3.6.1_Linux_x86_64.sh- 之后wav2letter++在cmake時(shí)加入選項(xiàng):
-DArrayFire_DIR=/xxx/arrayfire/share/ArrayFire/cmake
安裝NCCL
到NVIDIA官網(wǎng)下載NCCL,選擇對(duì)應(yīng)的版本:

切換到NCCL文件所在目錄,運(yùn)行以下命令:
sudo dpkg -i nccl-repo-ubuntu1604-2.3.7-ga-cuda9.2_1-1_amd64.debsudo apt-get updatesudo apt install libnccl2=2.3.7-1+cuda9.2 libnccl-dev=2.3.7-1+cuda9.2
安裝flashlight
注意安裝flashlight之前需要安裝好arrayfire和nccl [flashlight還需要CUDA>=9.2,CUDNN>=7.2.1,所以我又去裝了cuda9.2 :(]
git clone https://github.com/facebookresearch/flashlight.gitexport MKLROOT=/opt/intel/mklmkdir -p build #in the flashlight project directory:cd build-
cmake .. -DCMAKE_BUILD_TYPE=Release -DFLASHLIGHT_BACKEND=CUDA- 報(bào)錯(cuò)找不到ArrayFire,加上
-D ArrayFire_DIR=/data/zd/arrayfire/share/ArrayFire/cmake選項(xiàng); - 報(bào)錯(cuò)找不到CUDA,加上
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.2選項(xiàng);
- 報(bào)錯(cuò)找不到ArrayFire,加上
make -j 4 #(or any number of threads)make test-
make install
發(fā)現(xiàn)報(bào)錯(cuò)
可能是創(chuàng)建不了文件夾,于是改成CMake Error at cmake_install.cmake:36 (file): file INSTALL cannot make directory "/usr/local/include/flashlight/cereal/cereal": No such file or directorysudo make install成功。
安裝wav2letter++
終于來(lái)到這一步了orz...
git clone --recursive https://github.com/facebookresearch/wav2letter.gitmkdir -p buildcd build-
cmake .. -DCMAKE_BUILD_TYPE=Release -DCRITERION_BACKEND=CUDA
-DArrayFire_DIR=/data/zd/arrayfire/share/ArrayFire/cmake
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.2 make -j4
cmake過(guò)程依然出錯(cuò):
-- Looking for KenLM
CMake Error at cmake/Findkenlm.cmake:47 (message):
kenlm library not found; please set CMAKE_LIBRARY_PATH or KENLM_LIB
Call Stack (most recent call first):
src/decoder/CMakeLists.txt:5 (find_package)
-- Configuring incomplete, errors occurred!
需要在~/.bashrc中加上環(huán)境變量
export KENLM_ROOT_DIR=[your kenlm directory]
然后依然有錯(cuò):
-- Library mkl: not found
CMake Error at cmake/FindMKL.cmake:265 (MESSAGE):
MKL library not found. Please specify library location
Call Stack (most recent call first):
src/feature/CMakeLists.txt:5 (find_package)
-- Configuring incomplete, errors occurred!
繼續(xù)在~/.bashrc中加上環(huán)境變量
export MKLROOT=/opt/intel/mkl
至此大功告成 :)。
參考文章:
https://www.cnblogs.com/venus024/p/5619373.html --MKL https://blog.csdn.net/u011641865/article/details/73498533 --Boost
https://blog.csdn.net/sinat_33741547/article/details/79996742 --kenlm
http://blog.topspeedsnail.com/archives/5462 --fftw
如果最后始終配置不成功,推薦使用Docker吧:-)