我所说的tf.nn.ctc_loss是属于tensorflow 1.13.1的:
tf.nn.ctc_loss(labels, inputs, sequence_length,
preprocess_collapse_repeated=False,
ctc_merge_repeated=True,
ignore_longer_outputs_than_inputs=False, time_major=True)
首先,放一段简单的tf.nn.ctc_loss的应用的代码:
import tensorflow as tf
from tensorflow.python.keras.backend import ctc_label_dense_to_sparse
y_true = tf.constant([[1, 2, 3, 5, 6]], dtype=tf.int32) # shape(1, 3)
y_true_len = tf.constant([3], dtype=tf.int32) # shape(1,)
y_true_sparse = ctc_label_dense_to_sparse(labels=y_true, label_lengths=y_true_len) # dense_shape(1, 3)
y_pred = tf.constant([[[0, 8, 4, 9, 6]], [[0, -2, -4, 9, 5]], [[2, 3, 4, 5, 6]]], dtype=tf.float32) # shape(3, 1, 5)
y_pred_len = tf.constant([3], dtype=tf.int32) # shape(1, )
ctcloss = tf.