Performs greedy decoding on the logits given in inputs.

    inputs, sequence_length, merge_repeated=False, name=None

A note about the attribute merge_repeated: if enabled, when consecutive logits' maximum indices are the same, only the first of these is emitted. Labeling the blank '*', the sequence "A B B * B B" becomes "A B B" if merge_repeated = True and "A B B B B" if merge_repeated = False.

Regardless of the value of merge_repeated, if the maximum index of a given time and batch corresponds to the blank, index (num_classes - 1), no new element is emitted.


  • inputs: A Tensor. Must be one of the following types: float32, float64. 3-D, shape: (max_time x batch_size x num_classes), the logits.
  • sequence_length: A Tensor of type int32. A vector containing sequence lengths, size (batch_size).
  • merge_repeated: An optional bool. Defaults to False. If True, merge repeated classes in output.
  • name: A name for the operation (optional).


A tuple of Tensor objects (decoded_indices, decoded_values, decoded_shape, log_probability).

  • decoded_indices: A Tensor of type int64.
  • decoded_values: A Tensor of type int64.
  • decoded_shape: A Tensor of type int64.
  • log_probability: A Tensor. Has the same type as inputs.