TensorBoard中HISTOGRAMS和DISTRIBUTIONS圖形的含義

前言

以前我都是用TensorBoard記錄訓練過程當中的Loss、mAP等標量,很容易就知道TensorBoard裏的SCALARS(標量)圖是怎麼看的(其中橫縱軸的含義、Smoothing等)。html

最近在嘗試模型壓縮,其中的一個步驟是對模型進行稀疏訓練。git

稀疏訓練時須要記錄模型中BN層的Gamma值的分佈狀況(取哪些值,這些值出現的次數/頻度),這時用TensorBoard裏的SCALARS之類的圖就不合適了,而是應該用TensorBoard裏的HISTOGRAMS(直方圖)和DISTRIBUTIONS(暫未找到合適的譯文)。github

因此我昨天學習、瞭解了一點HISTOGRAMS和DISTRIBUTIONS,今天作了一部分簡單記錄,具體見下文。vim

正文

HISTOGRAMS和DISTRIBUTIONS這兩種圖的數據源是相同的,只是從不一樣的視角、以不一樣的方式來表示數據的分佈狀況。數組

下面先介紹HISTOGRAMS,再介紹DISTRIBUTIONS。學習

HISTOGRAMS

HISTOGRAMS

上圖是TensorBoard生成的一個直方圖(OFFEST模式),下面介紹圖中幾個元素的含義。.net

  • 數據源
    • 數據源是一維數組
      • 也在別處看到有人說能夠是多維數組,但會被壓縮成一維數組,有興趣的小夥伴能夠具體研究一下
      • 若是你只有1個數組,也是能夠的
  • 當鼠標放在圖上時出現的一條黑線和數字
    • 鼠標放在圖上出現的一條黑線,就對應數據源裏的一個一維數組
    • 上圖中顯示的黑線對應個人第41個數組的全部元素(index爲40,由於index從0開始計數的)的取值的分佈狀況
  • 圖下方的橫軸
    • 橫軸的值和數組內元素的取值對應
  • 圖右方的縱軸
    • 縱軸的值對應着是哪個數組,或者說對應了數組的id、index(上邊提到的40)
  • 顏色
    • 能夠看到上圖中的顏色是漸變的,靠上(id小)的顏色深,靠下(id大)的顏色淺
  • 上面的用詞比較「學術化」,若是看不懂,就看下邊的這個解釋吧
    • 個人數據有99個數組,index從0到98,但右側的縱軸值只標到了90
    • 數組元素的分佈範圍是橫軸上的數字,能夠看出個人每一個數組中的元素的取值大約集中在0到0.2,超過1.5的元素不多
    • 個人第40個數組(說法不嚴謹,準確地說是id爲40)中大約有505個元素的值爲0.536左右
  • 若是仍是不懂的話,建議先去看看直方圖是什麼

DISTRIBUTIONS

DISTRIBUTIONS

把HISTOGRAMS搞懂後,這個圖就很好懂的,由於這個圖的數據源和HISTOGRAMS同樣。3d

  • 橫軸
    • 橫軸是對應哪一個數組
  • 縱軸
    • 數組中元素的取值
  • 顏色
    • 顏色深表明對應值出現的頻數高
  • 如上圖,個人99個數組從0到98,數組中元素的取值慢慢地趨近於0

參考連接

剪枝Github

https://github.com/tanluren/yolov3-channel-and-layer-pruninghtm

HISTOGRAMS和DISTRIBUTIONS

http://www.javashuo.com/article/p-ejfadqut-dd.htmlblog

https://vimsky.com/article/3645.html

https://www.jianshu.com/p/8fdc43e48c86

https://blog.csdn.net/wgj99991111/article/details/84708255


做者:@臭鹹魚

轉載請註明出處:https://www.cnblogs.com/chouxianyu/

歡迎討論和交流!

相關文章
相關標籤/搜索