我正在尝试解决如何将数据提供给我的 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
提交
取消