Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error Decoding : Tedlium example #172

Open
aheba opened this issue Feb 19, 2018 · 7 comments
Open

Error Decoding : Tedlium example #172

aheba opened this issue Feb 19, 2018 · 7 comments

Comments

@aheba
Copy link

aheba commented Feb 19, 2018

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
Copy link
Author

aheba commented Feb 20, 2018

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

@pplantinga
Copy link

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

@fmetze
Copy link
Contributor

fmetze commented Jan 13, 2019

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").

@pplantinga
Copy link

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
Copy link

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

@fmetze
Copy link
Contributor

fmetze commented Jan 19, 2019

Which branch are you seeing this problem with?

@pplantinga
Copy link

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants