当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.preprocessing.sequence.TimeseriesGenerator用法及代码示例


用于生成批量时态数据的实用程序类。

继承自: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-points 序列以及时间序列参数(例如步幅、历史长度等),以生成用于训练/验证的批次。参数: data:包含连续数据点(时间步长)的可索引生成器(例如列表或 Numpy 数组)。数据应该是二维的,轴 0 应该是时间维度。目标:与 data 中的时间步相对应的目标。它的长度应与 data 相同。长度:输出序列的长度(时间步数)。 sampling_rate:序列中连续单个时间步长之间的时间段。对于速率 r ,时间步长 data[i] , data[i-r] ,... data[i - length] 用于创建样本序列。步幅:连续输出序列之间的周期。对于步幅 s ,连续输出样本将以 data[i] , data[i+s] , data[i+2*s] 等为中心。start_index:早于 start_index 的数据点将不会在输出序列中使用。这对于保留部分数据用于测试或验证很有用。 end_index:晚于end_index的数据点将不会用于输出序列。这对于保留部分数据用于测试或验证很有用。 shuffle:是否Shuffle[洗牌]输出样本,或者按时间顺序绘制它们。 reverse:Boolean:if true ,每个输出样本中的时间步长将按时间倒序排列。 batch_size:每批中的时间序列样本数(可能最后一个除外)。返回:一个序列实例。例子:

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]]))

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.preprocessing.sequence.TimeseriesGenerator。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。