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

How do display different runs in TensorBoard?

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

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

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

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

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

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

可以在 TensorBoard documentation 找到更多信息。

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

Logdir & Logdir_spec (Legacy Mode)

You may also pass a comma separated list of log directories, and TensorBoard will watch each directory. You can also assign names to individual log directories by putting a colon between the name and the path, as in

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

This flag (--logdir_spec) is discouraged and can usually be avoided. TensorBoard walks log directories recursively; for finer-grained control, prefer using a symlink tree. Some features may not work when using --logdir_spec instead of --logdir.

好像这样声明就可以了:

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

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

tensorboard 的新版本logdir 更改为 logdir_spec:

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