-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature request: global step slider for images #469
Comments
cc @chihuahua. Could gauge support from Ian. If you implement this, you might ask RJ whether he'd want the same thing for audio. |
Some internal folks on the image search team (among others) have also asked for a global slider. The challenge is that the steps might differ per image, although the steps are often the same within a run such as train or eval (unless a user for some reason decides to avoid merging summaries and only collect certain summaries at certain steps). What if we tried this out. #471 should get us started. Maybe we can let the user select a global step for all the tags within each run, and if the user later changes the step for a specific image, that global slider is overriden (and the step it shows is grayed out). FYI, @goodfeli and @rryan. And yeah, per @wchargin, this seems applicable to audio too. |
SGTM |
@wchargin for me personally a global slider would be more important. Having said that, I also believe that additional run based sliders which override the global slider could come in handy. I guess the problem would be the placement of the sliders, so it doesn't blow up the UI to much. |
What's the use case for comparing images between runs? A run is like train or eval, right? Thanks! |
Different runs could be different models/parameters (experiments) for the same problem. Since not all models train with the same speed (number of steps) you might want to compare the outputs of different experiments from different steps. |
OK, new proposal: Lets try out 1 global slider for all runs. The advantage is that we can conveniently specify 1 step cap for all runs. The disadvantage is that runs can differ in sampling rate of summaries as well as max step, so if we rely on 1 global slider alone, some steps might become inaccessible to certain runs. Imagine a run A at step 10K and another run B at step 1K. TensorBoard samples for 10 events per run (or tag really, but assume all tags share the same steps here). With 1 global slider sampled at the rate of run A, we can access all sampled images of run A, but only 2 of run B. Hence, how about we try 1 global slider but also maintain the individual slider per image. @wchargin, thoughts? |
One global slider for all runs sounds good to me. |
Any updates here? |
@tachim we are stretched pretty thin right now so we can make no guarantees on when we might be able to work on this. I'll mark it contributions welcome though. |
Maybe we can take a crack at this, what's the most similar PR we can look at? This one seems a bit sparse https://github.com/tensorflow/tensorboard/pull/471/files |
@chihuahua would probably know best. I think the starting point would likely be the PR curves dashboard which has per-run sliders (in #471) which could perhaps be adapted into a global slider for the images dashboard, and the logic that hooks those sliders up to the individual charts would look similar. I think perhaps more important than the actual implementation is defining the behavior of the user controls, things like:
|
Yeah, I agree with @nfelt's listing of design decisions to be made. To elaborate a bit on the first point (the behaviors of chart sliders with regards to the global one), tags within a run (such as train or eval) often share the same steps because we often log, say, eval or train data at the same frequencies. However, steps may differ across runs. One might write train summaries every 5 steps, but eval summaries every 100 steps. Perhaps when the global slider changes, chart sliders could round down to the nearest step to the global one (and the UI could make that clear). I unfortunately also can't find a precedent PR for introducing a global slider. Indeed, #471 (introducing one slider per run for PR curves) is probably most relevant. Each image loader loads one image. Currently, the chart sliders alter this private
|
Any progress here? It is one of the workday routine most useful feature. |
As a workaround, I downloaded images for a specific step using wget:
You just need to know run, tag, and step index. |
Would be great to have this global slider ! |
The solution posted by mateuszbuda does not work. That only allows you to access images that you can already access via the sliders in the tensorboard. It is impossible to compare multiple images at the same timestep if tensorboard does not expose those steps to the user. I've logged 4 different images all at the same step, and it is not helpful to see them individually at different steps. This is a major oversight for tensorboard. |
Do you have plan to put this in the roadmap? |
I believe it would be handy to have a global slider for visualizing images from different steps. At the moment, when I try to compare different image inputs and outputs, I have to slide each image individually.
The text was updated successfully, but these errors were encountered: