安装kaldi

环境

操作系统建议使用Ubuntu,因为官方源里已经有编译好的一些依赖库,如ATLAS,安装不会遇到太多问题。

需要安装有gitsubversionmake以及gcc等编译工具链

1.下载源码

git clone https://github.com/kaldi-asr/kaldi.git

2.编译安装kaldi/tools

安装文档在kaldi/tools/INSTALL,很短,建议阅读一下

开始编译:

cd tools
./extras/check_dependencies.sh #检查依赖,如有问题参照仔细修改
#自动下载安装依赖
make -j 8

注意:如果要使用特定版本的编译器,必须和后面编译安装kaldi/src的编译器一致,如之后我们编译安装cuda要用g++-7,需要指定要用的编译器:

CXX=g++-7 extras/check_dependencies.sh
make CXX=g++-7 -j 8

3.编译安装kaldi/src

3.1使用OpenBLAS

如果使用Ubuntu系统,源里有编译好的ATLAS库,可以直接安装,其他Linux发行版由于ATLAS安装复杂,需要调节cpu工作模式,这里用OpenBLAS替代:

cd tools
./extras/install_openblas.sh

3.2安装cuda

thchs30和aishell的训练都需要用到cuda,建议在编译安装的时候就把相关依赖一并装好。

可以手动在nvidia官网下载cuda工具集,根据对应的显卡和平台:https://developer.nvidia.com/cuda-downloads ,再手动安装。

Archlinux可以直接从源里安装,Ubuntu等发行版类似:

sudo pacman -S cuda

注意:对于Archlinux,由于源里的cuda更新比较频繁,编译安装的kaldi会依赖指定版本的cuda,如果cuda大版本更新,如10.0=>10.1,会使kaldi找不到旧版的cuda库而出错,建议添加cuda到忽略升级里,或每次更新cuda后重新编译安装kaldi/src

3.3编译

根据安装文档下载编译依赖(这里使用OpenBLAS),需要硬盘上有20G的空闲空间:

./configure  --openblas-root=../tools/OpenBLAS/install

如果没有找到cuda安装路径,提示:

CUDA will not be used! If you have already installed cuda drivers 
and cuda toolkit, try using --cudatk-dir=... option.  Note: this is
only relevant for neural net experiments

按照提示指定cuda安装路径,Archlinux安装路径在/opt/cuda/

./configure  --openblas-root=../tools/OpenBLAS/install --cudatk-dir=/opt/cuda/

如果提示g++版本问题:

Configuring dynamically loaded OpenBlas since --static-math=no (the default)
Successfully configured for Linux with OpenBLAS from /home/countstarlight/data/Documents/kaldi/tools/OpenBLAS/install
***configure failed: CUDA 10_0 does not support g++ (g++-8.2.1).
                 You need g++ < 8.0. ***

比如这里提示cuda10只支持g++8.0以下的版本,不需要降级,从源里安装低版本的g++,Archlinux会在安装cuda时自动安装适合版本的g++,Ubuntu等发行版类似,指定用低版本的g++,这里我们用g++-7

CXX=g++-7 ./configure  --openblas-root=../tools/OpenBLAS/install --cudatk-dir=/opt/cuda/ --shared
make depend -j 8
make -j 8

这样就已经编译好训练需要的工具,之后进行在线解码和处理一些数据集需要额外安装一些工具

上一页
下一页