-
Notifications
You must be signed in to change notification settings - Fork 217
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
Training with custom CTC topology (with no blanks) #1222
Comments
The first column is designed for final arc (label = -1) in k2 fsa, see k2/k2/python/k2/dense_fsa_vec.py Lines 24 to 41 in 42e92fd
|
hi, i am working this problem now, do you now how to train a ctc model without blank? |
You could maybe fake it by setting the blank logprob to -inf before the
log_softmax, it may have the same effect.
…On Mon, Jul 29, 2024, 8:23 PM GCQiu ***@***.***> wrote:
hi, i am working this problem now, do you now how to train a ctc model
without blank?
—
Reply to this email directly, view it on GitHub
<#1222 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAZFLOYYUGRIGDNACDVHELTZO4BMVAVCNFSM6AAAAABLVO6DK2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJXGM4DGMRRGU>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am trying to train an icefall model with phones as output units with a custom topology which resembles the "modified" CTC topology in k2, but without the blank symbol --> let's call this no-blank CTC. The idea is that instead of the "peaky" behavior that CTC shows, removing blank would force the phones to be better aligned with the acoustic frames.
I created the no-blank CTC topology, converted my texts into phone IDs, and then obtained the graph as follows:
Since I don't have a blank symbol, I created the nnet with only as many outputs as I have phone tokens. However, when I started training this with
k2.ctc_loss()
, I get infinity loss. This is not a training issue because I get this right at the start, i.e., when I compute the validation loss at the start. This suggests that the problem is with the arc scores in the composition most likely. On looking around in k2, I found the following:k2/k2/python/k2/autograd.py
Line 796 in 42e92fd
Why is the first column of the dense FSA always negative infinity? Also, if I want to train with such a topology, are there other changes which may be needed?
The text was updated successfully, but these errors were encountered: