我使用tf.PaddingFIFOQueue
或tf.contrib.data.PaddedBatchDataset
來饋入不同長度的序列和dequeue_many
以獲得零填充的批量。從PaddingFIFOQueue獲得動態序列長度
有沒有一些通用的方法來獲得該批次的序列長度?
我目前的解決方案是明確提供序列長度作爲隊列的附加輸入,即我有像tf.PaddingFIFOQueue(names=["data", "seq_length"], ...)
。我也可以使用tf.ones_like()
,但我目前的方式似乎更便宜,更簡單。但我想知道這是否是規範的/標準的方式,或者是否有其他方法。
你能用一些代碼來說明你的問題嗎?爲什麼生成的張量上的'.get_shape()'不適用於你的情況? – sygi
@sygi:get_shape將返回(batch,max_length,...),因爲它是零填充的。那麼我現在如何獲得每個序列的長度? – Albert
你能否假設原始句子沒有結尾0? – sygi