tf.data.Dataset с пошаговыми партиями - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть временной набор данных из 8760 образцов. Интересно, есть ли способ дозировать его с шагом 1, то есть: первая партия содержит от 1 до 4, вторая партия содержит от 2 до 5, третья партия содержит от 3 до 6 et c.

1 Ответ

0 голосов
/ 08 февраля 2020

Поскольку у вас есть только 8760 семплов, вы, вероятно, можете себе позволить (с точки зрения стоимости ОЗУ) самое простое из возможных решений - просто преобразуйте свои данные, используя обычный код 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]
...