0
我是這個主題的初學者,如果懷疑似乎很愚蠢,對不起。使用Tensorflow後端的CTC Beam Seach
keras文檔和tensorflow提供了一個函數ctc_decode,它對網絡輸出進行ctc束搜索解碼。該文檔不提供解碼器的示例用法。 https://github.com/igormq/ctc_tensorflow_example/blob/master/ctc_tensorflow_example.py提供了一個示例用法,但我無法檢索解碼的文本轉錄。
打印輸出張量時,有一些問題在打印輸出張量時出現,但由於張量輸出的形狀(?,?)沒有得到任何輸出。
>>> pred.shape
(1, 489, 29)
>>> dec, logp = K.ctc_decode(K.variable(pred, dtype='float32'),
K.variable([489],dtype='int32'),greedy=False)
>>> dec
[<tf.Tensor 'SparseToDense:0' shape=(?, ?) dtype=int64>]
>>> dec[0]
<tf.Tensor 'SparseToDense:0' shape=(?, ?) dtype=int64>
>>> s = tf.Session()
>>> s.run(tf.global_variables_initializer())
>>> print dec[0].eval(session=s)
[[0]]
pred是神經網絡的輸出。請幫助我理解錯誤是什麼,因爲我認爲我應該獲取解碼預測字符的數值,但我得到的是[[0]]。
謝謝!