View source on GitHub |
Computes CTC (Connectionist Temporal Classification) loss.
tf.nn.ctc_loss( labels, logits, label_length, logit_length, logits_time_major=True, unique=None, blank_index=None, name=None )
This op implements the CTC loss as presented in (Graves et al., 2016).
Args | |
---|---|
labels | tensor of shape [batch_size, max_label_seq_length] or SparseTensor |
logits | tensor of shape [frames, batch_size, num_labels], if logits_time_major == False, shape is [batch_size, frames, num_labels]. |
label_length | tensor of shape [batch_size], None if labels is SparseTensor Length of reference label sequence in labels. |
logit_length | tensor of shape [batch_size] Length of input sequence in logits. |
logits_time_major | (optional) If True (default), logits is shaped [time, batch, logits]. If False, shape is [batch, time, logits] |
unique | (optional) Unique label indices as computed by ctc_unique_labels(labels). If supplied, enable a faster, memory efficient implementation on TPU. |
blank_index | (optional) Set the class index to use for the blank label. Negative values will start from num_classes, ie, -1 will reproduce the ctc_loss behavior of using num_classes - 1 for the blank symbol. There is some memory/performance overhead to switching from the default of 0 as an additional shifted copy of the logits may be created. |
name | A name for this Op . Defaults to "ctc_loss_dense". |
Returns | |
---|---|
loss | tensor of shape [batch_size], negative log probabilities. |
Connectionist Temporal Classification - Labeling Unsegmented Sequence Data with Recurrent Neural Networks: Graves et al., 2016 (pdf)
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/nn/ctc_loss