View source on GitHub 
Performs beam search decoding on the logits given in input.
tf.nn.ctc_beam_search_decoder( inputs, sequence_length, beam_width=100, top_paths=1, merge_repeated=True )
Note: Thectc_greedy_decoder
is a special case of thectc_beam_search_decoder
withtop_paths=1
andbeam_width=1
(but that decoder is faster for this special case).
If merge_repeated
is 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:
A B
if merge_repeated = True
.A B B B
if merge_repeated = False
.Args  

inputs  3D float Tensor , size [max_time x batch_size x num_classes] . The logits. 
sequence_length  1D int32 vector containing sequence lengths, having size [batch_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. 
Returns  

A tuple (decoded, log_probabilities) where  
decoded  A list of length top_paths, where decoded[j] is a SparseTensor containing the decoded outputs:

log_probability  A float matrix (batch_size x top_paths) containing sequence logprobabilities. 
© 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/r1.15/api_docs/python/tf/nn/ctc_beam_search_decoder