tensorboard的可視化對我們應用tensorflow框架調參,或者寫論文都有一定幫助。
如有理解不到位的地方,敬請指正。
最近在跑DCGAN的代碼,正好藉此學習。
參考博客:https://blog.csdn.net/wgj99991111/article/details/84708255
https://blog.csdn.net/jk981811667/article/details/78864215
https://www.jianshu.com/p/db9dcb275fc6
1、Tensorboard簡介
TensorBoard目前支持7種可視化,Scalars,Images,Audio,Graphs,Distributions,Histograms和Embeddings。其中可視化的主要功能如下。
(1)Scalars:展示訓練過程中的常亮,如準確率、損失值、權重/偏置的變化情況。
(2)Images:展示訓練過程中記錄的圖像。
(3)Audio:展示訓練過程中記錄的音頻。
(4)Graphs:展示模型的數據流圖,以及訓練在各個設備上消耗的內存和時間。
(5)Distributions:展示訓練過程中記錄的數據的分部圖。
(6)Histograms:展示訓練過程中記錄的數據的直方圖。
(7)Embeddings:展示詞向量後的投影分部。
我們關鍵使用Scalars、Image、Graphs、Distribution、Histograms等
通過 在logs目錄下運行 tensorboard --logdirs=logs/ 命令可讀取訓練時的logs文件,返回一個網址,在本地打開。
如果提示沒有tensorboard命令,而tensorboard已經安裝成功。可以通過python2 ../tensorboard/tensorboard.py --logdirs=logs/ 具體看python2與python3中tensorboard文件夾內的主函數的位置
如下圖: 7個功能在最上方標題欄。
2、Scalars
Scalars 標量。顯示固定常數值。
data downloadlinks(數據下載鏈接),smoothing(圖像的曲線平滑程度)以及Horizontal Axis(水平軸)的表示,其中水平軸的表示分爲3種(STEP代表迭代次數,RELATIVE代表按照訓練集和測試集的相對值,WALL代表按照時間)
這個損失d_loss降的比較小,g_loss穩定在3左右,訓練不是很好,GAN真的很難收斂 啊 !
3、Image
展示生成器生成的一些照片示例。
10 表示只顯示10張
4、Graphs
GRAPHS面板是對理解神經網絡結構最優幫助的一個面板,他直觀的展示了數據流圖。下圖界面中結點之間的連線即爲數據流,連線越粗,說明兩個結點之間流動的張量(tensor)越多。
可參考https://www.jianshu.com/p/db9dcb275fc6,理解的很透徹。
5、Distribution
distributions面板和histograms面板類似,只不過是用平面來表示,且他們的數據源是相同的。他們都是用來顯示張量的。直方圖使用來統計頻率信息的,distributions是在平面上表示一個張量每個值出現次數(顏色深淺)。這裏可能看histograms比較直觀。
上圖顯示的是輸入生成器的隨機噪聲Z,其是100維的張量。橫軸爲訓練的次數,縱座標爲取值範圍,用不同的顏色表示取某個區域值的頻次,顏色越深表示出現的頻次越多。從上圖可以看出,該噪聲值在1.78e*-16附近顏色最深,也就是說在這個附近取值頻次最高。
上圖分別是判別器對真實數據的loss值d 和判別器對生成數據的loss值d_,返回的應該是一個[batch_size, 1]維的張量,所以用distributions面板和histograms均可以表示,先來看distributions。左圖橫軸迭代次數,縱軸表示取值範圍,顏色表示一次迭代取樣時的張量中的頻數,可以看出來,訓練不是很穩定,情況好的時候大部分靠近1,也有大部分接近於0的情況。右圖意思一樣。
6、 histograms
histograms是distributions三維展示,同樣對於張量Tensor來說,統計一個張量中每個數出現的次數,在三維中也就是高度。如下圖。
直方圖有兩種展現形式,overlay和offset。
OFFSET下:
該圖的橫座標表示d_loss的範圍,右側的總座標表示訓練測次數,對應的圖形中曲線的顏色由後至前逐步變淺,表示訓練的次數逐步增加。圖形中包含很多個曲線的切片,每個切片表示一次數據採集過程中的情況。從圖中可以看出判別器對真實數據的loss張量內每個loss出現的頻次。
OVERLAY:
上圖黑線表示,在迭代52606次後,在[batch_size,1]的張量中,loss值爲0.0502時出現了6.26次。