我正在使用tensorboard来显示三次运行。我有一个文件夹logs
,其中包含三个文件:
2016-03-18_22-11-12
2016-03-18_22-11-27
2016-03-18_22-23-46
当我运行tensorboard --logdir .
(来自日志)时,只有2016-03-18_22-23-46
可见:
如果我从日志中删除2016-03-18_22-23-46
并重新启动tensorboard,则只有2016-03-18_22-11-27
可见。知道这里发生了什么吗?
编辑:日志文件(令我惊讶的是),非常大:这是du -h
的结果:
1,1G ./2016-03-18_22-23-46
925M ./2016-03-18_22-11-12
934M ./2016-03-18_22-11-27
2,9G .
修改 上述运行结构可以通过记录和检查点到subdirectories of the tensorboard log-dir:
获得run_time = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
FLAGS.train_dir = '/datalab/tf_runs/' + run_time #Directory to put the training data.
summary_writer = tf.train.SummaryWriter(FLAGS.train_dir, sess.graph_def)
答案 0 :(得分:9)
Tensorboard需要一段时间来解析日志文件。如果刷新图形,则可以看到它显示越来越多的迭代。解析完一个后,将弹出下一个运行。
有一点令人讨厌的是,没有这方面的可视指示,这可能值得https://github.com/tensorflow的功能请求。
答案 1 :(得分:3)
另一种解决方案是使用-max_reload_threads 选项,如下所示:
tensorboard --logdir=runs --max_reload_threads 4
没有。可以基于一个线程可以一次解析一个运行这一事实来确定线程的数量。
答案 2 :(得分:1)
TL;DR:关闭任何当前运行的具有 Tensorboard 回调的 jupyter notebook/python 文件。
我遇到了同样的问题,在 Tensorboard 中只显示了一次运行,而未列出多次运行。正如@etarion 在他的回答中指出的那样,我等待并刷新了一段时间,但这并没有让其他运行出现。
然后我发现了发生了什么:我刚刚在我的笔记本文件中完成了运行训练。然后我想在 Tensorboard 中打开所有之前的运行,唯一出现的是我刚刚训练的当前运行。我首先必须关闭笔记本文件然后运行 Tensorboard 显示所有运行!
由于某种原因,笔记本仍然处于活动状态,导致 Tensorboard 只执行此运行。