tensorboard是TensorFlow的可視化工具,在網絡訓練過程中可以動態查看參數的變化、分佈等,能顯示網絡的整體結構,十分有用。
要用好tensorboard,首先需要搞清楚variable_scope和name_scope兩個概念和用法,參考:https://blog.csdn.net/shenxiaoming77/article/details/79141078
tensorboard的用法網上到處都有,參考:https://blog.csdn.net/wangyao_bupt/article/details/70404823
以mnist爲例子的示例網上很多,照着做也能做出來。只是,projector這個功能可能平時用的不是很多,有時候也很奇怪,tensorboard中顯示不出來,重啓下電腦又好了。。
cmd中開啓tensorboard的命令:tensorboard --logdir=logpath
注意1:
用variable_scope和name_scope來整理網絡拓撲,讓網絡看起來井然有序。
注意2:
tensorboard中scalars、histogram等都是按name scope和variable scope來分組的
注意3:
histogram中的一條線(比如圖中黑色線)表示tensor在對應一輪訓練中的分佈,比如權重值的分佈。histogram和distribution有點像,就是展示方式不太一樣。
圖中可以看到。隨着迭代次數的增加,weights的分佈越來越扁平,向兩邊拓展開。bias的分佈圖中這樣的現象更加明顯
注意4:
embedding在實際應用中不知道多不多,可以可視化輸入數據,比如看看數據是否線性可分。tsv文件是用來區分每個樣本的,裏面存放每個樣本的標籤,一行一個。這樣可以讓相同的樣本用相同的顏色的顯示