【语音识别】kaldi安装心得

kaldi安装遇到的问题

  • 环境:Ubuntu 21.10,VMware Workstation Pro
  • 用时:根据你的网络状况和虚拟机情况而定,短则半小时,长可能一两天
  • 一定要全程保证你的虚拟机联网可以上GitHub

虚拟机安装

Ubuntu选择国内镜像站就好了,我选择的是阿里的镜像站
安装的时候一直走默认就好了,建议给虚拟机至少分配40GB的硬盘空间,8核,5GB内存。不过这些在之后都可以临时加,所以不用担心。
语言方面建议选英文,毕竟你也不知道路径里的其他语言可能会出啥问题。
注意:虚拟机的内核数不能超过宿主机,分配的内存不建议超过宿主机的70%,否则可能会出现内存互换的问题。
建议多核是因为之后make编译在核越多的时候越快,建议内存多分配是因为多核编译的时候很考验内存的大小,如果分配内存不够就会报错:

C++: fatal error: Killed signal terminated program cc1plus
compilation terminated.

如果你的宿主机确实没这个条件,你可以选择增加swap分区,我使用的是这个教程

# 创建分区路径
sudo mkdir -p /var/cache/swap/
# 设置分区的大小
# bs=64M是块大小,count=64是块数量,所以swap空间大小是bs*count=4096MB=4GB
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=64
# 设置该目录权限
sudo chmod 0600 /var/cache/swap/swap0
# 创建SWAP文件
sudo mkswap /var/cache/swap/swap0
# 激活SWAP文件
sudo swapon /var/cache/swap/swap0
# 查看SWAP信息是否正确
sudo swapon -s

如果你不想要了,可以去这个文件夹下面删除数据文件,可能会遇到提示:cannot remove is a directory

rm –rf name #name是需要删除的文件/文件夹的名字
#还可以用 free -m 来查看内存空间和swap空间

做完这些准备工作就可以开始安装了~


kaldi安装

分为四步:

  1. 下载kaldi源码
  2. 安装tools里的各种依赖
  3. 编译tools与src文件
  4. 测试

1.下载kaldi源码

注意好虚拟机联网之后先打开terminal装git

sudo apt-get install git

如果你觉得下载速度太慢,可以改变软件源。
打开设置->关于本机->软件更新->download from->other…->https://mirrors.aliyun.com/ubuntu
坐等它把系统内依赖更换即可,大概有1-2min

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

当然直接去GitHub上下载源码zip在通过共享文件夹放在虚拟机里也可以。
注意:一定要在虚拟机里解压,在Windows宿主机里解压会出问题。


2. 安装tools里的各种依赖

进入tools文件夹安装依赖,先查看INSTALL文件,可以直接根据里面的安装步骤进行,第一步检查依赖是否缺少

cd kaldi-master/tools  #进入tools文件夹
cat INSTALL  #查看安装说明
extras/check_dependencies.sh  #检查依赖是否缺少

逐个安装或者一起安装就可以,检查依赖的时候应该会有建议语句,比如:

sudo apt-get install g++ make automake autoconf sox gfortran libtool subversion python2.7

之后会提示你缺少Zlib1g-dev,直接按照里面的提示进行安装:

sudo apt-get install zlib1g-dev

一定要注意,根据你的terminal提示进行,我只是按照我的遇到的提示安装。之后继续检查依赖(extras/check_dependencies.sh)是否缺少,可能会提示你安装mkl,那就按照terminal给出的提示安装:

extras/install_mkl.sh

之后再检查依赖是否缺失(extras/install_mkl.sh),如果还有啥需要安装的,根据terminal提示进行安装就可以,如果显示all OK,那么恭喜你已经把依赖安装完成了~
后面的编译会很卡,做好心理准备,好几个小时都有可能。


3.编译tools与src文件

如果对自己的运气和宿主机没信心,建议从这里开始把之前的虚拟机做一个链接克隆,在克隆虚拟机继续。
继续在tools里进行编译,后面的数字是使用的核数,越多越快,但是需要更多的内存。

make -j 8

这数字根据你自己分配给虚拟机的核决定,不要超过核数就好。这里会需要一段时间,甚至会可能因为内存不足卡住很久,建议去睡个午觉,干点别的事情,宿主机也别运行其他东西,因为机子会十分卡
如果你觉得可能卡得实在动不了,你可以直接关掉虚拟机重启,编译可以键入make clean再重新make编译,不过别一直开开关关,否则你可能会遇到虚拟机无法联网的情况,目前我没找到合适的修正方式,只有删除重新从头再来…

显示:All done OK
恭喜你编译tools完成~

接着,转到src文件夹下面,依旧是先查看安装须知(INSTALL

cat INSTALL

直接按照terminal的提示进行就可以,如果提示你没有安装openfst,那么就去tools文件夹下面编译:

sudo make openfst

每次编译都可能需要挺长时间,做好心理准备。提示完成之后可以回到src文件夹下面继续编译工作:

./configure  --shared  #会提示有SUCCESS
make -j clean depend
make -j 8

当然,我只是说了我的步骤,建议你按照terminal的提示来输入。
编译完成之后就可以去测试了,测试安装是否成功~

4.测试

进入egs/yesno目录,用命令cat README.txt 查看yesno数据集介绍,是一个关于Yes/no识别的简单的数据集,到这一步你都需要保证你的网络是畅通的,因为有很多东西需要下载。

进入egs/yesno/s5目录,执行

 ./run.sh

当最后提示你:

%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0

恭喜,安装成功,完结撒花~~

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值