tensorflow / tensorflow/tensorboard
Creating visualizations combining multiple tags
@psybuzz is already working on this.
Since Dec 20, 2019.
- Dominant language
- TypeScript
- Stars
- 7.2k
- Forks
- 1.7k
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 1
Description
Currently, as I understand it, there is a one-to-one correspondence between TensorBoard visualizations (plots etc.) and summary tags in the events file. This forces the user to modify what gets written to the events file to change what plots (or other visualizations) get produced, even when the data necessary to make the desired plot already exists in the events file.
The only mechanism TensorBoard has for grouping multiple data series onto the same axes is to make them different runs with the exact same tag. However, this will often require a user to maintain multiple SummaryFileWriters which is inconvenient and must be done anew for every piece of experiment code (things in TF like tf.train.MonitoredSession do not make this easy by default).
As a motivating example of the types of things I want to do, I want to make a training curve for a single run of a TensorFlow program that is already started running and is taking a very long time. I want to compare a scalar summary with tag train_loss and a scalar summary with tag:validataion_loss on the same axes with global_step on the abscissa. I would like to tell the UI somehow to merge the two plots it already creates. Another thing I want to do is to show these two tags across several runs of my program, but I want to have the color based on the run and the line style (or marker style) based on the tag. Both of these things are hard to do given that I have already started writing the events file.
Although I am most concerned about scalar summaries, this problem can arise with lots of other types of data, including image summaries. @dandelionmane might have a good example for image summaries where this type of configurable grouping would be useful.
Currently what I do is just abandon TensorBoard and write my own ipython notebook to read the events files and make the plots I want and I copy this for each new project. So this is a critical missing feature. Although it is possible to get part of the behavior I want by making multiple subfolders and using the same tag, I don't always know what curves I want to group among my scalar summaries when I am writing the code that writes the events files and even when I do this clutters up my training and eval code.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.