Ich habe ein Problem, wo, wenn ich sess.run(tf.merge_all_summaries())
während des Trainings ausführen, wird das Programm hängen. Das wurde auch in a github issue erzogen, obwohl ich nicht sicher bin, dass mein Problem das gleiche ist.tensorflow.merge_all_summaries() hängt
als Referenz, ist dies der Code, den ich auf der Bahn bin mit:
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)
Ist das eine gemeinsame Sache? Oder gibt es einen Fehler beim Schreiben des Trainingscodes? Vielen Dank im Voraus für jede Hilfe.
EDIT: Es scheint wie der einzige Zeitpunkt, zu dem dies passiert, wenn die Warteschlange leer ist, wenn ich versuche, Zusammenfassungen zusammenzuführen. Ich frage mich, ob das ein Zufall ist.