如何在 TensorBoard 中显示不同的运行?

Posted

技术标签:

【中文标题】如何在 TensorBoard 中显示不同的运行?【英文标题】:How do display different runs in TensorBoard? 【发布时间】:2016-07-10 23:49:06 【问题描述】:

TensorBoard 似乎具有显示多个不同运行并切换它们的功能。

如何在此处显示多个运行以及如何为它们分配名称以区分它们?

【问题讨论】:

【参考方案1】:

除了 TensorBoard 扫描子目录(因此您可以传递包含运行目录的目录),您还可以将多个目录显式传递给 TensorBoard 并提供自定义名称(示例取自 --help 输出):

tensorboard --logdir=name1:/path/to/logs/1,name2:/path/to/logs/2

更多信息请访问TensorBoard documentation。

在最近版本的 TensorBoard 中,这种别名需要一个不同的参数,但是不鼓励使用它(引用 github 上的当前文档 - 上面链接):

Logdir 和 Logdir_spec(传统模式)

您还可以传递以逗号分隔的日志目录列表,并且 TensorBoard 将监视每个目录。您还可以将名称分配给 通过在名称和目录之间放置一个冒号来单独的日志目录 路径,如

tensorboard --logdir_spec name1:/path/to/logs/1,name2:/path/to/logs/2

不鼓励使用此标志 (--logdir_spec),通常可以避免使用。 TensorBoard 递归遍历日志目录;对于细粒度 控制,更喜欢使用符号链接树。某些功能可能在以下情况下无法使用 使用 --logdir_spec 而不是 --logdir。

【讨论】:

注意:主目录快捷方式(~)显然没有正确解析,使用全名 这更像是一个 shell 的东西而不是 tensorflow 的东西 - ~ 必须位于“shell 单词”的开头(例如,在引号之外的空格之后)。在这里,您可以使用 $HOME 代替。 ~ 对我有用,所以它很可能已在以后的 tensorflow 版本中得到修复。 对于最近的 TensorBoard 版本(我目前使用的是 2.3,不确定更改的确切时间),请参阅下面的 @Oren's answer,--logdir 不再工作了。 为什么不鼓励--logdir_spec,具体来说?在将新运行与一些基本的“当前最佳”运行进行比较时,它非常强大。【参考方案2】:

我在 github (https://github.com/tensorflow/tensorflow/issues/1548) 上找到了我自己的问题的答案。

您需要将日志放在子文件夹中,例如/logs/run1/ 然后在根文件夹上运行 tensorboard,例如/日志/。

【讨论】:

这应该是答案 put your logs in a subfolder e.g. /logs/run1/ - 怎么做?手动?【参考方案3】:

新版本的张量板将 logdir 更改为 logdir_spec

tensorboard --logdir_spec=name1:/path/to/logs/1,name2:/path/to/logs/2

【讨论】:

这似乎是错误的,而且确实不鼓励 --logder_spec (按照接受的答案中 github 上的文档链接)。 嗨,他特别要求手动插入不同的运行。 logdir 用于告诉 tensorboard 迭代搜索所有运行。如果要为每次运行命名并限制目录,则需要使用 logdir_spec。我同意它写得有点奇怪..也许是气馁,但这就是他要求的...... 这对我有用!显然--logdir 不再有效,需要logdir_spec【参考方案4】:

好像这样声明就可以了:

writer = SummaryWriter(logdir='/runs/you_tag')

然后tensorboard会在runs/下面创建一个you_tag文件夹,同时web应用会刷新并找到you_tag

【讨论】:

以上是关于如何在 TensorBoard 中显示不同的运行?的主要内容,如果未能解决你的问题,请参考以下文章

tensorboard文件为啥只能放在c盘

Tensorboard 在 Chrome 中显示空白页

如何在 Tensorboard 中显示自定义图像(例如 Matplotlib Plots)?

TensorBoard的使用

如何在没有 root 权限的 Docker 容器中运行 TensorBoard?

如何使用 Keras 在 TensorBoard 中显示自定义图像?