Настройка обучения в Tensorflow с перекрывающимися данными? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь обучить нейронную сеть прогнозировать, используя данные временных рядов. Я пытаюсь обучить нейронную сеть прогнозировать температуру через 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]

Но я не хочу тренироваться, сначала сохраняя каждый возможный пример на диск, а затем тренируясь из этого. Это занимает больше места, чем необходимо, поскольку данные дублируются. Я хотел бы сделать это в какой-то предварительной обработке данных.

Все инструкции и примеры, которые я нашел для использования входного конвейера тензорного потока, такие как здесь https://www.tensorflow.org/guide/datasets все используют «не перекрывающиеся» данные, я не могу найти ничего, чтобы иметь дело с моим сценарием.

Проблема, с которой я столкнулся, заключается в том, что я действительно не представляю, как настроить этот сценарий с перекрывающимися данными в тензорном потоке без сохранения огромных объемов дублированных данных на диск. Если у кого-то есть какие-либо ссылки или руководства о том, как это сделать, я бы очень признателен вам за это.

1 Ответ

0 голосов
/ 14 сентября 2018

Возможно, вы ищете это преобразование: https://www.tensorflow.org/api_docs/python/tf/contrib/data/sliding_window_batch

tf.contrib.data.sliding_window_batch(window_size=3, stride=1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...