在Tensorflow中设置重叠数据的培训?

时间:2018-09-11 01:13:45

标签: tensorflow machine-learning neural-network

我正在尝试训练神经网络以使用时间序列数据进行预测。我正在尝试训练一个神经网络来预测未来10分钟的温度,可以说我每5分钟就有一个温度数据点,我想给它提供15分钟的数据,以用于预测和有这个。

[1,2,3,4,5,6,7,8,9,10,11,12]

因此,如果我要训练数据,则一个潜在的训练样本是[1,2,3]作为x,[5]作为y(因为距未来10分钟(两个5分钟的步长))。

我想要一种训练所有可能的输入的方法,如下。

[1,2,3][5]
[2,3,4][6]
[3,4,5][7]
[4,5,6][8]
[5,6,7][9]
[6,7,8][10]
[7,8,9][11]
[8,9,10][12]

但是我不想通过先将每个可能的示例保存到磁盘然后再从中进行培训来进行培训。由于复制了数据,因此占用的空间超过了所需的空间。我想在某种形式的数据预处理中做到这一点。

我发现的使用tensorflow输入管道的所有说明和示例,例如此处https://www.tensorflow.org/guide/datasets都使用“非重叠”数据,我找不到任何可以解决我的情况的东西。

我遇到的问题是我真的不知道如何在不将大量重复数据保存到磁盘的情况下在tensorflow中设置此重叠数据方案。如果有人有任何链接或指南来帮助您做到这一点,我非常感谢您。

1 个答案:

答案 0 :(得分:1)

您可能正在寻找这种转变:https://www.tensorflow.org/api_docs/python/tf/contrib/data/sliding_window_batch

tf.contrib.data.sliding_window_batch(window_size=3, stride=1)