亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 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反向傳播中的細節-計算梯度時的默認累加操作的相關信息資訊供網民參考!
  • 推薦文章
    欧美大片a一级毛片视频| 日本特黄特黄aaaaa大片 | 精品国产三级a∨在线观看| 香蕉视频一级| 国产一区二区精品久久91| 免费国产在线观看不卡| 一级毛片视频播放| 国产一区免费观看| 亚洲精品中文一区不卡| 精品国产一级毛片| 台湾毛片| 精品国产香蕉在线播出| 你懂的国产精品| 久久国产影视免费精品| 国产亚洲免费观看| 国产伦精品一区二区三区无广告| 麻豆污视频| 欧美电影免费看大全| 精品久久久久久中文| 亚洲 欧美 成人日韩| 国产成人啪精品视频免费软件| 国产极品精频在线观看| 国产91精品一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 久久国产精品只做精品| 黄色短视屏| 成人免费观看男女羞羞视频| 欧美日本免费| 精品在线观看一区| 美女免费毛片| 韩国三级香港三级日本三级| 欧美1区2区3区| 国产一区二区精品久久91| 国产成a人片在线观看视频| 国产精品免费久久| 亚州视频一区二区| 精品国产一级毛片| 国产视频一区二区在线观看| 国产极品精频在线观看| 91麻豆精品国产综合久久久| 亚洲www美色| 成人影视在线观看| 九九九网站| 亚洲精品中文一区不卡| 91麻豆tv| 国产欧美精品| 黄色福利片| 久久成人性色生活片| 国产精品免费久久| 亚欧乱色一区二区三区| 一级毛片视频播放| 精品国产香蕉伊思人在线又爽又黄| 毛片高清| 青青久久国产成人免费网站| 国产精品自拍一区| 天天色色网| 高清一级淫片a级中文字幕| 亚洲女人国产香蕉久久精品| 日韩一级黄色大片| 夜夜操网| 黄色免费三级| 国产成人欧美一区二区三区的| 国产一区二区高清视频| 青草国产在线观看| 欧美一级视| a级毛片免费观看网站| 国产一区二区精品| 国产一区二区精品久久| 欧美激情伊人| 黄色免费三级| 中文字幕一区二区三区精彩视频| 一级毛片看真人在线视频| 精品在线观看一区| 一 级 黄 中国色 片| 精品国产香蕉伊思人在线又爽又黄| 亚洲天堂在线播放| 999久久狠狠免费精品| 国产精品自拍一区| 精品视频在线观看免费| 韩国毛片基地| 欧美一区二区三区性| 91麻豆国产福利精品| 九九久久99| 久久久成人影院| 日本特黄特黄aaaaa大片| 亚欧视频在线| 国产成+人+综合+亚洲不卡 | 91麻豆精品国产自产在线观看一区| 香蕉视频久久| 韩国毛片免费大片| 香蕉视频一级| 欧美1区| 日本在线不卡视频| 午夜在线亚洲| 国产麻豆精品高清在线播放| 日本伦理黄色大片在线观看网站| 日本在线播放一区| 国产亚洲精品aaa大片| 国产成人啪精品视频免费软件| 欧美激情在线精品video| 国产91素人搭讪系列天堂| 久久久成人网| 99久久精品国产免费| 欧美一级视| 久久精品大片| 国产成人精品综合| 亚洲wwwwww| 你懂的日韩| 一级片免费在线观看视频| 精品国产一级毛片| 精品国产一区二区三区免费 | 色综合久久天天综线观看| 香蕉视频亚洲一级| 夜夜操网| 国产91精品系列在线观看| 欧美α片无限看在线观看免费| 成人免费观看的视频黄页| 欧美激情一区二区三区视频 | 二级片在线观看| 成人在免费观看视频国产| 黄视频网站在线观看| 欧美a免费| 麻豆午夜视频| 国产不卡在线观看| 国产一区二区精品| 国产一区二区精品久久91| 亚洲第一色在线| 九九精品影院| 成人免费观看的视频黄页| 日韩一级黄色片| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99久久精品国产麻豆| 四虎影视久久久免费| 欧美a级片免费看| 国产成人啪精品| 午夜久久网| 国产不卡在线观看| 欧美激情一区二区三区视频高清 | 亚洲第一页乱| 九九精品久久久久久久久| 国产麻豆精品高清在线播放| 精品视频一区二区三区| 日本特黄特黄aaaaa大片| 欧美激情伊人| 久久国产精品只做精品| 青青青草视频在线观看| 国产成人精品影视| 日日日夜夜操| 成人av在线播放| 毛片的网站| 国产亚洲免费观看| 精品国产一区二区三区国产馆| 久久福利影视| 天天做日日爱| 精品国产三级a∨在线观看| 二级片在线观看| 欧美一区二区三区在线观看| 国产国产人免费视频成69堂| 黄色免费三级| 国产视频一区二区三区四区| 国产激情一区二区三区| 国产一区二区精品尤物| 精品在线免费播放| 免费一级片在线| 中文字幕一区二区三区 精品| 高清一级做a爱过程不卡视频| 精品国产三级a| 国产一区二区精品久久91| 国产视频一区二区三区四区| 国产一区二区精品久| 亚洲天堂免费| 免费的黄视频| 精品视频在线观看免费| 国产一区二区精品| 韩国三级香港三级日本三级la | 日韩在线观看免费| 欧美一级视频高清片| 久久国产精品只做精品| 日韩综合| 欧美大片a一级毛片视频| 日韩在线观看视频黄| 国产麻豆精品高清在线播放| 可以在线看黄的网站| 四虎影视库| 国产成人精品影视| 国产伦精品一区二区三区无广告| 一级女性大黄生活片免费| 国产精品1024在线永久免费| 一级女性全黄久久生活片| 欧美激情一区二区三区在线播放 | 欧美国产日韩久久久| 美女免费精品视频在线观看| 亚欧视频在线| 日本免费乱人伦在线观看| 欧美激情一区二区三区视频高清 | 国产成a人片在线观看视频| 国产91精品露脸国语对白| 青青久久精品国产免费看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 黄视频网站免费观看|