tf.keras.preprocessing.sequence.TimeseriesGenerator
| Просмотреть исходный код на GitHub |
Утилитарный класс для генерации наборов временных данных.
Наследуется от: Sequence
tf.keras.preprocessing.sequence.TimeseriesGenerator(
data, targets, length, sampling_rate=1, stride=1, start_index=0, end_index=None,
shuffle=False, reverse=False, batch_size=128
)
Этот класс принимает последовательность точек данных, собранных с равными интервалами, а также параметры временного ряда, такие как шаг, длина истории и т. д., для создания наборов для обучения/валидации. Аргументы: data: Индексируемый генератор (например, список или массив NumPy), содержащий последовательные точки данных (шаги времени). Данные должны быть 2D, и ожидается, что ось 0 будет временной осью. targets: Цели, соответствующие шагам времени в data. Его длина должна совпадать с длиной data. length: Длина выходных последовательностей (в количестве шагов времени). sampling_rate: Период между последовательными отдельными шагами времени в последовательностях. Для значения r, шаги времени data[i], data[i-r], ... data[i - length] используются для создания образца последовательности. stride: Период между последовательными выходными последовательностями. Для значения шага s, последовательные выходные образцы будут сосредоточены вокруг data[i], data[i+s], data[i+2*s], и т. д. start_index: Точки данных, предшествующие start_index, не будут использоваться в выходных последовательностях. Это полезно для выделения части данных для тестирования или валидации. end_index: Точки данных, последующие за end_index, не будут использоваться в выходных последовательностях. Это полезно для выделения части данных для тестирования или валидации. shuffle: Нужно ли перемешивать выходные образцы или же их брать в хронологическом порядке. reverse: Булево: если true, шаги времени в каждом выходном образце будут в обратном хронологическом порядке. batch_size: Количество образцов временных рядов в каждом наборе (кроме, возможно, последнего). Возвращает: Экземпляр Sequence. Примеры:
from keras.preprocessing.sequence import TimeseriesGenerator
import numpy as np
data = np.array([[i] for i in range(50)])
targets = np.array([[i] for i in range(50)])
data_gen = TimeseriesGenerator(data, targets,
length=10, sampling_rate=2,
batch_size=2)
assert len(data_gen) == 20
batch_0 = data_gen[0]
x, y = batch_0
assert np.array_equal(x,
np.array([[[0], [2], [4], [6], [8]],
[[1], [3], [5], [7], [9]]]))
assert np.array_equal(y,
np.array([[10], [11]]))
Методы
get_config
get_config()
Возвращает конфигурацию TimeseriesGenerator в виде словаря Python.
| Возвращает | |
|---|---|
| Словарь Python с конфигурацией TimeseriesGenerator. |
on_epoch_end
on_epoch_end()
Метод, вызываемый в конце каждой эпохи.
to_json
to_json(
**kwargs
)
Возвращает строку JSON, содержащую конфигурацию генератора временных рядов. Для загрузки генератора из строки JSON используйте keras.preprocessing.sequence.timeseries_generator_from_json(json_string).
| Аргументы | |
|---|---|
**kwargs | Дополнительные ключевые аргументы, которые будут переданы в json.dumps(). |
| Возвращает | |
|---|---|
| Строка JSON, содержащая конфигурацию токенизатора. |
__getitem__
__getitem__(
index
)
__iter__
__iter__()
Создает генератор, который итерируется по Sequence.
__len__
__len__()
© 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/r2.4/api_docs/python/tf/keras/preprocessing/sequence/TimeseriesGenerator