TensorBoard上并未显示所有运行结果

12

我正在使用 TensorBoard 来可视化三个运行结果。我有一个名为 logs 的文件夹,其中包含三个文件:

2016-03-18_22-11-12
2016-03-18_22-11-27
2016-03-18_22-23-46

当我在logs目录下运行tensorboard --logdir .时,只有2016-03-18_22-23-46可见:blu

如果我从logs中删除了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    .

编辑: 可以通过将日志和检查点保存到tensorboard日志目录的子目录中,获取上述运行结构。详情请见此处

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)
3个回答

18

Tensorboard需要一些时间来解析日志文件。如果您刷新图表,您会看到它显示越来越多的迭代。当它完成解析一个后,下一个运行将弹出。

有点烦人的是没有视觉指示,也许这值得在https://github.com/tensorflow提出一个功能请求。


5

另一种解决方案是使用以下--max_reload_threads选项:

tensorboard --logdir=runs --max_reload_threads 4

线程数量可以根据一个线程一次只能解析一个运行的事实来确定。


1

TL;DR: 关闭任何当前运行的具有Tensorboard回调的jupyter笔记本/Python文件。

我遇到了同样的问题,只有一个运行在Tensorboard中可视化,而其他运行没有列出。如@etarion在他的答案中指出的那样,我等待并刷新了一段时间,但这并没有使其他运行出现。

然后我发现了发生了什么:我刚刚完成了笔记本文件中的训练。然后我想在Tensorboard中打开所有以前的运行,唯一出现的是我刚刚训练过的当前运行。我首先必须关闭笔记本文件,然后运行Tensorboard就显示了所有的运行!

由于某种原因,笔记本仍处于活动状态,导致Tensorboard仅采用此运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接