2015-12-11 16 views
8

Altın oranını 1,2,5 olarak hesaplamak için basit bir betik yazdım. Gerçek grafik yapısının tensorflow (muhtemelen matplotlib veya networkx yardımı ile) ile bir görsel üretmek için bir yolu var mı? Tensorflow dokümanı bir faktör grafiğine oldukça benziyor bu yüzden merak ettim:TensorFlow'da grafiğin görüntü resmi?

Grafik yapısının görüntüsü tensorflow ile nasıl oluşturulabilir? Aşağıda bu örnekte

, bu C_1, C_2, C_3 tek tek düğüm olur ve daha sonra C_1 araya getiren işlem takip tf.sqrt işlemi gerekir. Belki de grafik yapısı (düğümler, kenarlar) networkx'a aktarılabilir? tensor nesnesinin özniteliğine sahip olduğunu görüyorum, ancak bunu görüntüleme amacıyla gerçekten nasıl kullanacağımı bulamadım.

#!/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() 

cevap

5

Sen Tensorboard kullanarak grafiğin bir görüntü elde edebilirsiniz. Grafiğin çıktısını almak için kodunuzu düzenlemeniz gerekiyor ve ardından tensörünü çalıştırabilir ve görebilirsiniz. Bakınız, özellikle, TensorBoard: Graph Visualization. Bir SummaryWriter oluşturun ve buna sess.graph_def'u dahil edin. Grafik def, log dizinine gönderilecektir.

19

Bu, tam olarak hangi tensorboard için oluşturuldu. Grafiğinizle ilgili bilgileri saklamak için kodunuzu biraz değiştirmelisiniz.

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

Bu çalışma dizinindeki olay dosyaları ile bir logs klasör oluşturur. Bundan sonra, komuta hattınızdan tensorboard --logdir="logs" tensorboard'u çalıştırmalı ve size (http://127.0.0.1:6006) verdiğiniz url'e gitmelisiniz. Tarayıcınızda GRAPHS sekmesine gidin ve grafiğinizin tadını çıkarın.

Eğer TF ile bir şeyler yapacaksanız TB'yi çok kullanacaksınız. Bu yüzden, officialtutorials'dan ve bu video'dan daha fazla bilgi edinmek anlamlıdır.