Tensorflow:训练估计器直到收敛

时间:2018-02-21 15:47:46

标签: tensorflow tensorflow-estimator

据我了解Estimator API,方法train会对给定数据进行训练,直到input_fn函数引发异常或直到达到步数为止。因此,如果我想循环直到估算器已经收敛(对于它的某些定义),我需要自己编写循环并测试我的标准。对于估算工具e

,这样的事情
prevloss = 999999999999
while True:
    e.train(input_fn)
    loss = e.evaluate(input_fn)['loss']
    if abs(prevloss - loss) < 1e-4:
        break

    prevloss = loss

但有一些事情对我来说仍然模糊不清。

  • 何时调用输入函数?它应该始终返回相同的数据吗?它的正确用途是什么?
  • 每次迭代都会将数据上传到GPU吗?
    • 如果是这样,我该如何避免?
  • 输入函数返回的数据是否仅作为常量嵌入到图中?
    • 如果是,我该如何将其 feedable
  • 总的来说,启动张量流工作需要0.8秒(即每次迭代没有进展1.6秒),这个循环不会更好地存在于GPU上吗?
    • 如果是这样,我该怎么做?

0 个答案:

没有答案