code: def build_loss(model_logits, sparse_targets):
    
    time_major_shape = [FLAGS.unroll_steps, FLAGS.batch_size]
    flat_batch_shape = [FLAGS.unroll_steps * FLAGS.batch_size, -1]
    xent = tf.nn.sparse_softmax_cross_entropy_with_logits(
        logits=tf.reshape(model_logits, flat_batch_shape),
        labels=tf.reshape(sparse_targets, flat_batch_shape[:-1]))
    xent = tf.reshape(xent, time_major_shape)
    # Sum over the sequence.
    sequence_neg_log_prob = tf.reduce_sum(xent, axis=0)
    # Average over the batch.
    return tf.reduce_mean(sequence_neg_log_prob, axis=0)
docs: Compute the log loss given predictions and targets.