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
3-D floatTensor, 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:
decoded[j].indices: Indices matrix (total_decoded_outputs[j] x 2)
The rows store: [batch, time].
decoded[j].values: Values vector, size (total_decoded_outputs[j]).
The vector stores the decoded classes for beam j.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.nn.ctc_beam_search_decoder\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 2 version](/api_docs/python/tf/nn/ctc_beam_search_decoder) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/ops/ctc_ops.py#L258-L317) |\n\nPerforms beam search decoding on the logits given in input.\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.nn.ctc_beam_search_decoder`](/api_docs/python/tf/compat/v1/nn/ctc_beam_search_decoder)\n\n\u003cbr /\u003e\n\n tf.nn.ctc_beam_search_decoder(\n inputs, sequence_length, beam_width=100, top_paths=1, merge_repeated=True\n )\n\n| **Note:** The `ctc_greedy_decoder` is a special case of the `ctc_beam_search_decoder` with `top_paths=1` and `beam_width=1` (but that decoder is faster for this special case).\n\nIf `merge_repeated` is `True`, merge repeated classes in the output beams.\nThis means that if consecutive entries in a beam are the same,\nonly the first of these is emitted. That is, when the sequence is\n`A B B * B * B` (where '\\*' is the blank label), the return value is:\n\n- `A B` if `merge_repeated = True`.\n- `A B B B` if `merge_repeated = False`.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|-------------------|---------------------------------------------------------------------------------|\n| `inputs` | 3-D `float` `Tensor`, size `[max_time x batch_size x num_classes]`. The logits. |\n| `sequence_length` | 1-D `int32` vector containing sequence lengths, having size `[batch_size]`. |\n| `beam_width` | An int scalar \\\u003e= 0 (beam search beam width). |\n| `top_paths` | An int scalar \\\u003e= 0, \\\u003c= beam_width (controls output size). |\n| `merge_repeated` | Boolean. Default: True. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| A tuple `(decoded, log_probabilities)` where ||\n| `decoded` | A list of length top_paths, where `decoded[j]` is a `SparseTensor` containing the decoded outputs: \u003cbr /\u003e `decoded[j].indices`: Indices matrix `(total_decoded_outputs[j] x 2)` The rows store: \\[batch, time\\]. `decoded[j].values`: Values vector, size `(total_decoded_outputs[j])`. The vector stores the decoded classes for beam j. `decoded[j].dense_shape`: Shape vector, size `(2)`. The shape values are: `[batch_size, max_decoded_length[j]]`. |\n| `log_probability` | A `float` matrix `(batch_size x top_paths)` containing sequence log-probabilities. |\n\n\u003cbr /\u003e"]]