91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

怀远县| 黎城县| 那曲县| 兴安盟| 庆云县| 巴彦县| 新竹市| 金沙县| 江山市| 伽师县| 垫江县| 沁水县| 阳信县| 连山| 嘉祥县| 萨嘎县| 突泉县| 长垣县| 武定县| 岱山县| 苍山县| 华宁县| 文化| 肃宁县| 肇州县| 博野县| 东城区| 洛浦县| 子洲县| 青铜峡市| 花莲市| 隆林| 盐源县| 隆回县| 朝阳市| 应用必备| 榆林市| 宜州市| 化德县| 潍坊市| 阿合奇县|