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), содержащий последовательные точки данных (шаги во времени). Данные должны быть двумерными, и ожидается, что ось 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, содержащую конфигурацию генератора временных рядов.
| Аргументы | |
|---|---|
**kwargs | Дополнительные ключевые аргументы, которые необходимо передать в json.dumps(). |
| Возвращаемое значение | |
|---|---|
| Строка JSON, содержащая конфигурацию токенизатора. |
__getitem__
__getitem__(
index
)
Получает пакет в позиции index.
| Аргументы | |
|---|---|
index | Позиция пакета в Sequence. |
| Возвращаемое значение | |
|---|---|
| Пакет |
__iter__
__iter__()
Создаёт генератор, который итерируется по Sequence.
__len__
__len__()
Количество пакетов в Sequence.
| Возвращаемое значение | |
|---|---|
| Количество пакетов в Sequence. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/keras/preprocessing/sequence/TimeseriesGenerator