“ 開源,共享 ” ---- 享受code帶來的樂趣
background:在使用 tensorboard 的時候遇見了很多莫名奇妙的bug,經過很長時間的debug,問題得以解決,現將自己的經驗分享,希望可以幫助更多的小夥伴。
TensorBoard是Tensorflow可視化工具,可以用來展現TensorFlow圖像,繪製圖像生成的定量指標圖以及附加數據。它通過summary對數據進行彙總。常用操作如下:
tf.summary.FileWriter——用於將彙總數據寫入磁盤
tf.summary.scalar——對標量數據彙總和記錄
tf.summary.histogram——記錄數據的直方圖
tf.summary.image——將圖像寫入summary
tf.summary.merge——對各類的彙總進行一次合併
tf.summary.merge_all——合併默認圖像中的所有彙總
下面來看一下tensorboard的具體使用方法:
width = tf.placeholder("int32",name='width')
height = tf.placeholder("int32",name='height')
area = tf.multiply(width,height,name='area')
with tf.Session() as sess:
init = tf.global_variables_initializer();
sess.run(init)
print('area=',sess.run(area,feed_dict={width:6,height:8}))
logpath = 'log'
tf.summary.merge_all() #彙總數據
train_writer = tf.summary.FileWriter(logpath,sess.graph) #將日誌寫入logpath路徑下
在運行上述代碼後,在當前目錄的logpath(此處爲'log')下生產日誌文件,如下圖所示:
tensorboard就是將log目錄下生成的日誌文件 可視化,使用方法爲:在命令行窗口運行 tensorboard --logdir=logpath 命令。
先給出我失敗的例子,如下:
運行生成日誌文件後,在 Terminal 中輸入命令,具體情況如下圖:
點擊 鏈接,理論上就會看到相應的計算圖,但事實並不是如此,顯示如下:
理論可以顯示出來的啊,爲什麼出現這種情況?一臉懵逼的我開啓了我的試錯之路。。。。。。
經過各種嘗試,終於解決了,如圖所示:
原來是因爲這樣: 在pycharm中,腳本運行後,相關變量並不會同步到下方的 Terminal 的窗口,導致在上面日誌路徑中,並不能識別logpath變量,導致tensorboard命令找不到日誌文件,因此失敗。
解決方案:就是添加實際的log路徑,具體操作如下圖:
注意:當前目錄在C:\Users\Administrator.SXCSXC-HCQ18TTH\PycharmProjects\TensorFlow\tensorflow,從上面項目目錄截圖可以看到,log文件夾就位於tensorflow裏面,故只需寫子目錄就好,即 “log”(必須用"雙引號"括起來),這樣tensorboard命令就可以找到日誌文件了,問題得以解決。 當然這個方法並不是只適用於pycharm軟件,在微軟自帶的 命令行窗口 中,同樣也可以實現,命令爲:tensorboard --logdir="日誌文件的絕對路徑/相對路徑"。
本文系作者原創,歡迎轉載,但請註明原創。https://blog.csdn.net/Once_Smith/article/details/83895820