gpt4 book ai didi

python - 从迭代器创建 `input_fn`

转载 作者:太空狗 更新时间:2023-10-30 00:01:30 25 4
gpt4 key购买 nike

大多数教程都关注整个训练数据集适合内存的情况。但是,我有一个迭代器,它充当无限的(特征、标签)元组流(即时创建它们)。

为 tensorflow 实现input_fnestimator , 我可以从迭代器中返回一个实例作为

def input_fn():
(feature_batch, label_batch) = next(it)
return tf.constant(feature_batch), tf.constant(label_batch)

或者 input_fn 是否必须在每次调用时返回相同的(特征、标签)元组?

此外,这个函数在训练过程中被多次调用,我希望它像下面的伪代码一样:

for i in range(max_iter):
learn_op(input_fn())

最佳答案

input_fn 的参数在整个训练过程中使用,但函数本身只被调用一次。因此,创建一个复杂的 input_fn,它不仅仅是返回常量数组,如 tutorial 中所述。不是那么简单。

Tensorflow 为 numpy 提出了两个这样的非平凡 input_fn 示例和 panda数组,但它们从内存中的数组开始,因此这对您的问题没有帮助。

您还可以通过上面的链接查看他们的代码,了解他们如何实现高效的非平凡 input_fn,但您可能会发现它需要更多您想要的代码.

如果您愿意使用 Tensorflow 的较低级别接口(interface),恕我直言,事情会更简单、更灵活。有一个 tutorial涵盖了大多数需求,并且所提出的解决方案很容易(呃)实现。

特别是,如果您已经有一个迭代器可以像您在问题中描述的那样返回数据,那么使用占位符(上一个链接中的“Feeding”部分)应该很简单。

关于python - 从迭代器创建 `input_fn`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761112/

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