Creates a dataset of sliding windows over a timeseries provided as array.

This function takes in a sequence of data-points gathered at equal intervals, along with time series parameters such as length of the sequences/windows, spacing between two sequence/windows, etc., to produce batches of timeseries inputs and targets.

data Numpy array or eager tensor containing consecutive data points (timesteps). Axis 0 is expected to be the time dimension.
targets Targets corresponding to timesteps in data. targets[i] should be the target corresponding to the window that starts at index i (see example 2 below). Pass None if you don't have target data (in this case the dataset will only yield the input data).
sequence_length Length of the output sequences (in number of timesteps).
sequence_stride Period between successive output sequences. For stride s, output samples would start at index data[i], data[i + s], data[i + 2 * s], etc.
sampling_rate Period between successive individual timesteps within sequences. For rate r, timesteps data[i], data[i + r], ... data[i + seq