tf.nn.ctc_beam_search_decoder( inputs, sequence_length, beam_width=100, top_paths=1, merge_repeated=True )
See the guide: Neural Network > Connectionist Temporal Classification (CTC)
Performs beam search decoding on the logits given in input.
ctc_greedy_decoder is a special case of the
that decoder is faster for this special case).
True, merge repeated classes in the output beams.
This means that if consecutive entries in a beam are the same,
only the first of these is emitted. That is, when the sequence is
A B B * B * B (where '*' is the blank label), the return value is:
merge_repeated = True.
A B B Bif
merge_repeated = False.
[max_time x batch_size x num_classes]. The logits.
int32vector containing sequence lengths, having size
beam_width: An int scalar >= 0 (beam search beam width).
top_paths: An int scalar >= 0, <= beam_width (controls output size).
merge_repeated: Boolean. Default: True.
(decoded, log_probabilities) where
decoded: A list of length top_paths, where
SparseTensor containing the decoded outputs:
decoded[j].indices: Indices matrix
(total_decoded_outputs[j] x 2)
The rows store: [batch, time].
decoded[j].values: Values vector, size
The vector stores the decoded classes for beam j.
decoded[j].dense_shape: Shape vector, size
The shape values are:
(batch_size x top_paths) containing