Tensorflow: путаница в выводе tf.nn.ctc_beam_search_decoder - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь понять tf.nn.ctc_beam_search_decoder, поэтому я написал следующий код:

import tensorflow as tf
import numpy as np

mat = np.array([[1,0,0,0],[0,1,0,0],[0,0,1,0]]).reshape((3,1,4))
input_sequence = [3]
sess = tf.InteractiveSession()
decoded, _ = tf.nn.ctc_beam_search_decoder(inputs=mat, sequence_length=input_sequence)
tf.global_variables_initializer().run()
print(sess.run(decoded)[0].values)

и вывод:

[0 2]

что сбивает с толку. Согласно документу , decoded[j].values должен возвращать классы, декодированные декодером поиска луча. Поскольку входная вероятностная матрица является единичной матрицей, если последний столбец был исключен (что соответствует пустому символу), не должен ли путь выходного класса быть [0 1 2]?

...