婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Pytorch反向傳播中的細節-計算梯度時的默認累加操作

Pytorch反向傳播中的細節-計算梯度時的默認累加操作

熱門標簽:地圖標注自己和別人標注區別 商家地圖標注海報 海外網吧地圖標注注冊 打電話機器人營銷 聊城語音外呼系統 ai電銷機器人的優勢 孝感營銷電話機器人效果怎么樣 騰訊地圖標注沒法顯示 南陽打電話機器人

Pytorch反向傳播計算梯度默認累加

今天學習pytorch實現簡單的線性回歸,發現了pytorch的反向傳播時計算梯度采用的累加機制, 于是百度來一下,好多博客都說了累加機制,但是好多都沒有說明這個累加機制到底會有啥影響, 所以我趁著自己練習的一個例子正好直觀的看一下以及如何解決:

pytorch實現線性回歸

先附上試驗代碼來感受一下:

torch.manual_seed(6)
lr = 0.01   # 學習率
result = []

# 創建訓練數據
x = torch.rand(20, 1) * 10
y = 2 * x + (5 + torch.randn(20, 1)) 

# 構建線性回歸函數
w = torch.randn((1), requires_grad=True)
b = torch.zeros((1), requires_grad=True)
# 這里是迭代過程,為了看pytorch的反向傳播計算梯度的細節,我先迭代兩次
for iteration in range(2):

    # 前向傳播
    wx = torch.mul(w, x)
    y_pred = torch.add(wx, b)

    # 計算 MSE loss
    loss = (0.5 * (y - y_pred) ** 2).mean()
    
    # 反向傳播
    loss.backward()
    
    # 這里看一下反向傳播計算的梯度
    print("w.grad:", w.grad)
    print("b.grad:", b.grad)
    
    # 更新參數
    b.data.sub_(lr * b.grad)
    w.data.sub_(lr * w.grad)

上面的代碼比較簡單,迭代了兩次, 看一下計算的梯度結果:

w.grad: tensor([-74.6261])
b.grad: tensor([-12.5532])
w.grad: tensor([-122.9075])
b.grad: tensor([-20.9364])

然后我稍微加兩行代碼, 就是在反向傳播上面,我手動添加梯度清零操作的代碼,再感受一下結果:

torch.manual_seed(6)
lr = 0.01
result = []
# 創建訓練數據
x = torch.rand(20, 1) * 10
#print(x)
y = 2 * x + (5 + torch.randn(20, 1)) 
#print(y)
# 構建線性回歸函數
w = torch.randn((1), requires_grad=True)
#print(w)
b = torch.zeros((1), requires_grad=True)
#print(b)
for iteration in range(2):
    # 前向傳播
    wx = torch.mul(w, x)
    y_pred = torch.add(wx, b)

    # 計算 MSE loss
    loss = (0.5 * (y - y_pred) ** 2).mean()
    
    # 由于pytorch反向傳播中,梯度是累加的,所以如果不想先前的梯度影響當前梯度的計算,需要手動清0
     if iteration > 0: 
        w.grad.data.zero_()
        b.grad.data.zero_()
    
    # 反向傳播
    loss.backward()
    
    # 看一下梯度
    print("w.grad:", w.grad)
    print("b.grad:", b.grad)
    
    # 更新參數
    b.data.sub_(lr * b.grad)
    w.data.sub_(lr * w.grad)

w.grad: tensor([-74.6261])
b.grad: tensor([-12.5532])
w.grad: tensor([-48.2813])
b.grad: tensor([-8.3831])

從上面可以發現,pytorch在反向傳播的時候,確實是默認累加上了上一次求的梯度, 如果不想讓上一次的梯度影響自己本次梯度計算的話,需要手動的清零。

但是, 如果不進行手動清零的話,會有什么后果呢? 我在這次線性回歸試驗中,遇到的后果就是loss值反復的震蕩不收斂。下面感受一下:

torch.manual_seed(6)
lr = 0.01
result = []
# 創建訓練數據
x = torch.rand(20, 1) * 10
#print(x)
y = 2 * x + (5 + torch.randn(20, 1)) 
#print(y)
# 構建線性回歸函數
w = torch.randn((1), requires_grad=True)
#print(w)
b = torch.zeros((1), requires_grad=True)
#print(b)

for iteration in range(1000):
    # 前向傳播
    wx = torch.mul(w, x)
    y_pred = torch.add(wx, b)

    # 計算 MSE loss
    loss = (0.5 * (y - y_pred) ** 2).mean()
#     print("iteration {}: loss {}".format(iteration, loss))
    result.append(loss)
    
    # 由于pytorch反向傳播中,梯度是累加的,所以如果不想先前的梯度影響當前梯度的計算,需要手動清0
    #if iteration > 0: 
    #    w.grad.data.zero_()
    #    b.grad.data.zero_()
  
    # 反向傳播
    loss.backward()
 
    # 更新參數
    b.data.sub_(lr * b.grad)
    w.data.sub_(lr * w.grad)
    
    if loss.data.numpy()  1:
        break
   plt.plot(result)

上面的代碼中,我沒有進行手動清零,迭代1000次, 把每一次的loss放到來result中, 然后畫出圖像,感受一下結果:

接下來,我把手動清零的注釋打開,進行每次迭代之后的手動清零操作,得到的結果:

可以看到,這個才是理想中的反向傳播求導,然后更新參數后得到的loss值的變化。

總結

這次主要是記錄一下,pytorch在進行反向傳播計算梯度的時候的累加機制到底是什么樣子? 至于為什么采用這種機制,我也搜了一下,大部分給出的結果是這樣子的:

但是如果不想累加的話,可以采用手動清零的方式,只需要在每次迭代時加上即可

w.grad.data.zero_()
b.grad.data.zero_()

另外, 在搜索資料的時候,在一篇博客上看到兩個不錯的線性回歸時pytorch的計算圖在這里借用一下:


以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • pytorch 梯度NAN異常值的解決方案
  • pytorch 權重weight 與 梯度grad 可視化操作
  • PyTorch 如何檢查模型梯度是否可導
  • 淺談pytorch中為什么要用 zero_grad() 將梯度清零
  • PyTorch梯度裁剪避免訓練loss nan的操作
  • PyTorch 如何自動計算梯度
  • Pytorch獲取無梯度TorchTensor中的值

標簽:六盤水 南寧 聊城 揚州 撫州 迪慶 牡丹江 楊凌

巨人網絡通訊聲明:本文標題《Pytorch反向傳播中的細節-計算梯度時的默認累加操作》,本文關鍵詞  Pytorch,反向,傳播,中的,細節,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch反向傳播中的細節-計算梯度時的默認累加操作》相關的同類信息!
  • 本頁收集關于Pytorch反向傳播中的細節-計算梯度時的默認累加操作的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲精选在线视频| 国产欧美一区二区在线| 成人精品鲁一区一区二区| 青青国产91久久久久久| 午夜精品成人在线| 亚洲成人动漫av| 日韩av一二三| 久久成人18免费观看| 久久爱www久久做| 国产精品白丝jk黑袜喷水| 国产成人啪午夜精品网站男同| 国产精品一区不卡| 99久久婷婷国产| 色婷婷av一区二区三区gif| 在线观看欧美黄色| 91麻豆精品国产91久久久久久久久| 欧美丰满美乳xxx高潮www| 欧美一区二区三区爱爱| 久久综合狠狠综合久久综合88| 国产偷v国产偷v亚洲高清| 国产精品视频一二| 亚洲国产视频在线| 国产在线精品一区二区不卡了| 国产真实乱子伦精品视频| 成人国产一区二区三区精品| 色哟哟一区二区在线观看 | 欧美极品xxx| 亚洲人成伊人成综合网小说| 天堂av在线一区| 国产一区二区按摩在线观看| 99国产精品视频免费观看| 欧美久久一二三四区| 久久久综合九色合综国产精品| 亚洲欧美日韩在线| 久久机这里只有精品| av激情综合网| 日韩久久免费av| 尤物在线观看一区| 国产精品1区2区| 欧美系列日韩一区| 国产精品美女久久久久久久久久久 | 午夜一区二区三区视频| 老司机一区二区| 色香蕉久久蜜桃| 精品国产制服丝袜高跟| 亚洲一二三四久久| 丁香婷婷综合网| 日韩免费一区二区| 亚洲成人av资源| 色综合夜色一区| 亚洲欧洲日产国产综合网| 日韩极品在线观看| 色香蕉成人二区免费| 国产人伦精品一区二区| 免费观看在线综合| 欧美亚州韩日在线看免费版国语版| 久久精品欧美日韩| 七七婷婷婷婷精品国产| 欧美性猛交xxxxxx富婆| 综合久久国产九一剧情麻豆| 国产精品白丝jk白祙喷水网站| 欧美高清dvd| 亚洲一卡二卡三卡四卡无卡久久| 成人黄色a**站在线观看| 国产日韩欧美在线一区| 九九久久精品视频 | 久久草av在线| 欧美变态tickle挠乳网站| 精品久久久久一区| 美腿丝袜在线亚洲一区| 欧美乱妇20p| 免费久久99精品国产| 欧美巨大另类极品videosbest | 久久精品999| 日韩欧美亚洲国产另类| 日韩电影在线免费看| 欧美精品一二三四| 日韩中文字幕一区二区三区| 欧美日韩国产在线观看| 亚洲va在线va天堂| 91精品欧美一区二区三区综合在 | 国产成人一级电影| 中文字幕乱码日本亚洲一区二区 | 一区二区三区四区在线免费观看 | 日韩女优av电影| 精品一区二区久久久| 亚洲精品一区在线观看| 国产乱码精品一区二区三区忘忧草 | 日韩欧美的一区| 国产精品99久久久久久似苏梦涵| 久久久蜜臀国产一区二区| 成人免费毛片高清视频| 亚洲三级电影网站| 欧美日韩一二区| 精品综合免费视频观看| 中文字幕电影一区| 欧美日韩中文国产| 久久丁香综合五月国产三级网站| 久久久青草青青国产亚洲免观| 97精品久久久久中文字幕| 亚洲成人动漫在线免费观看| 欧美mv日韩mv亚洲| 99久久精品国产网站| 亚洲mv在线观看| 国产亚洲女人久久久久毛片| 色国产精品一区在线观看| 日产国产高清一区二区三区| 亚洲国产精品精华液2区45| 欧美三区免费完整视频在线观看| 久久99精品久久久| 亚洲欧美日韩国产综合| 欧美不卡一区二区| 一本大道久久a久久精二百| 狂野欧美性猛交blacked| 亚洲精品中文字幕乱码三区 | 亚洲色图视频免费播放| 制服丝袜成人动漫| 成人激情动漫在线观看| 日韩成人一级片| 亚洲你懂的在线视频| 亚洲精品在线免费观看视频| 在线精品亚洲一区二区不卡| 国产成人丝袜美腿| 麻豆视频观看网址久久| 一区二区三区四区亚洲| 国产亚洲精品aa| 日韩欧美美女一区二区三区| 在线观看成人免费视频| 成人激情免费网站| 国产精品538一区二区在线| 日韩精品一二三区| 亚洲精品国产品国语在线app| 国产亚洲人成网站| 精品国产伦一区二区三区观看方式 | 国产黑丝在线一区二区三区| 七七婷婷婷婷精品国产| 亚洲高清视频在线| 亚洲综合在线第一页| 亚洲免费av高清| 亚洲视频一区二区在线观看| 国产亚洲欧美激情| 久久久久亚洲综合| 精品国产在天天线2019| 精品剧情在线观看| 精品福利在线导航| 欧美大黄免费观看| 6080午夜不卡| 欧美美女喷水视频| 欧美精品久久久久久久久老牛影院| 在线观看亚洲a| 欧美日韩久久不卡| 欧美日韩午夜在线| 欧美三级电影在线观看| 欧美在线|欧美| 欧美日本视频在线| 欧美精品一卡二卡| 日韩小视频在线观看专区| 精品久久久久久亚洲综合网 | 欧美成人猛片aaaaaaa| 欧美一区二区三区四区久久| 91精品国产综合久久蜜臀| 日韩欧美久久久| 2021久久国产精品不只是精品 | 91浏览器入口在线观看| 色婷婷综合久久久中文字幕| 欧美在线观看视频一区二区| 7777女厕盗摄久久久| 精品国产乱码久久| 中文文精品字幕一区二区| 中文字幕在线不卡| 一区二区三区免费看视频| 日韩不卡一区二区三区| 国产成人免费在线| 91精品福利在线| 欧美不卡一二三| 亚洲日穴在线视频| 美腿丝袜在线亚洲一区| 国产成人免费av在线| 欧美三级电影在线看| 久久女同精品一区二区| 亚洲欧美日韩一区二区| 久久精品久久精品| 色哟哟国产精品免费观看| 欧美v亚洲v综合ⅴ国产v| 国产精品久久久久久久久免费相片| 一二三四区精品视频| 国产精品一区二区久久不卡| 日本高清不卡在线观看| 欧美videos大乳护士334| 亚洲精品视频在线看| 国产制服丝袜一区| 欧美日韩黄色一区二区| 国产精品久久综合| 美女视频黄频大全不卡视频在线播放| 国产成人免费视频一区| 7777精品伊人久久久大香线蕉超级流畅| 国产精品视频一二三区| 蜜桃视频免费观看一区| 欧美色男人天堂| 日韩一区在线看|