如何在Tensorflow教程代码中获取训练数据的不同批次?

时间:2017-06-20 11:42:20

标签: tensorflow

在RNN的Tensorflow教程代码中,如何获得下一批?在reader.py中,函数ptb_producer通过dequeue方法一次生成一批维度[batch_size x num_steps]但是在ptb_word_lm.py中不会多次调用它来获取所有批次。了解如何获得不同批次的任何帮助将非常有帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您是否注意到这些代码位于ptb_word_lm.py(第376行),如下所示:

sv = tf.train.Supervisor(logdir=FLAGS.save_path)
    with sv.managed_session() as session:
      for i in range(config.max_max_epoch):#LOOK!The param max_max_epoch.
        lr_decay = config.lr_decay ** max(i + 1 - config.max_epoch, 0.0)
        m.assign_lr(session, config.learning_rate * lr_decay)

这显然是一个循环,并且m.assign_lr()已执行max_max_epoch次。更多,m = PTBModel(is_training=True, config=config, input_=train_input),(ptb_producer在sess.run()时生成一个批次被称为一次),对吧?实际上,函数ptb_producer在ptb_word_lm.py中被多次调用。附:我不确定它是否正确。希望有所帮助。