1
我一直有一个问题,如果我在训练期间运行sess.run(tf.merge_all_summaries())
,程序将挂起。这也引起了a github issue,虽然我不确定我的问题是否一样。tensorflow.merge_all_summaries()挂起
供参考,这是我使用的火车代码:
logits = fcn8.upscore # last layer of the network
loss = softmax_loss(logits, lb, pipe.NUM_CLASSES)
train_op = build_graph(loss, global_step)
saver = tf.train.Saver(tf.all_variables())
summary_op = tf.merge_all_summaries()
sess.run(tf.initialize_all_variables())
tf.train.start_queue_runners(sess=sess)
summary_writer = tf.train.SummaryWriter(FLAGS.train_dir, sess.graph)
for step in range(FLAGS.max_epochs * pipe.EPOCH_LENGTH):
if sess.run(queue.size()) == 0:
sess.run(enqueue_files)
_, loss_val = sess.run([train_op, loss])
if step % 10 == 0:
print('loss at step {}: {}'.format(step, loss_val))
summary = sess.run(summary_op) # hangs here
summary_writer.add_summary(summary, step)
这是常见的事?或者在编写训练代码时是否有一些错误?预先感谢您的帮助。
编辑:这似乎是唯一发生这种情况的时候,当我尝试合并汇总时,队列为空。我想知道这是否是巧合。