为什么TensorFlow Estimator API将输入作为lambda?

时间:2018-04-04 03:35:17

标签: python tensorflow tensorflow-datasets tensorflow-estimator

tf.estimator API接受输入"输入功能"返回Dataset s。例如,Estimator.train()需要input_fndocumentation)。

在我看过的例子中,无论何时手动提供此功能,它都是无争议的lambda。

这不意味着函数总是返回相同的值吗?或者它是否多次调用而没有参数?我无法找到有关此问题的文档。为什么不像train()这样的功能只是明确地将输入作为Dataset

2 个答案:

答案 0 :(得分:3)

Dataset个对象也由计算图中的节点支持。 Estimator将每个人的计算图构建为train()evaluate()等。通过这样做,Estimator API可确保对不同Estimator个对象的操作进行隔离并将Tensor / Dataset放入独立的图表中。

一些代码指针(适用于TensorFlow 1.7),以防您感兴趣:

希望有所帮助。

答案 1 :(得分:1)

根据Tensorflow文档:

“估计符希望input_fn不带参数。要解决此限制,我们使用lambda捕获参数并提供期望的接口。”

https://www.tensorflow.org/guide/datasets_for_estimators