【发布时间】:2020-02-08 12:14:17
【问题描述】:
我有一个包含 8760 个样本的时间数据集。不知道有没有办法以step为1来批量,即:第一批包含No.1到4,第二批包含No.2到5,第三批包含No.3到6等
【问题讨论】:
标签: python tensorflow tensorflow-datasets
我有一个包含 8760 个样本的时间数据集。不知道有没有办法以step为1来批量,即:第一批包含No.1到4,第二批包含No.2到5,第三批包含No.3到6等
【问题讨论】:
标签: python tensorflow tensorflow-datasets
由于您只有 8760 个样本,您可能可以负担(就 RAM 成本而言)最简单的解决方案 - 只需使用普通 Python 代码转换您的数据:
dataset = [sample1, sample2, ... sample8760]
transformed_dataset = []
for i in range(len(dataset) - 3):
transformed_dataset.append(dataset[i:i + 4])
如果您无法将数据集存储在内存中,请尝试使用生成器函数(从 TF 2.1 开始,您可以将生成器直接传递给 model.fit():
def dataset_generator():
for i in range(len(dataset) - 3):
yield dataset[i:i + 4]
【讨论】: