亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Keras LSTM - 使用來自生成器的 Tensorflow 數據集 API 提供序列數據

Keras LSTM - 使用來自生成器的 Tensorflow 數據集 API 提供序列數據

海綿寶寶撒 2021-06-18 22:16:27
我正在嘗試解決如何將數據提供給我的 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參數在這里應該做什么?
查看完整描述

1 回答

?
Helenr

TA貢獻1780條經驗 獲得超4個贊

我認為這個答案可能與您要尋找的很接近!

您可以通過在窗口上滑動來創建批次,然后在您的案例中隨機播放輸入。數據集 api的shuffle函數有一個 reshuffle_after_each_iteration 參數,如果您想嘗試設置隨機種子并查看混洗輸出的順序,您可能希望將其設置為 False。


查看完整回答
反對 回復 2021-06-22
  • 1 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號