【发布时间】:2019-09-16 16:38:52
【问题描述】:
我有一个原始时间序列数据的数据集,存储在磁盘上的 TFRecords 中:
dataset = TFRecordDataset(tfrecords) # tfrecords is a list of filenames
dataset = dataset.map(lambda x: do_something(x))
dataset = dataset.shuffle(1024)
dataset = dataset.repeat()
dataset = dataset.batch(128)
我希望我的 do_something 函数做的是,对于每个原始实例,随机抽取数据切片,以便我有一个来自实例的小数据窗口。但在下一个时期,我想确保从每个实例中获得一个 不同 随机切片。我的主要问题是,如果在map 函数(即我的do_something 函数)中引入随机性,会不会:
- 只需从每个原始实例中获取一次随机切片,然后在每个时期继续迭代这些相同的切片。
- 从每个 epoch 的每个原始实例中给我不同的随机切片。
我希望 (2),所以如果这没有发生,是否有其他方法可以实现它?
例如,假设我有 100 个初始样本,每个样本包含 50 个数据点的时间序列。我想生成 2000 个较小切片的样本,比如 5 个数据点切片。如果我在 map 函数中随机选择切片,我会在每个 repeat 上获得相同的 100 个 5 数据点切片,还是有办法获得 100 个不同 5 - 每次循环遍历 100 个(50 个数据点)初始样本时的数据点切片?
【问题讨论】:
标签: python tensorflow tensorflow-datasets