1. 程式人生 > >利用tensorflow1.2.1中的tensorboard顯示資料流程圖

利用tensorflow1.2.1中的tensorboard顯示資料流程圖

這幾天才裝了tensorflow1.2.1找到一本tensoflow的教材但版本並不是1.2.1而是低版本。推薦下(面向機器智慧的Tensorflow實踐)個人覺得不錯。

這本書中講了如何開啟graph,但是我怎麼按著做都打不開,後來踩了很多坑後終於打開了。

第一,首先建議使用Google的chrome瀏覽器,我用360和IE開啟都是白板,用chrome可以開啟,但是graph模組中無任何顯示。

第二,語法問題,書本上的Tensorflow版本並不是1.2.1所以有一點差別,比如說建立一個進行乘法的節點,

           書上的語法是c = tf.mul(a, b, name="mul_c"),但在1.2.1版本中是c = tf.multiply(a, b, name="mul_c")

           最重要的是summarywriter這句,書上的是writer = tf.train.SummaryWriter('./my_graph', sess.graph)我在敲程式碼時提示沒有SummaryWriter這個函式,然後就各種百度。

           最後我綜合網上其他人的寫法改成了:merged = tf.summary.merge_all()
                                                                        writer = tf.summary.FileWriter('tmp', sess.graph) 

第三,路徑問題(tmp是我之間建立好的資料夾,和py檔案在同一路徑下),當執行完程式碼後,會在temp資料夾中生成一個檔案。

          接著WIN+R開啟cmd進入tmp資料夾所在的路徑,然後輸入指令tensorboard --logdir= tmp

          注意:不要按CTRL+C或者直接關閉,如果退出或者關閉就不能打開了。

          接著複製網址貼上到chrome瀏覽器中,點選graph就可以看到流程圖了。

       最後把自己渣渣的程式碼粘出來給需要的人測試用。本程式碼基於tensorflow1.2.1版本

import tensorflow as tf

a = tf.constant(5, name="input_a")
b = tf.constant(3, name="input_b")

c = tf.multiply(a, b, name="mul_c")
d = tf.add(a, b, name="add_d")

e = tf.add(c, d, name="add_e")

sess = tf.Session()
# sess.run(e)
output = sess.run(e)
merged = tf.summary.merge_all()
writer = tf.summary.FileWriter('tmp', sess.graph)

writer.close()
sess.close()