eesen icon indicating copy to clipboard operation
eesen copied to clipboard

Error Decoding : Tedlium example

Open aheba opened this issue 7 years ago • 7 comments

Hi, I'm trying to run Tedlium example with LSTM & CTC on phonemes. The training work well when running run_ctc_phn.sh but for decoding step, I have this error : decode_dev/log/decode.1.log :

LOG (net-output-extract:ClassPrior():class-prior.cc:33) Computing class-priors f rom : exp/train_phn_l5_c320/label.counts apply-cmvn --norm-vars=true --utt2spk=ark:data/dev/split8/1/utt2spk scp:data/dev/split8/1/cmvn.scp scp:data/dev/split8/1/feats.scp ark:- add-deltas ark:- ark:- ERROR (net-output-extract:SubtractOnLogpost():class-prior.cc:86) Dimensionality mismatch, class_frame_counts 46 class_output_llk 47

How do you compute class_output_llk ?

aheba avatar Feb 19 '18 19:02 aheba

For more details. "label.counts" file have 46 values rather than the nnet.topo which have 47 softmax !!

aheba avatar Feb 20 '18 12:02 aheba

Did you solve this issue? I currently have the same issue.

pplantinga avatar Jan 11 '19 16:01 pplantinga

Can you describe where exactly this occurs, specifically which branch and which script? Fundamentally, we have 46 phones, but 47 CTC outputs, because index 0 is the blank. The counts file is defined for all phones, but as explained in the paper, we derive the counts for blank by inserting one blank between every two phones, so in practice the count for blank is the sum of all the other phones' counts. So, if the 46 phone counts are "1 3", then the 47 "augmented" counts are "4 1 3". This is normally taken care of - but maybe you need to add this to your code. Let me know if this does not make sense - I'll be happy to fix it if you let me know where it dies ("it works for me").

fmetze avatar Jan 13 '19 02:01 fmetze

I should have been more clear. I have a similar (but not exactly the same) issue. I am working on a different dataset, and trying to create a new recipe by copying parts of other recipes. The error I came across actually had 72 classes and 70 outputs. I understand that this is probably not enough info to help with this problem, I was just trying to get some ideas of things others had tried.

pplantinga avatar Jan 14 '19 15:01 pplantinga

For others coming across this issue, my issue seems to be that sometimes noise symbols are ignored, and sometimes they aren't.

pplantinga avatar Jan 14 '19 20:01 pplantinga

Which branch are you seeing this problem with?

fmetze avatar Jan 19 '19 02:01 fmetze

What I am working on is not a current branch in eesen, so perhaps Stack overflow would have been a better place to bring this up. FWIW I solved the issue by removing the "ignore_noises" flags on the prepare_phn_dict.py script.

pplantinga avatar Jan 22 '19 17:01 pplantinga