From: https://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/tensorboard/README.md
представьте, что TensorFlow записал контрольную точку на шаге a, а затем продолжил работу до шага b, а затем потерпел крах и перезапустился с отметкой времени a.Все события, записанные между a и b, были «осиротевшими» из-за события перезапуска и должны быть удалены.Чтобы облегчить это, у нас есть сообщение SessionLog в тензорном потоке / core / util / event.proto, которое может записать SessionStatus.START как событие;как и все события, с ним может быть связан шаг.Если TensorBoard обнаруживает событие SessionStatus.START с шагом a, он будет считать, что каждое событие с шагом больше, чем было потерянным, и будет отбрасывать эти события.
Теперь вот макетмой код:
import tensorflow as tf
from tensorflow import SessionLog
with tf.Session(config = config) as sess:
saver = tf.train.Saver()
sess.run(tf.global_variables_initializer())
merged_summary_op = tf.summary.merge_all()
summary_writer = tf.summary.FileWriter('/my_summaries', sess.graph)
i = 1
if model_to_restore_exists:
i = 820 # global step of latest saved model
saver.restore(sess, '/my_models/model_'+str(i))
summary_writer.add_session_log(SessionLog(status=SessionLog.START), global_step=i)
while i < total_steps:
s = sess.run(merged_summary_op)
summary_writer.add_summary(s, i)
_, loss = sess.run([Network.update, Network.loss], feed_dict=input_dict)
if i % 20 == 0:
saver.save(sess, '/my_models/model', global_step=i, write_meta_graph=True)
Проблема в том, что при этом я все еще получаю перекрытие в тензорной доске (см. ниже).Линия summary_writer.add_session_log(...)
, по-видимому, не имеет значения.Что я делаю не так?
Дополнительная информация: (1) Я видел ту же самую проблему, обсуждаемую здесь: Как правильно написать сводную запись, чтобы избежать наложения на тензорную панель при восстановлении модели - К сожалению, я не понимаю многое из решения, возможно, из-за языкового барьера.(2) Я все еще использую TF 1.4, но я думаю, что это, вероятно, не имеет ничего общего с проблемой.