【问题标题】:tensorflow running one batch at a timetensorflow 一次运行一批
【发布时间】:2018-01-09 01:24:17
【问题描述】:

我正在通过 shuffle_batch 输入管道加载我的数据。但是,当我去训练时,我想训练一下,然后python一些东西,然后继续训练。但是,我不确定如何从shuffle_batch 阅读器和文件名队列中获得对事物的控制权。它只是不断地阅读和阅读......

编辑:: 我意识到这是导入数据的“旧方法”。但是,我没有立即看到用“新方法”https://www.tensorflow.org/versions/master/api_docs/python/tf/data/FixedLengthRecordDataset

来解决这个问题的方法

如何通过训练管道仅输入 50 条 cifar 记录,然后在我的 jupyter notebook 中恢复控制?

【问题讨论】:

  • 虽然您可以限制输入/数据集的长度。我认为您想要做的与您如何进行培训并告诉它只运行这么多或一个步骤有关。您的代码将有助于提供更有针对性的建议。
  • 我正在使用 cifar10 tensorflow 教程的小改动版本。 github.com/tensorflow/models/blob/master/tutorials/image/…

标签: python tensorflow


【解决方案1】:

基于您使用 https://github.com/tensorflow/models/blob/master/tutorials/image/cifar10/ - 实际 ltraining 发生在 executing the train_op 时。你应该能够把你的逻辑放在那里。例如:

while not mon_sess.should_stop():
  mon_sess.run(train_op)
  if mon_sess.run(global_step) % 10 == 0:
    # do something special

否则它还支持max_steps 参数,这可能类似于您尝试限制输入。但如果你想继续训练,就不会那么有用了。

【讨论】:

  • 我提前接受了这一点。 :) 但是,它帮助我缩小了问题的范围。查看更新,其中包含更多 stackoverflow 大小的代码部分。
  • 没有看到任何更新。但是很难提前回答未来的问题;-)
  • 更新现在可见,但现在似乎是一个完全不同的问题。我怀疑这是因为队列运行器尚未启动。
  • 关于不同问题的要点。我将对此进行编辑,并提出一个新问题。给我一点,我会调查队列跑步者的线索并尝试自己回答。
猜你喜欢
  • 1970-01-01
  • 2019-05-01
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 2015-08-22
  • 1970-01-01
相关资源
最近更新 更多