0

我正在重写我的代码以使用 tf.estimator.Estimator 作为我的模型的封装对象。问题是:我看不出典型的输入管道如何适应图片。

我的输入管道使用由tf.train.Coordinator.

为了满足要求,我在调用时传递给估算器tf.estimator.Estimator的函数中创建了所有“输入图” :init_fn

Estimator.train(...) 

它看起来像这样 input_fn(f)

...create input graph...
qr = tf.train.QueueRunner(queue, [operations...])
tf.train.add_queue_runner(qr)

问题是:在这种情况下,我如何queue runners分别在 Estimator.train(...) 的开始和开始处开始和停止?

开始

我想办法启动我可以通过的队列,并且init_fn这样做是为了将对象传递给 Estimator。

但是如何加入线程并优雅地关闭它们 - 我不知道。

使用 tf.estimator 时是否有适当的线程输入管道的参考架构?

Estimator 类甚至准备好使用队列了吗?

4

1 回答 1

1

Estimator使用tf.train.MonitoredTrainingSession它处理启动和加入线程。您可以检查几个示例 input-fns,例如 tf.estimator.inputs.*tf.contrib.learn.io.read*

于 2017-08-02T16:17:45.013 回答