web-dev-qa-db-fra.com

Est-il possible de visualiser un graphique tensorflow sans opération d'entraînement?

Je sais comment visualiser un graphique tensorflow après m'être entraîné avec tensorboard. Maintenant, est-il possible de visualiser uniquement la partie avant du graphique, c'est-à-dire sans opérateur de formation défini?

La raison pour laquelle je pose cette question est que j'obtiens cette erreur:

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).

Je voudrais inspecter le graphique pour savoir où le flux du tenseur de gradient (jeu de mots voulu) est cassé.

8
erickrf

Oui, vous pouvez visualiser n'importe quel graphique . Essayez ce script simple:

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()

Ensuite, exécutez ...

tensorboard --logdir=output

... et vous verrez:

tensorboard

Vous pouvez donc simplement créer une session juste pour écrire le graphe dans le FileWriter et ne rien faire d'autre.

30
Maxim