运行Kaldi yesno实例时version `GLIBCXX_3.4.21' not found的原因
最近开始倒腾Kaldi走了一些弯路,一心想在Windows上摸索,编译神马的都OK,最后却拦在了Kaldi最核心、最重要的脚本上;由于Windows下对软连接支持不好(甚至说是完全不能),放弃!!!转为linux(这个才是与国际接轨的)下:Linux下也是经历了很多曲折,什么GCC版本过低等等~~~~今天的话题是利用升级后的GCC编译完成Kaldi程式后,脚本运行时出现的“versio
最近开始倒腾Kaldi走了一些弯路,一心想在Windows上摸索,编译神马的都OK,最后却拦在了Kaldi最核心、最重要的脚本上;由于Windows下对软连接支持不好(甚至说是完全不能),放弃!!!转为linux(这个才是与国际接轨的)下:
Linux下也是经历了很多曲折,什么GCC版本过低等等~~~~今天的话题是利用升级后的GCC编译完成Kaldi程式后,脚本运行时出现的“version `GLIBCXX_3.4.21' not found”问题:
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by arpa2fst)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by arpa2fst)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by arpa2fst)
arpa2fst: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-lm.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-lm.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-lm.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-lm.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-lm.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-util.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-util.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-matrix.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-base.so)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
arpa2fst: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
arpa2fst: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by fstisstochastic)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by fstisstochastic)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by fstisstochastic)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-fstext.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-fstext.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-fstext.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-util.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-util.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-matrix.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/src/lib/libkaldi-base.so)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
fstisstochastic: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst/lib/libfst.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by fstcompile)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompile: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by fstarcsort)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstarcsort: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by fstcompose)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstcompose: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by fstinfo)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfstscript.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
fstinfo: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/houwenbin/kaldi-master/tools/openfst-1.6.2/lib/libfst.so.7)
命令一查,确实是:
[houwenbin@localhost s5]$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBC_2.2.5
GLIBC_2.3
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
想了想,由于GCC升级缘故造成的:参考拷贝到/usr/lib64/....更改软连接指向最新的:
[houwenbin@localhost s5]$ cp /usr/local/gcc-4.9.4/lib64/libstdc++.so.6.0.20 /usr/lib64/
cp: cannot create regular file `/usr/lib64/libstdc++.so.6.0.20': Permission denied
[houwenbin@localhost s5]$ sudo cp /usr/local/gcc-4.9.4/lib64/libstdc++.so.6.0.20 /usr/lib64/
[sudo] password for houwenbin:
[houwenbin@localhost s5]$
[houwenbin@localhost s5]$ rm -f /usr/lib64/libstdc++.so.6
rm: cannot remove `/usr/lib64/libstdc++.so.6': Permission denied
[houwenbin@localhost s5]$ sudo rm -f /usr/lib64/libstdc++.so.6
[houwenbin@localhost s5]$
[houwenbin@localhost s5]$ sudo ln -s /usr/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6
[houwenbin@localhost s5]$
[houwenbin@localhost s5]$ ll /usr/lib64/libstdc*
lrwxrwxrwx 1 root root 30 Nov 27 01:48 /usr/lib64/libstdc++.so.6 -> /usr/lib64/libstdc++.so.6.0.20
-rwxr-xr-x 1 root root 989840 May 10 2016 /usr/lib64/libstdc++.so.6.0.13
-rwxr-xr-x 1 root root 6779708 Nov 27 01:44 /usr/lib64/libstdc++.so.6.0.20
[houwenbin@localhost s5]$ strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.3.2
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
[houwenbin@localhost s5]$ ./run.sh
--2017-11-27 02:00:42-- http://www.openslr.org/resources/1/waves_yesno.tar.gz
Resolving www.openslr.org... 46.101.158.64
Connecting to www.openslr.org|46.101.158.64|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4703754 (4.5M) [application/x-gzip]
Saving to: `waves_yesno.tar.gz.1'
100%[===========================================================================================>] 4,703,754 317K/s in 18s
2017-11-27 02:01:01 (253 KB/s) - `waves_yesno.tar.gz.1' saved [4703754/4703754]
waves_yesno/
waves_yesno/1_0_0_0_0_0_1_1.wav
waves_yesno/1_1_0_0_1_0_1_0.wav
waves_yesno/1_0_1_1_1_1_0_1.wav
waves_yesno/1_1_1_1_0_1_0_0.wav
waves_yesno/0_0_1_1_1_0_0_0.wav
waves_yesno/0_1_1_1_1_1_1_1.wav
waves_yesno/0_1_0_1_1_1_0_0.wav
waves_yesno/1_0_1_1_1_0_1_0.wav
waves_yesno/1_0_0_1_0_1_1_1.wav
waves_yesno/0_0_1_0_1_0_0_0.wav
waves_yesno/0_1_0_1_1_0_1_0.wav
waves_yesno/0_0_1_1_0_1_1_0.wav
waves_yesno/1_0_0_0_1_0_0_1.wav
waves_yesno/1_1_0_1_1_1_1_0.wav
waves_yesno/0_0_1_1_1_1_0_0.wav
waves_yesno/1_1_0_0_1_1_1_0.wav
waves_yesno/0_0_1_1_0_1_1_1.wav
waves_yesno/1_1_0_1_0_1_1_0.wav
waves_yesno/0_1_0_0_0_1_1_0.wav
waves_yesno/0_0_0_1_0_0_0_1.wav
waves_yesno/0_0_1_0_1_0_1_1.wav
waves_yesno/0_0_1_0_0_0_1_0.wav
waves_yesno/1_1_0_1_1_0_0_1.wav
waves_yesno/0_1_1_1_0_1_0_1.wav
waves_yesno/0_1_1_1_0_0_0_0.wav
waves_yesno/README~
waves_yesno/0_1_0_0_0_1_0_0.wav
waves_yesno/1_0_0_0_0_0_0_1.wav
waves_yesno/1_1_0_1_1_0_1_1.wav
waves_yesno/1_1_0_0_0_0_0_1.wav
waves_yesno/1_0_0_0_0_0_0_0.wav
waves_yesno/0_1_1_1_1_0_1_0.wav
waves_yesno/0_0_1_1_0_1_0_0.wav
waves_yesno/1_1_1_0_0_0_0_1.wav
waves_yesno/1_0_1_0_1_0_0_1.wav
waves_yesno/0_1_0_0_1_0_1_1.wav
waves_yesno/0_0_1_1_1_1_1_0.wav
waves_yesno/1_1_0_0_0_1_1_1.wav
waves_yesno/0_1_1_1_0_0_1_0.wav
waves_yesno/1_1_0_1_0_1_0_0.wav
waves_yesno/1_1_1_1_1_1_1_1.wav
waves_yesno/0_0_1_0_1_0_0_1.wav
waves_yesno/1_1_1_1_0_0_1_0.wav
waves_yesno/0_0_1_1_1_0_0_1.wav
waves_yesno/0_1_0_1_0_0_0_0.wav
waves_yesno/1_1_1_1_1_0_0_0.wav
waves_yesno/README
waves_yesno/0_1_1_0_0_1_1_1.wav
waves_yesno/0_0_1_0_0_1_1_0.wav
waves_yesno/1_1_0_0_1_0_1_1.wav
waves_yesno/1_1_1_0_0_1_0_1.wav
waves_yesno/0_0_1_0_0_1_1_1.wav
waves_yesno/0_0_1_1_0_0_0_1.wav
waves_yesno/1_0_1_1_0_1_1_1.wav
waves_yesno/1_1_1_0_1_0_1_0.wav
waves_yesno/1_1_1_0_1_0_1_1.wav
waves_yesno/0_1_0_0_1_0_1_0.wav
waves_yesno/1_1_1_0_0_1_1_1.wav
waves_yesno/0_1_1_0_0_1_1_0.wav
waves_yesno/0_0_0_1_0_1_1_0.wav
waves_yesno/1_1_1_1_1_1_0_0.wav
waves_yesno/0_0_0_0_1_1_1_1.wav
Preparing train and test data
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Dictionary preparation succeeded
utils/prepare_lang.sh --position-dependent-phones false data/local/dict <SIL> data/local/lang data/lang
Feature "unicode_strings" is not supported by Perl 5.10.1 at utils/validate_dict_dir.pl line 56
BEGIN failed--compilation aborted at utils/validate_dict_dir.pl line 56.
*Error validating directory data/local/dict*
Preparing language models for test
arpa2fst --disambig-symbol=#0 --read-symbol-table=data/lang_test_tg/words.txt input/task.arpabo data/lang_test_tg/G.fst
ERROR (arpa2fst[5.2]:Input():kaldi-io.cc:742) Error opening input stream data/lang_test_tg/words.txt
[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*)
kaldi::MessageLogger::~MessageLogger()
kaldi::Input::Input(std::string const&, bool*)
main
__libc_start_main
arpa2fst() [0x445939]
fstisstochastic data/lang_test_tg/G.fst
ERROR (fstisstochastic[5.2]:Input():kaldi-io.cc:742) Error opening input stream data/lang_test_tg/G.fst
[ Stack-Trace: ]
kaldi::MessageLogger::HandleMessage(kaldi::LogMessageEnvelope const&, char const*)
kaldi::MessageLogger::~MessageLogger()
kaldi::Input::Input(std::string const&, bool*)
fst::ReadFstKaldiGeneric(std::string, bool)
main
__libc_start_main
fstisstochastic() [0x446949]
ERROR: SymbolTable::ReadText: Can't open file data/lang_test_tg/words.txt
ERROR: FstHeader::Read: Bad FST header: standard input
ERROR: FstHeader::Read: Bad FST header: standard input
ERROR: FstHeader::Read: Bad FST header: tmpdir.g/empty_words.fst
Succeeded in formatting data.
steps/make_mfcc.sh --nj 1 data/train_yesno exp/make_mfcc/train_yesno mfcc
utils/validate_data_dir.sh: WARNING: you have only one speaker. This probably a bad idea.
Search for the word 'bold' in http://kaldi-asr.org/doc/data_prep.html
for more information.
Feature "unicode_strings" is not supported by Perl 5.10.1 at utils/validate_text.pl line 72
BEGIN failed--compilation aborted at utils/validate_text.pl line 72.
steps/compute_cmvn_stats.sh data/train_yesno exp/make_mfcc/train_yesno mfcc
make_cmvn.sh: no such file data/train_yesno/feats.scp
fix_data_dir.sh: kept all 31 utterances.
fix_data_dir.sh: old files are kept in data/train_yesno/.backup
steps/make_mfcc.sh --nj 1 data/test_yesno exp/make_mfcc/test_yesno mfcc
utils/validate_data_dir.sh: WARNING: you have only one speaker. This probably a bad idea.
Search for the word 'bold' in http://kaldi-asr.org/doc/data_prep.html
for more information.
Feature "unicode_strings" is not supported by Perl 5.10.1 at utils/validate_text.pl line 72
BEGIN failed--compilation aborted at utils/validate_text.pl line 72.
steps/compute_cmvn_stats.sh data/test_yesno exp/make_mfcc/test_yesno mfcc
make_cmvn.sh: no such file data/test_yesno/feats.scp
fix_data_dir.sh: kept all 31 utterances.
fix_data_dir.sh: old files are kept in data/test_yesno/.backup
steps/train_mono.sh --nj 1 --cmd utils/run.pl --totgauss 400 data/train_yesno data/lang exp/mono0a
cat: data/lang/oov.int: No such file or directory
mkgraph.sh: expected data/lang_test_tg/L.fst to exist
steps/decode.sh --nj 1 --cmd utils/run.pl exp/mono0a/graph_tgpr data/test_yesno exp/mono0a/decode_test_yesno
decode.sh: no such file data/test_yesno/split1/1/feats.scp
grep: exp/mono0a/decode_test_yesno/wer_*: No such file or directory
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "zh_CN.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
紧接着上面的错误信息:
1、首先解决locale相关的问题:
修改~/.bashrc
在最底部添加 LC_ALL="C" 所以可以这样运行
qifa@ts-server:~$ echo "export LC_ALL=\"C\"">>~/.bashrc
qifa@ts-server:~$ source ~/.bashrc
2、解决Feature "unicode_strings" is not supported by Perl 5.10.1可以看出是版本不支持这个feature:http://perldoc.perl.org/feature.html#The-'unicode_strings'-feature
This feature is available starting with Perl 5.12; was almost fully implemented in Perl 5.14; and extended in Perl 5.16 to cover quotemeta
; and extended further in Perl 5.26 to cover the range operator.
那就升级Perl版本了:
最终结果:
[houwenbin@localhost perl-5.26.1]$ sudo rm -rf /usr/bin/per
perl perl5.10.1 perlbug perldoc perlivp perlthanks perror
[houwenbin@localhost perl-5.26.1]$ sudo rm -rf /usr/bin/perl
[houwenbin@localhost perl-5.26.1]$
[houwenbin@localhost perl-5.26.1]$
[houwenbin@localhost perl-5.26.1]$ sudo ln -s /usr/local/perl/bin/perl /usr/bin/perl
[houwenbin@localhost perl-5.26.1]$
[houwenbin@localhost perl-5.26.1]$ perl -v
This is perl 5, version 26, subversion 1 (v5.26.1) built for x86_64-linux
Copyright 1987-2017, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
[houwenbin@localhost perl-5.26.1]$
[houwenbin@localhost perl-5.26.1]$ cd ~/kaldi-master/egs/yesno/s5/
[houwenbin@localhost s5]$
[houwenbin@localhost s5]$ ./run.sh
Preparing train and test data
Dictionary preparation succeeded
utils/prepare_lang.sh --position-dependent-phones false data/local/dict <SIL> data/local/lang data/lang
Checking data/local/dict/silence_phones.txt ...
--> reading data/local/dict/silence_phones.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/dict/silence_phones.txt is OK
Checking data/local/dict/optional_silence.txt ...
--> reading data/local/dict/optional_silence.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/dict/optional_silence.txt is OK
Checking data/local/dict/nonsilence_phones.txt ...
--> reading data/local/dict/nonsilence_phones.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/dict/nonsilence_phones.txt is OK
Checking disjoint: silence_phones.txt, nonsilence_phones.txt
--> disjoint property is OK.
Checking data/local/dict/lexicon.txt
--> reading data/local/dict/lexicon.txt
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/local/dict/lexicon.txt is OK
Checking data/local/dict/extra_questions.txt ...
--> data/local/dict/extra_questions.txt is empty (this is OK)
--> SUCCESS [validating dictionary directory data/local/dict]
**Creating data/local/dict/lexiconp.txt from data/local/dict/lexicon.txt
fstaddselfloops data/lang/phones/wdisambig_phones.int data/lang/phones/wdisambig_words.int
prepare_lang.sh: validating output directory
utils/validate_lang.pl data/lang
Checking data/lang/phones.txt ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/lang/phones.txt is OK
Checking words.txt: #0 ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> data/lang/words.txt is OK
Checking disjoint: silence.txt, nonsilence.txt, disambig.txt ...
--> silence.txt and nonsilence.txt are disjoint
--> silence.txt and disambig.txt are disjoint
--> disambig.txt and nonsilence.txt are disjoint
--> disjoint property is OK
Checking sumation: silence.txt, nonsilence.txt, disambig.txt ...
--> summation property is OK
Checking data/lang/phones/context_indep.{txt, int, csl} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 1 entry/entries in data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.int corresponds to data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.csl corresponds to data/lang/phones/context_indep.txt
--> data/lang/phones/context_indep.{txt, int, csl} are OK
Checking data/lang/phones/nonsilence.{txt, int, csl} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 2 entry/entries in data/lang/phones/nonsilence.txt
--> data/lang/phones/nonsilence.int corresponds to data/lang/phones/nonsilence.txt
--> data/lang/phones/nonsilence.csl corresponds to data/lang/phones/nonsilence.txt
--> data/lang/phones/nonsilence.{txt, int, csl} are OK
Checking data/lang/phones/silence.{txt, int, csl} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 1 entry/entries in data/lang/phones/silence.txt
--> data/lang/phones/silence.int corresponds to data/lang/phones/silence.txt
--> data/lang/phones/silence.csl corresponds to data/lang/phones/silence.txt
--> data/lang/phones/silence.{txt, int, csl} are OK
Checking data/lang/phones/optional_silence.{txt, int, csl} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 1 entry/entries in data/lang/phones/optional_silence.txt
--> data/lang/phones/optional_silence.int corresponds to data/lang/phones/optional_silence.txt
--> data/lang/phones/optional_silence.csl corresponds to data/lang/phones/optional_silence.txt
--> data/lang/phones/optional_silence.{txt, int, csl} are OK
Checking data/lang/phones/disambig.{txt, int, csl} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 2 entry/entries in data/lang/phones/disambig.txt
--> data/lang/phones/disambig.int corresponds to data/lang/phones/disambig.txt
--> data/lang/phones/disambig.csl corresponds to data/lang/phones/disambig.txt
--> data/lang/phones/disambig.{txt, int, csl} are OK
Checking data/lang/phones/roots.{txt, int} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 3 entry/entries in data/lang/phones/roots.txt
--> data/lang/phones/roots.int corresponds to data/lang/phones/roots.txt
--> data/lang/phones/roots.{txt, int} are OK
Checking data/lang/phones/sets.{txt, int} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 3 entry/entries in data/lang/phones/sets.txt
--> data/lang/phones/sets.int corresponds to data/lang/phones/sets.txt
--> data/lang/phones/sets.{txt, int} are OK
Checking data/lang/phones/extra_questions.{txt, int} ...
Checking optional_silence.txt ...
--> reading data/lang/phones/optional_silence.txt
--> data/lang/phones/optional_silence.txt is OK
Checking disambiguation symbols: #0 and #1
--> data/lang/phones/disambig.txt has "#0" and "#1"
--> data/lang/phones/disambig.txt is OK
Checking topo ...
Checking word-level disambiguation symbols...
--> data/lang/phones/wdisambig.txt exists (newer prepare_lang.sh)
Checking data/lang/oov.{txt, int} ...
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
--> 1 entry/entries in data/lang/oov.txt
--> data/lang/oov.int corresponds to data/lang/oov.txt
--> data/lang/oov.{txt, int} are OK
--> data/lang/L.fst is olabel sorted
--> data/lang/L_disambig.fst is olabel sorted
--> SUCCESS [validating lang directory data/lang]
Preparing language models for test
arpa2fst --disambig-symbol=#0 --read-symbol-table=data/lang_test_tg/words.txt input/task.arpabo data/lang_test_tg/G.fst
LOG (arpa2fst[5.2]:Read():arpa-file-parser.cc:98) Reading \data\ section.
LOG (arpa2fst[5.2]:Read():arpa-file-parser.cc:153) Reading \1-grams: section.
LOG (arpa2fst[5.2]:RemoveRedundantStates():arpa-lm-compiler.cc:359) Reduced num-states from 1 to 1
fstisstochastic data/lang_test_tg/G.fst
1.20397 1.20397
Succeeded in formatting data.
steps/make_mfcc.sh --nj 1 data/train_yesno exp/make_mfcc/train_yesno mfcc
utils/validate_data_dir.sh: WARNING: you have only one speaker. This probably a bad idea.
Search for the word 'bold' in http://kaldi-asr.org/doc/data_prep.html
for more information.
Checking data/train_yesno/text ...
--> reading data/train_yesno/text
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
utils/validate_data_dir.sh: Successfully validated data-directory data/train_yesno
steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
Succeeded creating MFCC features for train_yesno
steps/compute_cmvn_stats.sh data/train_yesno exp/make_mfcc/train_yesno mfcc
Succeeded creating CMVN stats for train_yesno
fix_data_dir.sh: kept all 31 utterances.
fix_data_dir.sh: old files are kept in data/train_yesno/.backup
steps/make_mfcc.sh --nj 1 data/test_yesno exp/make_mfcc/test_yesno mfcc
utils/validate_data_dir.sh: WARNING: you have only one speaker. This probably a bad idea.
Search for the word 'bold' in http://kaldi-asr.org/doc/data_prep.html
for more information.
Checking data/test_yesno/text ...
--> reading data/test_yesno/text
--> text seems to be UTF-8 or ASCII, checking whitespaces
--> text contains only allowed whitespaces
utils/validate_data_dir.sh: Successfully validated data-directory data/test_yesno
steps/make_mfcc.sh: [info]: no segments file exists: assuming wav.scp indexed by utterance.
It seems not all of the feature files were successfully processed (29 != 31);
consider using utils/fix_data_dir.sh data/test_yesno
Less than 95% the features were successfully generated. Probably a serious error.
steps/compute_cmvn_stats.sh data/test_yesno exp/make_mfcc/test_yesno mfcc
Succeeded creating CMVN stats for test_yesno
fix_data_dir.sh: kept 29 utterances out of 31
fix_data_dir.sh: old files are kept in data/test_yesno/.backup
steps/train_mono.sh --nj 1 --cmd utils/run.pl --totgauss 400 data/train_yesno data/lang exp/mono0a
steps/train_mono.sh: Initializing monophone system.
steps/train_mono.sh: Compiling training graphs
steps/train_mono.sh: Aligning data equally (pass 0)
steps/train_mono.sh: Pass 1
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 2
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 3
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 4
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 5
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 6
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 7
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 8
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 9
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 10
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 11
steps/train_mono.sh: Pass 12
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 13
steps/train_mono.sh: Pass 14
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 15
steps/train_mono.sh: Pass 16
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 17
steps/train_mono.sh: Pass 18
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 19
steps/train_mono.sh: Pass 20
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 21
steps/train_mono.sh: Pass 22
steps/train_mono.sh: Pass 23
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 24
steps/train_mono.sh: Pass 25
steps/train_mono.sh: Pass 26
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 27
steps/train_mono.sh: Pass 28
steps/train_mono.sh: Pass 29
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 30
steps/train_mono.sh: Pass 31
steps/train_mono.sh: Pass 32
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 33
steps/train_mono.sh: Pass 34
steps/train_mono.sh: Pass 35
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 36
steps/train_mono.sh: Pass 37
steps/train_mono.sh: Pass 38
steps/train_mono.sh: Aligning data
steps/train_mono.sh: Pass 39
steps/diagnostic/analyze_alignments.sh --cmd utils/run.pl data/lang exp/mono0a
steps/diagnostic/analyze_alignments.sh: see stats in exp/mono0a/log/analyze_alignments.log
1 warnings in exp/mono0a/log/update.*.log
exp/mono0a: nj=1 align prob=-81.88 over 0.05h [retry=0.0%, fail=0.0%] states=11 gauss=371
steps/train_mono.sh: Done training monophone system in exp/mono0a
tree-info exp/mono0a/tree
tree-info exp/mono0a/tree
fsttablecompose data/lang_test_tg/L_disambig.fst data/lang_test_tg/G.fst
fstminimizeencoded
fstpushspecial
fstdeterminizestar --use-log=true
fstisstochastic data/lang_test_tg/tmp/LG.fst
0.534295 0.533859
[info]: LG not stochastic.
fstcomposecontext --context-size=1 --central-position=0 --read-disambig-syms=data/lang_test_tg/phones/disambig.int --write-disambig-syms=data/lang_test_tg/tmp/disambig_ilabels_1_0.int data/lang_test_tg/tmp/ilabels_1_0.11399
fstisstochastic data/lang_test_tg/tmp/CLG_1_0.fst
0.534295 0.533859
[info]: CLG not stochastic.
make-h-transducer --disambig-syms-out=exp/mono0a/graph_tgpr/disambig_tid.int --transition-scale=1.0 data/lang_test_tg/tmp/ilabels_1_0 exp/mono0a/tree exp/mono0a/final.mdl
fsttablecompose exp/mono0a/graph_tgpr/Ha.fst data/lang_test_tg/tmp/CLG_1_0.fst
fstminimizeencoded
fstdeterminizestar --use-log=true
fstrmsymbols exp/mono0a/graph_tgpr/disambig_tid.int
fstrmepslocal
fstisstochastic exp/mono0a/graph_tgpr/HCLGa.fst
0.5342 -0.000422432
HCLGa is not stochastic
add-self-loops --self-loop-scale=0.1 --reorder=true exp/mono0a/final.mdl
steps/decode.sh --nj 1 --cmd utils/run.pl exp/mono0a/graph_tgpr data/test_yesno exp/mono0a/decode_test_yesno
decode.sh: feature type is delta
steps/diagnostic/analyze_lats.sh --cmd utils/run.pl exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_alignments.log
Overall, lattice depth (10,50,90-percentile)=(1,1,2) and mean=1.2
steps/diagnostic/analyze_lats.sh: see stats in exp/mono0a/decode_test_yesno/log/analyze_lattice_depth_stats.log
local/score.sh --cmd utils/run.pl data/test_yesno exp/mono0a/graph_tgpr exp/mono0a/decode_test_yesno
local/score.sh: scoring with word insertion penalty=0.0,0.5,1.0
%WER 0.00 [ 0 / 232, 0 ins, 0 del, 0 sub ] exp/mono0a/decode_test_yesno/wer_10_0.0
更多推荐
所有评论(0)