Spec-Zone.ru › TensorFlow 1.15

tf.contrib.timeseries.RandomWindowInputFn

Оборачивает TimeSeriesReader для создания случайных наборов окон.

tf.contrib.timeseries.RandomWindowInputFn(
    time_series_reader, window_size, batch_size, queue_capacity_multiplier=1000,
    shuffle_min_after_dequeue_multiplier=2, discard_out_of_order=True,
    discard_consecutive_batches_limit=1000, jitter=True, num_threads=2,
    shuffle_seed=None
)

Тензоры сначала собираются в последовательные окна (в очереди окон, созданной функцией tf.compat.v1.train.batch, на основе порядка, возвращаемого time_series_reader), затем эти окна случайным образом объединяются в наборы (в RandomShuffleQueue). Тензоры, возвращаемые create_batch, имеют формы, начинающиеся с [batch_size, window_size].

Эта функция TimeSeriesInputFn полезна как для обучения, так и для количественного оценивания (но не забудьте запустить несколько эпох для последовательных моделей, таких как StructuralEnsembleRegressor, чтобы полностью очистить устаревшие состояния, оставшиеся после обучения). Для качественного оценивания или при подготовке к прогнозированию используйте WholeDatasetInputFn.

Аргументы
time_series_reader Объект TimeSeriesReader.
window_size Количество примеров, которые нужно хранить последовательно. Это контролирует длину усеченного обратного распространения: меньшие значения означают меньший объём последовательных вычислений, что может привести к более быстрому обучению, но создаёт более грубое приближение градиента (который в идеале вычисляется с помощью прямого прохода по всей последовательности).
batch_size Количество окон, которые нужно объединить в пакет. Большие значения приведут к более стабильным градиентам во время обучения.
queue_capacity_multiplier Ёмкость очередей, используемых для создания пакетов, указанная как кратное batch_size (для RandomShuffleQueue) и batch_size * window_size (для FIFOQueue). Контролирует максимальное количество хранящихся окон. Должно быть больше, чем shuffle_min_after_dequeue_multiplier.
shuffle_min_after_dequeue_multiplier Минимальное количество окон в RandomShuffleQueue после декьюинга, которое контролирует количество энтропии, вводимой при пакетном формировании. Указано как кратное batch_size.
discard_out_of_order Если True, окна данных, у которых время уменьшается (более позднее время следует за более ранним), отбрасываются. Если False, окно и связанные с ним признаки вместо этого сортируются таким образом, чтобы время было не убывающим. Отбрасывание обычно быстрее, так как модели не нужно иметь дело с искусственными разрывами в данных. Однако отбрасывание создает смещение, при котором начальные и конечные части файлов недовыбираются.
discard_consecutive_batches_limit Вызывает OutOfRangeError, если более этого числа пакетов отбрасывается без единого неотброшенного окна (предотвращает бесконечные циклы, когда набор данных слишком мал).
jitter Если True, случайным образом отбрасывает примеры между некоторыми окнами, чтобы избежать детерминированных шаблонов формирования блоков. Это важно для моделей, таких как AR, которые в противном случае могут переобучиться к фиксированным шаблонам формирования блоков.
num_threads Используйте это количество потоков для очередей. Установка значения 1 удаляет один источник недетерминированности (и в сочетании со shuffle_seed должна обеспечивать детерминированное формирование окон).
shuffle_seed Семена для перемешивания окон. Значение по умолчанию None обеспечивает случайное поведение. С установленным shuffle_seed и num_threads=1 обеспечивает детерминированное поведение.

Методы

create_batch

Посмотреть исходный код

create_batch()

Создаёт очереди для формирования окон и пакетирования данных временных рядов.

Возвращает
Словарь тензоров, соответствующих выводу self._reader (из аргумента конструктора time_series_reader), каждый с формами, начинающимися с [batch_size, window_size].

__call__

Посмотреть исходный код

__call__()

Вызов self как функции.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/contrib/timeseries/RandomWindowInputFn

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API