tensorboard的梯度與權重histogram圖學習


1.作圖

https://www.cnblogs.com/zpc1001/p/13322902.html

    # 每一個epoch,記錄各層權重、梯度
    for name, param in net.named_parameters():  # 返回網絡的
        writer.add_histogram(name + '_grad', param.grad, epoch)
        writer.add_histogram(name + '_data', param, epoch)

2.理解

https://blog.csdn.net/u010099080/article/details/77426577

首先是DISTRIBUTIONS,可以查一下從上到下共有八條線,有深有淺,分別表示[maximum, 93%, 84%, 69%, 50%, 31%, 16%, 7%, minimum],是分位數

DISTRIBUTIONS是多分位數折線圖 的堆疊。

下面HISTOGRAMS 可以說是 頻數分布直方圖 的堆疊。

橫軸表示權重值,縱軸表示訓練步數。顏色越深表示時間越早,越淺表示時間越晚(越接近訓練結束)。除此之外,HISTOGRAMS 還有個 Histogram mode,有兩個選項:OVERLAY 和 OFFSET。選擇 OVERLAY 時橫軸為權重值,縱軸為頻數,每一條折線為訓練步數。顏色深淺與上面同理。默認為 OFFSET 模式:

https://blog.csdn.net/qq_33345917/article/details/85008083

更清晰的一個圖

 

 x軸為數值,y軸為循環的次數,z軸為個數。

那么針對一條線縱軸y=100上的類似三角形來說,表示在訓練到這個epochy的情況下,梯度值大約為150-200之間的范圍,z軸為個數,說明梯度都集中在這個范圍內。

真實的分布直方圖應該是一條直線,符合正態分布。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM