tf.estimator
API接受输入"输入功能"返回Dataset
s。例如,Estimator.train()
需要input_fn
(documentation)。
在我看过的例子中,无论何时手动提供此功能,它都是无争议的lambda。
这不意味着函数总是返回相同的值吗?或者它是否多次调用而没有参数?我无法找到有关此问题的文档。为什么不像train()
这样的功能只是明确地将输入作为Dataset
?
答案 0 :(得分:3)
Dataset
个对象也由计算图中的节点支持。 Estimator
将每个人的计算图构建为train()
,evaluate()
等。通过这样做,Estimator
API可确保对不同Estimator
个对象的操作进行隔离并将Tensor
/ Dataset
放入独立的图表中。
一些代码指针(适用于TensorFlow 1.7),以防您感兴趣:
Estimator.train()
最终会调用this input_fn
希望有所帮助。
答案 1 :(得分:1)
根据Tensorflow文档:
“估计符希望input_fn不带参数。要解决此限制,我们使用lambda捕获参数并提供期望的接口。”