Kaldi+ESPnet安装指南
源码地址:kaldi-asr/kaldi: kaldi-asr/kaldi is the official location of the Kaldi project.(github.com)
espnet/espnet: End-to-End Speech Processing Toolkit (github.com)
官方安装文档:
http://kaldi-asr.org/doc/install.html
https://espnet.github.io/espnet/installation.html
服务器波动两次给环境和数据全整没了,第三次重新安装,给自己写个指南,万一还有下次(
0 环境准备
新建conda环境,在环境中安装好pytorch。
根据espnet/egs2/librimix/sot_asr1(espnet/egs2/librimix/sot_asr1 at master · espnet/espnet (github.com))的README文件所示,他人复现环境版本信息如下:
目标安装python版本为3.8,pytorch版本为1.12.1。
conda create --name espnet python=3.8
conda activate espnet
pip install torch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1
等待下载任务完成后conda list查看已安装包列表:
接下来正式开始Kaldi工具的安装。
1 Kaldi安装
1.1 克隆Kaldi文件
进到目标文件夹下输入命令:
git clone https://github.com/kaldi-asr/kaldi.git
题外话:全新的服务器环境中没有git命令,于是企图安装git命令,输入命令报错发现没有sudo,遂安装sudo。命令如下:
apt-get install sudo
sudo apt-get install git
下载任务完成后可以看到目标文件夹中多出了kaldi文件夹。
1.2 tools编译
1.2.1 安装依赖包
首先进到kaldi/tools文件夹,根据官方文档,检查依赖包的安装情况:
extras/check_dependencies.sh
运行完成,显示缺少包:
直接复制它的命令进行安装:
sudo apt-get install g++ make automake autoconf patch sox gfortran libtool subversion python2.7
完成之后再回到上一条命令继续检查,发现遗漏:
继续复制命令安装:
sudo apt-get install zlib1g-dev
再再回到check,继续检查:
直接使用它给的命令安装:
extras/install_mkl.sh
安装完成后会提示successfully installed,再再再回到check:
提示all OK了,这一步完成。
1.2.2 编译
具体信息可以仔细查看官方安装文档,我直接:
make -j 8
等待编译完成。(-j *可选,配置高可多,低的话少一点否则会报错。)
1.3 src编译
确保上一步安装完成后回到kaldi目录下,进入src文件夹。
第一步:
./configure --shared
看到显示successfully configured,并提示下一步:
make depend -j 8
完成后再:
make -j 8
显示Done,完成。
1.4 验证是否安装成功
退回到kaldi目录下,进入egs文件夹,运行yesno实例:
cd egs/yesno/s5/
./run.sh
成功。
2 ESPnet安装
2.1 克隆Espnet文件
git clone https://github.com/espnet/espnet.git
2.2 安装依赖包
sudo apt-get install cmake
sudo apt-get install sox
sudo apt-get install flac
安装完成后连接到kaldi:
$ cd <espnet-root>/tools
$ ln -s <kaldi-root> .
2.3 设置Python环境
因为已经创建了conda环境,所以直接获取当前环境下的python:
./setup_python.sh $(command -v python3)
2.4 编译安装
在espnet/tools文件夹下直接:
make
2.5 验证安装是否成功
进入文件夹espnet/egs/yesno/asr1,运行:
./run.sh
成功。
小插曲:
-
报错line 107: bc: command not found,没安装bc(Basic Calculator)包,直接
sudo apt-get install bc
-
报错run.pl: job failed, log is in exp/train_nodev_pytorch_train/train.log,看起来是torch出了问题,在log文件里找到AssertionError: Torch not compiled with CUDA enabled,conda list发现torch和torchaudio变成cpu版本的了,解决办法就是uninstall这两个cpu的包,再跟前面一样重新安装一下GPU版本的就行了:
pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1