目录
1、cpu版kaldi可以运行,但无法调用gpu进行训练。
此处笔者所用kaldi为cpu编译而来,如需调用gpu须在编译kaldi前准备好cuda环境。让kaldi compile for CUDA。笔者此文kaldi编译相关大部分依赖(python3、***等已准备好)
2、编译kaldi需mkl(intel提供的数学库)
笔者选择linux --> web&local --> local下载离线包后上传服务器安装。
安装方法:直接运行下载的sh文件。一路确认,耐心等待。此处网上安装方法详细不赘述。
3、编译gpu版kaldi
1) 在kaldi src 目录下
./configure --mkl-libdir=安装的mkl路径(笔者为:/home/**/intel/oneapi/mkl/2021.1.1/lib/intel64)
2)指定src/kaldi.mk文件中MKL_ROOT路径(/home/**/intel/oneapi/mkl/2021.1.1)。
3) 编译
make -j 24 (根据机器cpu数自定义)
4)
make -j clean depend
以上结束后gpu版kaldi已编译好,enjoy.................................
可..........................
笔者想要进行训练时,异常“如约而至”。
异常太长,且在离线服务上,此处不贴出。大概就是:
Error in `nneet-int` free():invalid pointer:XXXXXX
/usr/lib64/librt-2.17.so
/usr/lib64/librt-2.17.so
/usr/lib64/librt-2.17.so
......
/usr/lib64/libgcc_s-4.8.5-20150702.so.1
/usr/lib64/libgcc_s-4.8.5-20150702.so.1
/usr/lib64/libgcc_s-4.8.5-20150702.so.1
......
/*/*/kaldi-trunk/tools/openfst-1.6.7/lib/libfst.so.10.0.0
/*/*/kaldi-trunk/tools/openfst-1.6.7/lib/libfst.so.10.0.0
/*/*/kaldi-trunk/tools/openfst-1.6.7/lib/libfst.so.10.0.0
.....
4、openfst版本不对
出现如上问题是因为openfst版本不对,需重新编译openfst。
以上为笔者在前人基础上操作,站在巨人的肩膀山。各中细节尚未阐述,仅提醒之用。slum 调用gpu配置问题见另一文章。