gpt4 book ai didi

python - 提供给 `tf.data.Dataset.from_generator(...)` 的映射函数可以解析张量对象吗?

转载 作者:行者123 更新时间:2023-12-01 02:16:17 29 4
gpt4 key购买 nike

我想创建一个 tf.data.Dataset.from_generator(...) 数据集。我需要传入一个 Python generator

我想将先前数据集的属性传递给生成器,如下所示:

dataset = dataset.interleave(
map_func=lambda x: tf.data.Dataset.from_generator(generator=lambda: gen(x), output_types=tf.int64),
cycle_length=2
)

我定义gen(...)来获取一个值(这是一个指向某些数据的指针,例如gen知道如何访问的文件名)。

此操作失败,因为 gen 接收到一个张量对象,而不是 python/numpy 值。

Is there a way to resolve the tensor object to a value inside of gen(...)?

交错生成器的原因是我可以通过其他数据集操作(例如 .shuffle().repeat())来操作数据指针/文件名列表> 无需将它们烘焙到 gen(...) 函数中,如果我直接从数据指针/文件名列表开始使用生成器,则这是必要的。

我想使用生成器,因为每个数据指针/文件名都会生成大量数据值。

最佳答案

TensorFlow 现在支持将张量参数传递给生成器:

def map_func(tensor):
dataset = tf.data.Dataset.from_generator(generator, tf.float32, args=(tensor,))
return dataset

关于python - 提供给 `tf.data.Dataset.from_generator(...)` 的映射函数可以解析张量对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48349409/

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