![](/img/trans.png)
[英]How to calculate accuracy in training RNN language model in Tensorflow?
[英]What is the input to an RNN language model (TensorFlow)?
我想在TensorFlow中建立一個遞歸神經網絡(RNN),以預測單詞序列中的下一個單詞。 我看過一些教程,例如TensorFlow之一 。 我知道訓練文本中的每個單詞都映射到一個整數索引。 但是,關於輸入,還有一些我沒有得到的東西:
批量訓練網絡,例如同時訓練128個示例。 假設我們的詞匯中有10.000個單詞。 輸入到網絡的矩陣是大小為(128,sequence_length)的矩陣還是單點編碼的張量(128,sequence_length,10.000)?
第二維(即序列長度)有多大? 我是否在批處理的每一行中使用一個句子,將比其他句子短的句子填充零?
還是一行可以對應多個句子? 例如,一行可以代表“這是一個測試句子。怎么樣?”? 如果是這樣,第二句話在哪里繼續? 在同一批次的下一行中? 還是在下一批的同一行中? 如何保證TensorFlow正確地繼續句子?
即使這些問題很簡單,我也無法找到答案。 我希望有人能幫幫忙!
是。 它是3維向量(128,sequence_length,10.000)
是。 您應該填充句子以使其長度相同。 並且您可以使用tf.nn.dynamic_rnn
並且它可以基於tf.while
處理可變長度的tf.while
。 有一篇很棒的文章討論了這個問題。 https://danijar.com/variable-sequence-lengths-in-tensorflow/您可以在tensorflow dynamic_rnn和rnn之間有什么區別?
可能。 但網絡不知道該句子是否已連接。 它只是將一行視為一句話。 因此,結果將毫無意義。
希望這個答案對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.