Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to visualize a tensorflow graph without a training op?

I know how to visualize a tensorflow graph after training with tensorboard. Now, is it possible to visualize just the forward part of the graph, i.e., with no training operator defined?

The reason I'm asking this is that I'm getting this error:

No gradients provided for any variable, check your graph for ops that do not support gradients, between variables [ ... list of model variables here ... ] and loss Tensor("Mean:0", dtype=float32).

I'd like to inspect the graph to find out where the gradient tensor flow (pun intended) is broken.

like image 723
erickrf Avatar asked Jan 22 '18 22:01

erickrf


People also ask

What tool helps visualize a TensorFlow graph?

TensorBoard is a powerful visualization tool built straight into TensorFlow that allows you to find insights in your ML model. TensorBoard can visualize anything from scalars (e.g., loss/accuracy), to images, histograms, to the TensorFlow graph, to much more.


1 Answers

Yes, you can visualize any graph. Try this simple script:

import tensorflow as tf

a = tf.add(1, 2, name="Add_these_numbers")
b = tf.multiply(a, 3)
c = tf.add(4, 5, name="And_These_ones")
d = tf.multiply(c, 6, name="Multiply_these_numbers")
e = tf.multiply(4, 5, name="B_add")
f = tf.div(c, 6, name="B_mul")
g = tf.add(b, d)
h = tf.multiply(g, f)

with tf.Session() as sess:
    writer = tf.summary.FileWriter("output", sess.graph)
    print(sess.run(h))
    writer.close()

Then run...

tensorboard --logdir=output

... and you'll see:

tensorboard

So you can simply create a session just to write the graph to the FileWriter and not do anything else.

like image 73
Maxim Avatar answered Oct 10 '22 12:10

Maxim