国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

pytorch對梯度進行可視化進行梯度檢查教程

2020-02-15 21:25:11
字體:
來源:轉載
供稿:網友

目的: 在訓練神經網絡的時候,有時候需要自己寫操作,比如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的時候采用更加復雜,或者更多的運算(這樣在梯度可視化的時候效果才更加明顯)

可視化效果

原始圖片

梯度可視化圖片

原圖+梯度圖

小結:

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

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

實驗二的效果

loss = mean(x)

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

實驗三:loss = sum(x)

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

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

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

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

以上這篇pytorch對梯度進行可視化進行梯度檢查教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂昌县| 德州市| 原平市| 南乐县| 诸城市| 隆尧县| 宁远县| 邵武市| 会理县| 石阡县| 繁峙县| 滦平县| 启东市| 平阳县| 金乡县| 普宁市| 南靖县| 安图县| 内丘县| 乐昌市| 佳木斯市| 巴彦淖尔市| 武城县| 探索| 沂水县| 高雄县| 加查县| 乌苏市| 宜川县| 甘南县| 获嘉县| 英吉沙县| 封丘县| 武义县| 晴隆县| 平武县| 嘉定区| 图木舒克市| 湟源县| 江西省| 嘉峪关市|