input_fn的lambda函数的输入

来源:5-11 TF1_自定义estimator

wxz123

2020-04-14

图片描述
1、如上图,老师对于咱们这个lambda函数的输入是什么呢?(虽然咱们实战中的make_dataset(train_df, y_train, epochs = 100)函数已经将输入输进去了,但我觉得这里既然写成了lambda函数的形式,那么应该是哪个地方还会后输入的可能性吧?)
图片描述
2、对于上图中绿框中的

dataloader.InputReader(FLAGS.training_file_pattern,
                       is_training=True,
                       use_fake_data=FLAGS.use_fake_data),

如下图所示是一个类,我想知道的是为什么当把InputReader由__call__方法转为可以像函数直接输入参数的形式后,train_estimator.train方法会向dataloader.InputReader自动输入一个params参数(params参数就是上图中用绿框框起来的那个params)
图片描述

写回答

1回答

正十七

2020-05-24

  1. 对于我们的代码而言,没有其他的输入了,可以参考API中这个参数的定义:https://www.tensorflow.org/api_docs/python/tf/estimator/LinearClassifier#train, 只要返回的是一个Dataset或者(features, labels)元组即可,跟其他的输入没有关系。

  2. 第二个例子中的代码不完整,不过它的API说明是给input_fn和model_fn用的超参数:https://www.tensorflow.org/api_docs/python/tf/compat/v1/estimator/tpu/TPUEstimator,然而这只是TPUEstimator的用法,在普通的Esmtimator中,param这个参数是只给model_fn用的,不过无论如何,其他的输入是可选的,并非必须,所以在我们上面的例子中没有其他的输入了。

0
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程