tf.nn.ctc_greedy_decoder
| Просмотреть исходный код на GitHub |
Выполняет жадное декодирование логарифмических вероятностей, указанных на входе (лучший путь).
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 | 3-мерный тензор float размера Tensor типа [max_time, batch_size, num_classes]. Логарифмические вероятности. |
sequence_length | 1-мерный вектор, содержащий длины последовательностей, размера [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, содержащий декодированные выходные данные s.t.:
|
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/versions/r2.9/api_docs/python/tf/nn/ctc_greedy_decoder