tf.nn.ctc_greedy_decoder
Выполняет жадное декодирование входных логитов (наилучший путь).
tf.nn.ctc_greedy_decoder(
inputs, sequence_length, merge_repeated=True, blank_index=None
)
Если тензор задан как inputs, параметр blank_index определяет индекс класса пустого символа.
Например:
Если blank_index равно 1:
inf = float("inf")
logits = tf.constant([[[ 0., -inf, -inf],
[ -2.3, -inf, -0.1]],
[[ -inf, -0.5, -inf],
[ -inf, -inf, -0.1]],
[[ -inf, -inf, -inf],
[ -0.1, -inf, -2.3]]])
seq_lens = tf.constant([2, 3])
outputs = tf.nn.ctc_greedy_decoder(
logits,
seq_lens,
blank_index=1)Примечания:
- В отличие от
ctc_beam_search_decoder,ctc_greedy_decoderучитывает пустые символы как обычные элементы при вычислении вероятности последовательности. - По умолчанию
blank_indexимеет значение(num_classes - 1), если оно не переопределено.
Если merge_repeated имеет значение True, объединяет повторяющиеся классы в выходных данных. Это означает, что если максимальные индексы последовательных логитов совпадают, выводится только первый из них. Последовательность A B B * B * B (где '*' — метка пустого символа) преобразуется в
-
A B B B, еслиmerge_repeated=True. -
A B B B B, еслиmerge_repeated=False.
| Аргументы | |
|---|---|
inputs | 3D float Tensor размером [max_time, batch_size, num_classes]. Логиты. |
sequence_length | 1D-вектор int32, содержащий длины последовательностей, размером [batch_size]. |
merge_repeated | Логическое значение. По умолчанию: True. |
blank_index | (Необязательно). По умолчанию: num_classes - 1. Задает индекс класса для метки пустого символа. Отрицательные значения отсчитываются от num_classes, то есть значение -1 воспроизводит поведение ctc_greedy_decoder, при котором для пустого символа используется num_classes - 1; это значение используется по умолчанию. |
| Возвращает | |
|---|---|
Кортеж (decoded, neg_sum_logits), где | |
decoded | Список из одного элемента. decoded[0] — это SparseTensor, содержащее декодированные выходные данные, такие что:
|
neg_sum_logits | Матрица float (batch_size x 1), содержащая для найденной последовательности отрицательную сумму наибольших логитов на каждом временном шаге. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/nn/ctc_greedy_decoder