2016-06-29 103 views
1

我正在訓練張量流中的RNN。使用的功能是從https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/rnn.py「rnn」。用大數據集訓練張量流RNN

outputs, states = rnn.rnn(cell, inputs, initial_state=initial_state, sequence_length=seq_length) 

我使用這個函數的原因是因爲我的數據序列的長度是可變的。該功能期望所有數據一次加載。由於我的數據一次不適合內存,我需要一塊一塊地加載數據。任何關於如何完成的指針都會受到高度讚賞。

感謝

回答

2

這裏的標準做法是向上突破你的數據分割成塊,並在時間上它的工作一大塊。例如,如果您使用的是文本,則可能會將數據分解爲句子,並將小批量的10到100個句子一次一個地傳遞給訓練過程。

有關如何執行此操作的示例,請參閱此RNN教程。

https://www.tensorflow.org/versions/r0.9/tutorials/recurrent/index.html

本教程的文字本身並不詳細描述組塊,但看看在GitHub上的相關代碼,看看它是如何加載其輸入數據和批處理它進行訓練。

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/models/rnn/ptb

希望幫助!

+0

感謝您的回答。我還發現在rnn.py中使用dynamic_rnn非常有用,如果你的數據有很大的序列。 – jvc