First of all, I think Tensorboard is really great and important UI for real-time feedback on model training, but I run into a few issues with accuracy of the displayed information.
There are two related "sub-issues", the first is much more important:



A side note, unrelated to histograms:
The moving average smoothing function for scalar data should convert the user-provided raw smoothingWeight to per-time-series parameter that takes into account the sampling rate of each time-series displayed. The training loss sampling rate is often orders of magnitude larger than the sampling rate of evaluator jobs. It is absolutely counter-intuitive to use the "point-to-point" moving average with the same smoothingWeight for those different time-series.
The result of doint that is that when the smoothingWeight is set to a value that sufficiently suppresses noise/variance in the training loss, then the evaluation loss is lagging behind so much that the end value of the smoothed evaluation loss is way off it's true value due to the lag:

The smoothed final value of the evaluation loss at 20M training steps corresponds to the "instantaneous" value of the training evaluation loss at ~6M steps. I think this is not the information that one wants to see at 20M steps.
Context:
Tensorboard version: 1.13.0a0
TensorFlow version: build from CL/231841759
Thanks for the bug report. We'll investigate and report back.
Any progress? I think a bar plot or KDE visualization would be really advantageous - as of now these histograms are pretty unscientific.
@mkillinger No progress on this yet I'm afraid, but very much agree that the histogram visualization's binning is a problem (the TF 2.0 histogram op uses linear binning so it shouldn't have quite the same issue as in your post, but can still produce artifacts), and that the plot style is a bit misleading as well.
For the smoothing issue, we know the smoothing algorithm also could use improvement (though it's been historically tricky to get right). If you want to split that out as a separate GitHub issue it would be a bit easier to track that way, or I'm also happy to repost that part of your comment separately if you want.
Related issue was #1015, about binary histogram binning in particular, which I think we can consider a sub-issue of this problem.
(since I don’t see it noted here) One option that we had floated in the
past was letting tf.summary.histogram actually just sample something
like 10 000 points from your tensor and store those in the data file.
It’s lossy, sure, but so is any particular binning strategy (linear,
exponential), and at least this would be unbiased. From this sample we
can always re-bin at read time to show a traditional histogram.
Most helpful comment
Any progress? I think a bar plot or KDE visualization would be really advantageous - as of now these histograms are pretty unscientific.