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)
這是常見的事?或者在編寫訓練代碼時是否有一些錯誤?預先感謝您的幫助。
編輯:這似乎是唯一發生這種情況的時候,當我嘗試合併彙總時,隊列爲空。我想知道這是否是巧合。