user740857
user740857

Reputation: 495

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)?

Upvotes: 12

Views: 6076

Answers (1)

Alexandre Passos
Alexandre Passos

Reputation: 5206

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.

Upvotes: 7

Related Questions