tf.data.Dataset with stepping batchs

问题描述 投票:0回答:1

我有一个8760个样本的时间数据集。我想知道是否有一种方法可以以1的步骤进行批处理,即:第一批包含1至4,第二批包含2至5,第三批包含3至3。 6等

python tensorflow tensorflow-datasets
1个回答
0
投票

由于您只有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]
© www.soinside.com 2019 - 2024. All rights reserved.