gpt4 book ai didi

python - 通过 Tensorflow 消费大数据

转载 作者:太空宇宙 更新时间:2023-11-03 21:39:40 25 4
gpt4 key购买 nike

假设,我有一个巨大的对象列表,例如,每个对象都可以是 numpy 数组的列表。

将此数据集传递到 tensorflow 的最佳方法是什么?

我希望能够随机打乱数据并形成批处理。也许值得使用标准 python(numpy) 程序对数据集进行洗牌并形成批处理,然后使用诸如 tf.data.Dataset.from_generator() 之类的东西?

由于 tf.GraphDef Protocol Buffer 的大小限制(根据 Tensorflow 文档),将完整数据集转换为 tf.Tensor 的直接方法似乎毫无用处。

最佳答案

看起来您的数据很大,但仍然小到足以容纳内存?如果是这样,那么您就走在正确的轨道上 tf.data.Dataset.from_generator() 。然后你可以用类似的东西进行洗牌和批处理

import itertools

# your data
data = range(1024)
def gen():
for item in data:
yield data

ds = Dataset.from_generator(
gen, tf.int64, tf.TensorShape([])).shuffle(buffer_size=128).batch(batch_size=4)
value = ds.make_one_shot_iterator().get_next()

sess.run(value) # array([0, 1, 2, 3])

或者,您可以将数据转储到 TFRecord 文件并使用 TFRecordDataset 从中读取。这个test应该可以帮助您入门。

关于python - 通过 Tensorflow 消费大数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52973241/

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