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 | 3-мерный float тензор размера Tensor, содержащий [max_time, batch_size, num_classes] логарифмические вероятности. |
sequence_length | 1-мерный 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