How do display different runs in TensorBoard?
Solution 1:
In addition to TensorBoard scanning subdirectories (so you can pass a directory containing the directories with your runs), you can also pass multiple directories to TensorBoard explicitly and give custom names (example taken from the --help output):
tensorboard --logdir=name1:/path/to/logs/1,name2:/path/to/logs/2
More information can be found at the TensorBoard documentation.
In recent versions of TensorBoard, aliasing this way requires a different argument, however its use is discouraged (quote from current documentation on github - linked above):
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.
Solution 2:
I found the answer to my own question on github (https://github.com/tensorflow/tensorflow/issues/1548).
You need to put your logs in a subfolder e.g. /logs/run1/ and then run tensorboard on the root folder e.g. /logs/.
Solution 3:
New version of tensorboard changed logdir to logdir_spec:
tensorboard --logdir_spec=name1:/path/to/logs/1,name2:/path/to/logs/2
Solution 4:
It seems that just declaring it like this is ok:
writer = SummaryWriter(logdir='/runs/you_tag')
Then tensorboard will create a you_tag
folder below runs/
, in the meantime, the web application will refresh and find you_tag
.