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.

Tensorboard plugin - Beholder: Request features

See original GitHub issue

Request features

  • Show only specific variables, not all trainables: filter by code and by UI
  • Add option to do not resize the views (or add option to resize proportionally)
  • For better visualization, add add post training operations with a variable (reshape, reverse and other transformations). To get a similar result, I have to create a new variable, do a series of operations and update the new variable in each iteration of the learning process (when I update the original variable, I update the new variable)

Example of use

In RBM (and similars), is possible show the Weight values:

image

http://www.dmi.usherb.ca/~larocheh/publications/icml-2008-discriminative-rbm.pdf

Current result in Beholder:

image Image: Above: Weight (visible = 28*28. hidden = 10). Below: self.W_inspect.assign(tf.reverse(tf.transpose(tf.reshape(self.W, [28*10, 28])), [0]))

(Obs: The vector in my implementation of the RBM is a column vector. This is why the matrix is [10, 28 ** 2] and not the opposite)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:6

github_iconTop GitHub Comments

1reaction
nfeltcommented, Jul 15, 2020

Closing this issue since we are intending to deprecate the Beholder plugin as described in #3843. Please see that issue for recommendations if you want to keep using the plugin or adopt it yourself.

0reactions
SrMouraSilvacommented, Jun 15, 2018

I’m not sure I quite follow how you’d like the post-filtering transformations to work.

I have a W variable with shape [1 x n]. It contains m images with the same size [width, height]: Then, n = m * width * height.

I would like to visualize in a a x b array of images.

Example:

  • m = 4 images
  • width = 4
  • height = 4
  • Grid a x b = 4 x 4
  • W = [w_{1,1} w_{1,2} w_{1,3} w_{1,4} w_{2,1} w_{2,2} w_{2,3} w_{2,4} w_{3,1} w_{3,2} w_{3,3} w_{3,4} w_{4,1} w_{4,2} w_{4,3} w_{4,4}].
  • w_{i, j}: i-th image. j-th of the pixel of the image

The W transformation result:

W = [
    [w_{1,1} w_{1,2} w_{2,1} w_{2,2}],
    [w_{1,3} w_{1,4} w_{2,3} w_{2,4}],
    [w_{3,1} w_{3,2} w_{4,1} w_{4,2}],
    [w_{3,3} w_{3,4} w_{4,3} w_{4,4}],
]

My implementation: https://github.com/SrMouraSilva/RBM/blob/tensorflow/rbm/train/task/beholder_task.py#L26-L55 method: register(W, image_shape=[width, height], columns=b):. Observe that the number of lines (a) isn’t informed, because it is calculated based on the amount of lines needed to display all images given the amount of columns.


I think maybe the most generic solution here would be to replace frame with a frames option that 1) takes a list of NP_ARRAY and displays all of them and 2) only scales them proportionally

This would solve the problem. However, interesting beholder features (such as colormap, variance over train steps) would not be available.


I’m inclined to think it’s probably still simplest if users do those in their own TF code and pass the result to Beholder, rather than trying to extend Beholder to accommodate all the types of transformations that might be wanted.

(Still) I do not have knowledge as visualization in other learning algorithms, however, in RBM (and I believe in some Deep Belief Networks algorithms) is useful.


We could also have a checkbox or toggle for “show actual size” (vs size-to-fit).

Checkbox to hide and show specific variables also sounds great. Also, when change the tab (‘beholder’ to ‘scalar’) the last configuration realized in beholder tab could not be lost.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Debugging TensorFlow with TensorBoard plugins ... - YouTube
Watch this demo of the TensorFlow Debugger, an interactive web GUI for controlling the execution of TensorFlow models, setting breakpoints, ...
Read more >
How to implement Beholder (Tensorboard plugin) for Keras?
Prepare callback sess = K.get_session() beholder_callback = BeholderCallback(your_tensor, sess=sess) # Fit data into model and pass callback ...
Read more >
tensorboard Changelog - PyUp.io
The 2.10 minor series tracks TensorFlow 2.10. Features - Time Series is now the default dashboard when you log scalar, histogram, or image...
Read more >
TensorBoard - TensorFlow
TensorBoard : TensorFlow's visualization toolkit · Tracking and visualizing metrics such as loss and accuracy · Visualizing the model graph (ops and layers) ......
Read more >
Analysis Report tensorboard-2.1.1-py3-none-any.whl
A module providing a function for serializing JSON values with Infinity. ... tensorflow as tf..from tensorboard.plugins.beholder import im_util.from ...
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