web-dev-qa-db-fra.com

Afficher l'image du graphique dans TensorFlow?

J'ai écrit un script simple pour calculer le nombre d'or à partir de 1,2,5. Existe-t-il un moyen de produire réellement un visuel par tensorflow (éventuellement à l'aide de matplotlib ou networkx) de la structure réelle du graphe? Le doc de tensorflow est assez similaire à un graphique de facteur, donc je me demandais:

Comment générer une image de la structure du graphe par tensorflow?

Dans cet exemple ci-dessous, ce serait C_1, C_2, C_3 en tant que nœuds individuels, puis C_1 aurait le tf.sqrt opération suivie de l'opération qui les rassemble. Peut-être que la structure du graphe (nœuds, arêtes) peut être importée dans networkx? Je vois que les objets tensor ont un attribut graph mais je n'ai pas trouvé comment l'utiliser réellement à des fins de création d'image.

#!/usr/bin/python

import tensorflow as tf
C_1 = tf.constant(5.0)
C_2 = tf.constant(1.0)
C_3 = tf.constant(2.0)

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3

sess = tf.Session()
print sess.run(golden_ratio) #1.61803
sess.close()
19
O.rka

Vous pouvez obtenir une image du graphique en utilisant Tensorboard . Vous devez éditer votre code pour sortir le graphique, puis vous pouvez lancer tensorboard et le voir. Voir notamment TensorBoard: Graph Visualization . Vous créez un SummaryWriter et incluez le sess.graph_def dedans. Le graphique def sera affiché dans le répertoire des journaux.

9
dga

C'est exactement pour cela que le tensorboard a été créé. Vous devez modifier légèrement votre code pour stocker les informations sur votre graphique.

import tensorflow as tf
C_1 = tf.constant(5.0)
C_2 = tf.constant(1.0)
C_3 = tf.constant(2.0)

golden_ratio = (tf.sqrt(C_1) + C_2)/C_3

with tf.Session() as sess:
    writer = tf.summary.FileWriter('logs', sess.graph)
    print sess.run(golden_ratio)
    writer.close()

Cela va créer un dossier logs avec des fichiers d'événements dans votre répertoire de travail. Après cela, vous devez exécuter tensorboard à partir de votre ligne de commande tensorboard --logdir="logs" et accédez à l'URL qu'il vous donne ( http://127.0.0.1:6006 ). Dans votre navigateur, accédez à l'onglet GRAPHS et profitez de votre graphique.

Vous utiliserez beaucoup TB si vous allez faire quoi que ce soit avec TF. Il est donc logique d'en savoir plus sur officieltutoriels = et à partir de cela vidéo .

49
Salvador Dali