From: Wael Abd-A. <wam...@is...> - 2014-03-05 19:01:23
|
Thanks Dan. It appears that this problem is due to some problem generating transcription FST from utf-8-encoded transcriptions. The transcription files I have are in Arabic and I generated lexicon and phones and other files properly. For some reason, “compiling training graphs” for the arabic transcriptions along with the lexicon files generates a much larger number of arcs. When I use English “transliterations” it works well. I think it might be a problem handling utf-8-encoded files. Thanks Wael On Mar 3, 2014, at 12:24 PM, Daniel Povey <dp...@gm...> wrote: > That error is generally because you had a too-long transcription of a too-short utterance. > Are you sure you're not just skipping some lines of the printed output when you paste your output? > That output makes no sense to me otherwise. > If not, it could be a memory problem-- run in valgrind to test: > valgrind --args <program> <args> > I doubt this code is buggy as it's very old and always used. Possibly a compiler or machine issue. > Dan > > > > On Fri, Feb 28, 2014 at 6:21 PM, Wael Abd-Almageed <wam...@is...> wrote: > Hi > > I am using Kaldi in an OCR project, but it is my first time using Kaldi. > > For some of my utterances, Kaldi fails to align as follows: > > EqualAlign: utterance has too to frames 222 to align. > > > I tried to debug it and if fails at the following condition in fstext-utils-inl.h > if (num_ilabels > length) { > cout << "Exiting .." <<endl; > KALDI_WARN << "EqualAlign: utterance has too to frames " << length > << " to align." << num_ilabels <<"\n"; > return false; // can't make it shorter by adding self-loops!. > } > > I added some debugging lines to EqualAlign function and it appears that num_ilabels suddenly increases for some reason which makes EqualAlign fail. Here is a trace of the value of num_ilabels and another variable “x” that I defined in the function. > > Before while --------- > in while .. x = 0 > in if .. > incrementing num_ilabels .. before = 0 ... after = 1 > in while .. x = 1 > in if .. > in while .. x = 2 > in if .. > in while .. x = 3 > in if .. > incrementing num_ilabels .. before = 1 ... after = 2 > in while .. x = 4 > in if .. > incrementing num_ilabels .. before = 2 ... after = 3 > in while .. x = 5 > in if .. > in while .. x = 6 > in if .. > in while .. x = 7 > in if .. > incrementing num_ilabels .. before = 3 ... after = 4 > in while .. x = 8 > in if .. > in while .. x = 9 > in if .. > in while .. x = 10 > in if .. > incrementing num_ilabels .. before = 4 ... after = 5 > in while .. x = 622 > in if .. > incrementing num_ilabels .. before = 298 ... after = 299 > in while .. x = 623 > in if .. > in while .. x = 624 > in if .. > incrementing num_ilabels .. before = 299 ... after = 300 > in while .. x = 625 > in if .. > in while .. x = 626 > Exiting .. > > My modifications to debug the code are as follows: > cout << "in while .. x = "<<x++<<std::endl; > > > if (arc_offset < num_arcs) > { // an actual arc. > cout << "\t in if ..\n"; > ArcIterator<Fst<Arc> > aiter(ifst, s); > aiter.Seek(arc_offset); > const Arc &arc = aiter.Value(); > if (arc.nextstate == s) > { > continue; // don't take this self-loop arc > } > else > { > arc_offsets.push_back(arc_offset); > path.push_back(arc.nextstate); > if (arc.ilabel != 0) > { > cout<<"\t\t incrementing num_ilabels .. before = "<< num_ilabels; > //num_ilabels++; > num_ilabels=num_ilabels+1; > cout << " ... after = "<<num_ilabels <<"\n"; > } > } > } > else > { > break; // Chose final-prob. > } > } > > > > I would appreciate if you can help. > > Best regards, > > Wael > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce. > With Perforce, you get hassle-free workflows. Merge that actually works. > Faster operations. Version large binaries. Built-in WAN optimization and the > freedom to use Git, Perforce or both. Make the move to Perforce. > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk > _______________________________________________ > Kaldi-developers mailing list > Kal...@li... > https://lists.sourceforge.net/lists/listinfo/kaldi-developers > > |