中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pytorch對梯度進行可視化進行梯度檢查的示例分析

發布時間:2021-07-22 14:26:11 來源:億速云 閱讀:317 作者:小新 欄目:開發技術

這篇文章主要介紹了pytorch對梯度進行可視化進行梯度檢查的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目的: 在訓練神經網絡的時候,有時候需要自己寫操作,比如faster_rcnn中的roi_pooling,我們可以可視化前向傳播的圖像和反向傳播的梯度圖像,前向傳播可以檢查流程和計算的正確性,而反向傳播則可以大概檢查流程的正確性。

實驗

可視化rroi_align的梯度

1.pytorch 0.4.1及之前,需要聲明需要參數,這里將圖片數據聲明為variable

im_data = Variable(im_data, requires_grad=True)

2.進行前向傳播,最后的loss映射為一個一維的張量

pooled_feat = roipool(im_data, rois.view(-1, 6))
res = pooled_feat.pow(2).sum()
res.backward()

3.注意求loss的時候采用更加復雜,或者更多的運算(這樣在梯度可視化的時候效果才更加明顯)

可視化效果

原始圖片

pytorch對梯度進行可視化進行梯度檢查的示例分析

梯度可視化圖片

pytorch對梯度進行可視化進行梯度檢查的示例分析

原圖+梯度圖

pytorch對梯度進行可視化進行梯度檢查的示例分析

小結:

可以看到誤差梯度的位置是正確的,誤差是否正確,需要其他方式驗證(暫時沒有思路)

可以看到上面在求loss的時候為:loss = sum(x2),但是如果換成:loss = mean(x),效果就沒有上面明顯。

實驗二的效果

pytorch對梯度進行可視化進行梯度檢查的示例分析

loss = mean(x)

可以看到根本無法看到誤差梯度的位置信息

實驗三:loss = sum(x)

pytorch對梯度進行可視化進行梯度檢查的示例分析

pytorch對梯度進行可視化進行梯度檢查的示例分析

小結: 可以看到位置信息有差別,比如國徽部分,這會讓人以為,國徽部分只利用了左部分的信息,或者自己手寫的操作誤差索引不對。

可以通過兩種方式進行驗證

1.用更多,更復雜的運算求loss,比如pow,等

2.用matplotlib顯示圖片后,用鼠標可以指示每個點的具體的值,可以檢測有誤差梯度區域是否和無誤差梯度區域有差別。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“pytorch對梯度進行可視化進行梯度檢查的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渭源县| 通化县| 波密县| 柘荣县| 蒙阴县| 宿松县| 克东县| 浦城县| 舒城县| 武安市| 民和| 正宁县| 方城县| 会昌县| 顺义区| 呼图壁县| 德兴市| 蒙山县| 杭锦旗| 公安县| 甘谷县| 四子王旗| 福州市| 昌宁县| 柏乡县| 奈曼旗| 宝丰县| 蓬溪县| 航空| 西城区| 和硕县| 乌恰县| 绵竹市| 分宜县| 报价| 拜城县| 德兴市| 长岭县| 河北省| 云龙县| 兴安盟|