Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CTC Loss InvalidArgumentError: sequence_length(b) <= time

I am running into this error while trying to use tf.nn.ctc_loss through keras (ctc_batch_cost):

InvalidArgumentError (see above for traceback): sequence_length(4) <= 471

According to the documentation for tf.nn.ctc_loss, Input requirements are:

sequence_length(b) <= time for all b

max(labels.indices(labels.indices[:, 1] == b, 2)) <= sequence_length(b) for all b.

I am having a hard time understanding what this means-- what is b and what is sequence_length(b)?

like image 855
user740857 Avatar asked Apr 15 '17 06:04

user740857


1 Answers

In this case b is each example in a minibatch. sequence_length(b) is the number of time stamps you have for that example. This is specified in the sequence_length argument passed to tf.nn.ctc_loss which is a 1-d tensor of sequence lengths.

like image 146
Alexandre Passos Avatar answered Oct 19 '22 07:10

Alexandre Passos