1

我正在尝试在远程服务器上运行 kaldi TIMIT/s5 配方。该工具包已在服务器中安装和编译。安装和编译工具包的原始路径是一个“只读”目录,我没有“sudo”访问权限来修改那里的任何内容。为了运行脚本,我已将 TIMIT 配方的目录复制到我的本地位置。我已将 KALDI_ROOT(在 'path.sh' 中)更改为安装 Kaldi 工具包的原始目录。当我尝试运行脚本“run.sh”时,出现以下错误:

wav-to-duration: error while loading shared libraries: libkaldi-hmm.so: cannot open shared object file: No such file or directory

然后,我将以下行添加到“path.sh”文件的末尾:

export LD_LIBRARY_PATH="$KALDI_ROOT/src/lib"

但是,然后我收到以下错误:

wav-to-duration: error while loading shared libraries: libfst.so.10: cannot open shared object file: No such file or directory

关于如何修改“path.sh”文件以便我可以在本地目录上运行 Kaldi 食谱有什么建议吗?

感谢所有的答案

4

1 回答 1

1

我已经解决了这个问题。该错误是由于设置 Kaldi 库的根目录的方式不正确。此外,我需要明确指出库 GCC.8.2.0。根目录链接在 timit/s5 配方文件夹中的“path.sh”脚本中。在这里,我分享了成功运行整个 run.sh 脚本的 path.sh 文件的修改版本。请注意,LIBRARY_PATH 文件应指向共享库的本地目录和“openfst”库(有限状态传感器解码包)的目录。

export KALDI_ROOT=/import/linux/kaldi
[ -f $KALDI_ROOT/tools/env.sh ] && . $KALDI_ROOT/tools/env.sh
export PATH=$KALDI_ROOT/egs/timit/s5/utils/:$KALDI_ROOT/tools/openfst/bin:$KALDI_ROOT/tools/irstlm/bin/:$PWD:$PATH
[ ! -f $KALDI_ROOT/tools/config/common_path.sh ] && echo >&2 "The standard 
file $KALDI_ROOT/tools/config/common_path.sh is not present -> Exit!" && exit 1
. $KALDI_ROOT/tools/config/common_path.sh

PATH=$PATH:$KALDI_ROOT/tools/openfst
PATH=$PATH:$KALDI_ROOT/src/featbin
PATH=$PATH:$KALDI_ROOT/src/gmmbin
PATH=$PATH:$KALDI_ROOT/src/bin
PATH=$PATH:$KALDI_ROOT//src/nnetbin
export PATH

export LC_ALL=C
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/$KALDI_ROOT/src/lib:$KALDI_ROOT/tools/openfst-1.6.7/lib
于 2019-05-22T13:16:14.523 回答