-
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
tf.summary.text fails keeping summaries #83
Comments
I'm using TensorFlow 1.3 and have the same issue:
|
@bsautermeister - the random skipping is a result of reservoir sampling applied to all the event file data that TensorBoard processes. The sampling process means that for each tag's tensors, TensorBoard displays only a random subsample of up to N values. The value of N varies - it's 1000 for the scalars dashboard charts, for example - but it's set to just 10 by default for the images, audio, and text dashboards (the former two are set explicitly in I'm not sure if there's a good way right now to override those values, others on the project might know better - if not, we can at least create a feature request for that. In terms of writing out argparse parameters, I'm guessing that the limit of 10 is coming from the reservoir size as discussed above, but I'd expect that to apply to a single tag over all steps, rather than to a single step across tags. How exactly are you calling tf.summary.text()? If you can show a minimal reproduction we might be able to diagnose more closely. If it does turn out to be the reservoir size limit again, one option there might be doling a single tf.summary.text() call and passing in a rank-1 tensor with a list of all your parameters, and a unique tag name (like "parameters") that you don't use for any other summary ops. |
@nfelt I already did a workaround to concat all values to a single comma-seperated string, so that I can write the hyperparams as a single chunk. It is not formatted that nicely, but this is more or less sufficient for me. But your idea using a rank-1 tensor should also work I guess, and might be even better ;-) |
Sounds good. For now, I'm going to going ahead and close this issue as "working as intended" but I think we'd be open to either bumping up the default text plugin sample count or maybe making it configurable (for Googlers, see also internal bug b/34722493). Or yet another option might be to more clearly highlight on the dashboards when sampling is or isn't in effect, something like a message that says "Showing 10 uniformly sampled values out of 100" to indicate what's going on. I think our default plan would be to revisit this once we're farther along towards the DB backend since that will change how we do sampling anyway, but if you'd like any of these short-term resolutions, feel free to open a FR as a separate issue and we may be able to get to it. |
For me personally it would be great to just select the N steps I want to see without any sampling used. |
@sleighsoft yes, the database backend should allow us to avoid sampling unless necessary, and once we have that ability we'd like to add the ability to basically select arbitrary steps for viewing. In the interim, one option is just editing the "SIZE_GUIDANCE" values as described above to bump it up above the number of steps you're emitting text summaries for. We could also probably just bump the default value for text plugin up to 100 or more since the text data is typically not that large (compared to e.g. images), if that would help (while recognizing that you still run into the sampling issue, just at a larger number of summaries logged). |
My current solution is writing markdown tables on disk as tensorboard is not usable for me with sampling. |
FYI, PR #1138 added a |
This issue had been migrated from tensorflow/tensorflow#10204:
The text was updated successfully, but these errors were encountered: