gpt4 book ai didi

python - TensorFlow 数据集映射函数中的随机性

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:00 24 4
gpt4 key购买 nike

我有一个原始时间序列数据的数据集,已存储在磁盘上的 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 函数),会:

  1. 只需从每个原始实例中随机获取一次切片,然后在每个时期继续迭代这些相同的切片。
  2. 给我每个时期每个原始实例的不同随机切片。

我想要(2),所以如果这没有发生,是否有其他方法可以实现它?

例如,假设我有 100 个初始样本,每个样本都有 50 个数据点的时间序列。我想生成 2000 个较小切片的样本,例如 5 个数据点切片。如果我在 map 函数中随机选择切片,我是否会在每次 repeat 上获得相同的 100 个 5 数据点切片,或者是否有办法获得每次我循环浏览 100 个(50 个数据点)初始样本时,都会有 100 个不同的 5 个数据点切片?

最佳答案

每个时期你都会得到不同的随机切片。每个纪元都会再次调用您的 map 函数,因此只要您的 map 函数每次调用时生成不同的切片,您就会得到不同的切片。

关于python - TensorFlow 数据集映射函数中的随机性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57961113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com