question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Re-enable explicit control of summary tag

See original GitHub issue

Migrated from https://github.com/tensorflow/tensorflow/issues/6150

The basic issue is: It used to be possible to precisely control the display name (or tag) of summary data in TensorBoard, because users had direct control over the tag field.

However, this meant that summary code ignored tf name scopes when generating summaries and tags. This was frustrating because it meant the following code was broken:

def layer(input):
  W = get_weights_variable(somehow)
  b = get_bias_variable(somehow)
  activation = tf.nn.relu(input * W + b)
  s = tf.summary.histogram("activation_histogram", activation)
  return activation

input = tf.placeholder(...)
layer1 = layer(input)
layer2 = layer(layer1)
...
merged = tf.summary.merge_all()
....

This code would be broken because the tag “activation_histogram” would be used twice, creating a conflict.

To fix this, the summary module (which was added in tf1.0) removes explicit control of the tag from the user. Instead, the first argument to the summary is the “name”, and the generated node_name is used as the summary tag. As discussed in the linked issue, however, this creates its own set of frustrations and headaches.

I think a robust solution would be to add a display_name argument to summaries, which is used to create a SummaryMetadata that TensorBoard parses. Then, TensorBoard can use the display_name as the default name in tb, and fall back to the tag in case of conflicts.

I’m not sure how to implement this in a way that generalizes to the plugin system, though. I don’t want to fix it just for individual plugins. We also need to continue to support the case where users manually generate the summary proto with an explicit tag.

@jart @wchargin @chihuahua thoughts?

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Reactions:1
  • Comments:11 (8 by maintainers)

github_iconTop GitHub Comments

1reaction
SiegeLordExcommented, Apr 11, 2019

Is having this be configurable still the plan? I see the preview TF2.0 summary API does not have this feature.

1reaction
decentralioncommented, Jun 16, 2017

Also see: “Allow dynamic summary names in new summary interface” https://github.com/tensorflow/tensorflow/issues/6603

Read more comments on GitHub >

github_iconTop Results From Across the Web

The Disclosure Summary element - HTML - MDN Web Docs
The HTML element specifies a summary, caption, or legend for a element's disclosure box. Clicking the element toggles the state of the ...
Read more >
Disable details/summary - javascript - Stack Overflow
A very simple way would be to use only CSS. You can still use the disabled attribute or make it a class instead...
Read more >
The details and summary elements | HTML5 Doctor
The details element represents a disclosure widget from which the user can obtain additional information or controls.
Read more >
Tag Helpers in ASP.NET Core | Microsoft Learn
Tag Helpers enable server-side code to participate in creating and ... Tag Helpers reduce the explicit transitions between HTML and C# in ...
Read more >
Tag & filter explicit content - Sonos Developer
To take advantage of explicit tagging, your service should include the tags type in mediaMetadata and mediaCollection objects. The tags type should contain...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found