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