gpt4 book ai didi

python - 如何将Python数据生成器转换为Tensorflow张量?

转载 作者:行者123 更新时间:2023-11-30 08:32:44 25 4
gpt4 key购买 nike

我有一个数据生成器,我可以用它生成训练图像。我想使用这个 Python 数据生成器将数据输入 Tensorflow 模型,但我不知道如何将生成器转换为 Tensorflow 张量。我正在寻找类似于 Keras 的 fit_generator() 函数的东西。

谢谢!

最佳答案

tf.data.Dataset.from_generator()方法提供了一种将 Python 生成器转换为 tf.Tensor 对象的方法,该对象计算生成器中的每个连续元素。

假设您有一个简单的生成器,可以生成元组(但也可以生成列表或 NumPy 数组):

def g():
yield 1, 10.0, "foo"
yield 2, 20.0, "bar"
yield 3, 30.0, "baz"

您可以使用 tf.data API 将生成器首先转换为 tf.data.Dataset,然后转换为 tf.data.Iterator,最后是 tf.Tensor 对象的元组。

dataset = tf.data.Dataset.from_generator(g, (tf.int32, tf.float32, tf.string))

iterator = dataset.make_one_shot_iterator()

int_tensor, float_tensor, str_tensor = iterator.get_next()

然后,您可以使用 int_tensorfloat_tensorstr_tensor 作为 TensorFlow 模型的输入。请参阅tf.data programmer's guide获取更多想法。

关于python - 如何将Python数据生成器转换为Tensorflow张量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47946413/

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