TensorFlow 2 version | 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
)
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
ifmerge_repeated = True
.A B B B
ifmerge_repeated = False
.
Args | |
---|---|
inputs
|
3-D float Tensor , size [max_time x batch_size x num_classes] .
The logits.
|
sequence_length
|
1-D 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 log-probabilities.
|