我正在嘗試解決如何將數據提供給我的 LSTM 模型進行訓練。(我將在下面的示例中簡化問題。)我的數據集中的 csv 文件中有以下數據格式。Timestep Feature1 Feature2 Feature3 Feature4 Output1 1 2 3 4 a2 5 6 7 8 b3 9 10 11 12 c 4 13 14 15 16 d5 17 18 19 20 e6 21 22 23 24 f7 25 26 27 28 g8 29 30 31 32 h9 33 34 35 36 i10 37 38 39 40 j任務是根據過去 3 個時間步的數據估計任何未來時間步的輸出。一些輸入輸出示例如下:示例 1:輸入:Timestep Feature1 Feature2 Feature3 Feature4 1 1 2 3 4 2 5 6 7 8 3 9 10 11 12 輸出: c并且在將數據提供給模型時,我想以某種方式對數據進行混洗,以便在訓練時不提供連續序列。與其他詞,我非常想喂像時間步長的數據序列,3,4,5一步到位,也許時間步5,6,7在下一步,也許2,3,4在接下來的步驟,等等。而我最好不要喂的數據作為1,2,3第一, 然后2,3,4, 然后3,4,5, 等等...在訓練我的 LSTM 網絡時,我使用的是帶有 Tensorflow 后端的 Keras。我想在將數據提供給fit_generator(...)函數時使用生成器。我的愿望是使用 Tensorflow 的數據集 API 從 csv 文件中獲取數據。但是我不知道如何讓生成器返回我需要的東西。如果我使用 Tensorflow 的數據集 API 對數據進行混洗,則會破壞時間步長的順序。生成器還應該返回包含多個序列示例的批次。例如,如果批量大小為 2,則可能需要返回 2 個序列,如時間步長 2、3、4 和時間步長 6、7、8。希望我能解釋我的問題......是否可以在生成器函數中使用 Tensorflow 的數據集 API 來解決這樣的序列問題,以便我可以像上面解釋的那樣提供批量序列?(生成器需要返回帶有 shape [batch_size, length_of_each_sequence, nr_inputs_in_each_timestep]、 wherelength_of_each_sequence=3和nr_of_inputs_in_each_timestep=4我的示例中的數據。)或者是僅在 Python 中編寫生成器的最佳方法,也許使用 Pandas ..?我還不能在 csv 文件讀取上嘗試它,但我認為這種方法應該工作得很好!但在我看來,該reshuffle_each_iteration參數沒有任何區別。這真的需要嗎?設置為True或時,結果不一定相同False。這個reshuffle_each_iteration參數在這里應該做什么?
添加回答
舉報
0/150
提交
取消