zeroth 디코딩 에러좀 봐주세요 부탁드립니다.

228 views
Skip to first unread message

김지상

unread,
Jan 5, 2022, 7:24:53 PM1/5/22
to zeroth-help
안녕하세요 최근 회사프로젝트진행을 위해 kaldi를 공부하고 있습니다.

해당 게시글의 내용을 바탕으로 zeroth 를 칼디에 올려서
잘 진행하고 마지막 디코딩하는 과정에 이르렀습니다.
근데 decode.sh 를 편집한 후 실행이 안되어

$ sudo ./decode.sh /home/kjs/test/conv_sample.flac /home/kjs/zeroth/s5 /home/kjs/out

명령어로 디코딩을 시도해 보았더니 이런 오류가 납니다.
혹시 도움 주실 수 있는분 계실까요? 부탁드립니다.


#### Decoding ####
ERROR (online2-wav-nnet3-latgen-faster[5.5.999~1545-d366a]:ReadConfigFile():parse-options.cc:462) Cannot open config file: /home/kjs/zeroth/conf/online.conf

[ Stack-Trace: ]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(kaldi::MessageLogger::LogMessage() const+0x77b) [0x557ca3704f8b]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(kaldi::MessageLogger::LogAndThrow::operator=(kaldi::MessageLogger const&)+0x25) [0x557ca33c6b99]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(kaldi::ParseOptions::ReadConfigFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)+0x2c9) [0x557ca369b82b]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(kaldi::ParseOptions::Read(int, char const* const*)+0x132) [0x557ca369be3e]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(main+0x79b) [0x557ca33c332d]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f790294c0b3]
/home/kjs/kaldi/src/online2bin/online2-wav-nnet3-latgen-faster(_start+0x2e) [0x557ca33c20ce]

kaldi::KaldiFatalError##### LM rescore ####
lattice-lmrescore --lm-scale=-1.0 'ark:gunzip -c /home/kjs/out/lat.1.gz|' 'fstproject --project_output=true /home/kjs/zeroth/G.fst |' ark:-
lattice-lmrescore-const-arpa --lm-scale=1.0 ark:- /home/kjs/zeroth/G.carpa ark:-
lattice-scale --inv-acoustic-scale=11.0 ark:- ark:-
lattice-1best ark:- 'ark:|gzip -c > /home/kjs/out/lmre_lat.1.gz'
ERROR (lattice-lmrescore-const-arpa[5.5.999~1545-d366a]:Input():kaldi-io.cc:756) Error opening input stream /home/kjs/zeroth/G.carpa

[ Stack-Trace: ]
lattice-lmrescore-const-arpa(kaldi::MessageLogger::LogMessage() const+0x77b) [0x561d0c0fa6a3]
lattice-lmrescore-const-arpa(kaldi::MessageLogger::LogAndThrow::operator=(kaldi::MessageLogger const&)+0x25) [0x561d0c01bb6d]
lattice-lmrescore-const-arpa(kaldi::Input::Input(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool*)+0xbe) [0x561d0c08faa6]
lattice-lmrescore-const-arpa(main+0x1c3) [0x561d0c018f6c]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f8fb95570b3]
lattice-lmrescore-const-arpa(_start+0x2e) [0x561d0c018cee]

kaldi::KaldiFatalErrorlattice-add-penalty --word-ins-penalty=0.0 ark:- ark:-
LOG (lattice-scale[5.5.999~1545-d366a]:main():lattice-scale.cc:107) Done 0 lattices.
LOG (lattice-add-penalty[5.5.999~1545-d366a]:main():lattice-add-penalty.cc:62) Done adding word insertion penalty to 0 lattices.
LOG (lattice-1best[5.5.999~1545-d366a]:main():lattice-1best.cc:103) Done converting 0 to best path, 0 had errors.
ERROR: ReadFstClass: Can't open file: /home/kjs/zeroth/G.fst
ERROR: FstHeader::Read: Bad FST header: fstproject --project_output=true /home/kjs/zeroth/G.fst |
ERROR (lattice-lmrescore[5.5.999~1545-d366a]:ReadFstKaldi():kaldi-fst-io.cc:35) Reading FST: error reading FST header from 'fstproject --project_output=true /home/kjs/zeroth/G.fst |'

[ Stack-Trace: ]
lattice-lmrescore(kaldi::MessageLogger::LogMessage() const+0x77b) [0x55f355bed563]
lattice-lmrescore(kaldi::MessageLogger::LogAndThrow::operator=(kaldi::MessageLogger const&)+0x25) [0x55f355b0c72f]
lattice-lmrescore(fst::ReadFstKaldi(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x1bc) [0x55f355b6d847]
lattice-lmrescore(main+0x23a) [0x55f355b07143]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7fa1f90090b3]
lattice-lmrescore(_start+0x2e) [0x55f355b06e4e]

WARNING (lattice-lmrescore[5.5.999~1545-d366a]:Close():kaldi-io.cc:515) Pipe fstproject --project_output=true /home/kjs/zeroth/G.fst | had nonzero return status 256
kaldi::KaldiFatalErrorlattice-best-path --word-symbol-table=/home/kjs/zeroth/words.txt ark:- ark,t:-
lattice-copy 'ark:gunzip -c /home/kjs/out/lmre_lat.1.gz|' ark:-
LOG (lattice-copy[5.5.999~1545-d366a]:main():lattice-copy.cc:225) Done copying 0 lattices.
ERROR: SymbolTable::ReadText: Can't open file /home/kjs/zeroth/words.txt
ERROR (lattice-best-path[5.5.999~1545-d366a]:main():lattice-best-path.cc:73) Could not read symbol table from file /home/kjs/zeroth/words.txt

[ Stack-Trace: ]
lattice-best-path(kaldi::MessageLogger::LogMessage() const+0x77b) [0x5609aa591d97]
lattice-best-path(kaldi::MessageLogger::LogAndThrow::operator=(kaldi::MessageLogger const&)+0x25) [0x5609aa4cbf13]
lattice-best-path(main+0x419) [0x5609aa4c9182]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f93e17d10b3]
lattice-best-path(_start+0x2e) [0x5609aa4c8cae]

SH Lee

unread,
Jan 10, 2022, 1:52:09 AM1/10/22
to zeroth-help
혹시 decode.sh 파일을 어떻게 편집하셨나요?

에러는 모델 파일들을 제대로 불러오지 못해 발생한 것 같습니다.
경로를 이상하게 입력했거나 경로를 불러오는 부분을 편집하시면서 문제가 생겼을 것 같네요.

원래대로의 decode.sh 파일을 사용할 때는 
먼저 local/export.sh를 실행해서 학습이 완료된 모델 파일들을 하나로 모은 뒤 그 디렉토리 경로를 decode.sh의 입력 파라미터로 넣습니다.
경로 부분을 살펴보시면 문제를 해결할 수 있을 것입니다.

2022년 1월 6일 목요일 오전 9시 24분 53초 UTC+9에 jisan...@gmail.com님이 작성:

김지상

unread,
Jan 20, 2022, 11:18:25 PM1/20/22
to zeroth-help
먼저 답변 주셔서 감사합니다. 

export.sh 파일에서 final_graph_dir 포함 13~16번째 줄의 내용을 수정 해보라는 말씀이시죠?
하지만 filnal_graph_dir 에서 s5/exp/ 안에 chain_rvb 폴더가 존재하지 않습니다.
이전에 run_openslr.sh 에서 뭔가 문제가 있었던 걸까요? 

ERROR (online2-wav-nnet3-latgen-faster[5.5.999~1545-d366a]:ReadConfigFile():parse-options.cc:462) Cannot open config file: /home/kjs/zeroth/conf/online.conf

online.conf 파일도 존재하지 않습니다. 
2022년 1월 10일 월요일 오후 3시 52분 9초 UTC+9에 SH Lee님이 작성:

SH Lee

unread,
Jan 21, 2022, 12:22:53 AM1/21/22
to zeroth-help
run_openslr.sh 스크립트를 따로 수정하지 않으셨는데
s5/exp/ 디렉토리 아래에 chain_rvb 디렉토리가 생성되지 않았다면 학습이 정상적으로 완료되지 않은 것입니다.

run_openslr.sh의 마지막 부분을 보시면 online chain training 하는 부분이 존재합니다.
local/chain/multi_condition/run_tdnn_1n.sh 스크립트를 실행해 진행됩니다.

chain_rvb 디렉토리가 제 기억이 맞다면 이 스크립트의 stage 10정도부터 생성됩니다. 
학습 로그가 남아있다면 이 부분에서 오류가 없는지 체크해보시기 바랍니다.

또 online.conf 파일도 이 스크립트의 마지막 스테이지인 14에서 디코딩하기 전에 steps/online/nnet3/prepare_online_decoding.sh 스크립트로 생성되는 걸로 알고 있습니다. 애초에 chain_rvb가 생성이 안되었다면 그 이후의 작업들도 진행이 안되었을 것입니다.

학습 로그를 올려주시면 더 도움을 드릴 수 있습니다.
로그가 남아있지 않다면 생성된 디렉토리와 파일들을 일일히 체크해서 어느 단계에서 멈췄는지 판단하셔야 합니다.
많이 급하시지 않다면 새롭게 학습을 시작해 로그를 남기시는 것도 방법입니다.

2022년 1월 21일 금요일 오후 1시 18분 25초 UTC+9에 jisan...@gmail.com님이 작성:
Reply all
Reply to author
Forward
0 new messages