Utility class for generating batches of temporal data.
This class takes in a sequence of data-points gathered at equal intervals, along with time series parameters such as stride, length of history, etc., to produce batches for training/validation.
data: Indexable generator (such as list or Numpy array) containing consecutive data points (timesteps). The data should be at 2D, and axis 0 is expected to be the time dimension.
targets: Targets corresponding to timesteps in
data. It should have same length as
length: Length of the output sequences (in number of timesteps).
sampling_rate: Period between successive individual timesteps within sequences. For rate
data[i - length]are used for create a sample sequence.
stride: Period between successive output sequences. For stride
s, consecutive output samples would be centered around
data[i+2*s], etc. start_index, end_index: Data points earlier than
start_indexor later than
end_indexwill not be used in the output sequences. This is useful to reserve part of the data for test or validation.
shuffle: Whether to shuffle output samples, or instead draw them in chronological order.
reverse: Boolean: if
true, timesteps in each output sample will be in reverse chronological order.
batch_size: Number of timeseries samples in each batch (except maybe the last one).
A [Sequence](/utils/#sequence) instance.
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 x, y = batch_0 assert np.array_equal(x, np.array([[, , , , ], [, , , , ]])) assert np.array_equal(y, np.array([, ]))
__init__( data, targets, length, sampling_rate=1, stride=1, start_index=0, end_index=None, shuffle=False, reverse=False, batch_size=128 )
Initialize self. See help(type(self)) for accurate signature.
Gets batch at position
index: position of the batch in the Sequence.
Creates an infinite generator that iterate over the Sequence.
Number of batch in the Sequence.
The number of batches in the Sequence.
Method called at the end of every epoch.
© 2018 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.