欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決torch.autograd.backward中的參數(shù)問(wèn)題

 更新時(shí)間:2020年01月07日 14:50:31   作者:coordinate_blog  
今天小編就為大家分享一篇解決torch.autograd.backward中的參數(shù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

torch.autograd.backward(variables, grad_variables=None, retain_graph=None, create_graph=False)

給定圖的葉子節(jié)點(diǎn)variables, 計(jì)算圖中變量的梯度和。 計(jì)算圖可以通過(guò)鏈?zhǔn)椒▌t求導(dǎo)。如果variables中的任何一個(gè)variable是 非標(biāo)量(non-scalar)的,且requires_grad=True。那么此函數(shù)需要指定grad_variables,它的長(zhǎng)度應(yīng)該和variables的長(zhǎng)度匹配,里面保存了相關(guān)variable的梯度(對(duì)于不需要gradient tensor的variable,None是可取的)。

此函數(shù)累積leaf variables計(jì)算的梯度。你可能需要在調(diào)用此函數(shù)之前將leaf variable的梯度置零。

參數(shù):

variables(變量的序列) - 被求微分的葉子節(jié)點(diǎn),即 ys 。

grad_variables((張量,變量)的序列或無(wú)) - 對(duì)應(yīng)variable的梯度。僅當(dāng)variable不是標(biāo)量且需要求梯度的時(shí)候使用。

retain_graph(bool,可選) - 如果為False,則用于釋放計(jì)算grad的圖。請(qǐng)注意,在幾乎所有情況下,沒(méi)有必要將此選項(xiàng)設(shè)置為T(mén)rue,通??梢砸愿行У姆绞浇鉀Q。默認(rèn)值為create_graph的值。

create_graph(bool,可選) - 如果為T(mén)rue,則將構(gòu)造派生圖,允許計(jì)算更高階的派生產(chǎn)品。默認(rèn)為False。

我這里舉一個(gè)官方的例子

import torch
from torch.autograd import Variable
x = Variable(torch.ones(2, 2), requires_grad=True)
y = x + 2
z = y * y * 3
out = z.mean()
out.backward()#這里是默認(rèn)情況,相當(dāng)于out.backward(torch.Tensor([1.0]))
print(x.grad)

輸出結(jié)果是

Variable containing:
 4.5000 4.5000
 4.5000 4.5000
[torch.FloatTensor of size 2x2]

接著我們繼續(xù)

x = torch.randn(3)
x = Variable(x, requires_grad=True)

y = x * 2
while y.data.norm() < 1000:
  y = y * 2

gradients = torch.FloatTensor([0.1, 1.0, 0.0001])
y.backward(gradients)
print(x.grad)

輸出結(jié)果是

Variable containing:
 204.8000
 2048.0000
  0.2048
[torch.FloatTensor of size 3]

這里這個(gè)gradients為什么要是[0.1, 1.0, 0.0001]?

如果輸出的多個(gè)loss權(quán)重不同的話(huà),例如有三個(gè)loss,一個(gè)是x loss,一個(gè)是y loss,一個(gè)是class loss。那么很明顯的不可能所有l(wèi)oss對(duì)結(jié)果影響程度都一樣,他們之間應(yīng)該有一個(gè)比例。那么比例這里指的就是[0.1, 1.0, 0.0001],這個(gè)問(wèn)題中的loss對(duì)應(yīng)的就是上面說(shuō)的y,那么這里的輸出就很好理解了dy/dx=0.1*dy1/dx+1.0*dy2/dx+0.0001*dy3/dx。

如有問(wèn)題,希望大家指正,謝謝_!

以上這篇解決torch.autograd.backward中的參數(shù)問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pytorch 中retain_graph的用法詳解

    Pytorch 中retain_graph的用法詳解

    今天小編就為大家分享一篇Pytorch 中retain_graph的用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python 中由 yield 實(shí)現(xiàn)異步操作

    Python 中由 yield 實(shí)現(xiàn)異步操作

    這篇文章主要介紹了Python 中由 yield 實(shí)現(xiàn)異步操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python使用turtle庫(kù)繪制奧運(yùn)五環(huán)

    python使用turtle庫(kù)繪制奧運(yùn)五環(huán)

    turtle也叫海龜,是turtle繪圖體系的python實(shí)現(xiàn),這篇文章主要介紹了python使用turtle庫(kù)繪制奧運(yùn)五環(huán),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2020-02-02
  • Python使用socket實(shí)現(xiàn)組播與發(fā)送二進(jìn)制數(shù)據(jù)

    Python使用socket實(shí)現(xiàn)組播與發(fā)送二進(jìn)制數(shù)據(jù)

    在工作中經(jīng)常會(huì)用到socket傳輸數(shù)據(jù),例如客戶(hù)端給服務(wù)器發(fā)送數(shù)據(jù)(雙方約定了數(shù)據(jù)格式),本文主要介紹了Python使用socket實(shí)現(xiàn)組播與發(fā)送二進(jìn)制數(shù)據(jù),感興趣的可以了解一下
    2021-06-06
  • Python-jenkins 獲取job構(gòu)建信息方式

    Python-jenkins 獲取job構(gòu)建信息方式

    這篇文章主要介紹了Python-jenkins 獲取job構(gòu)建信息方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • python打包exe開(kāi)機(jī)自動(dòng)啟動(dòng)的實(shí)例(windows)

    python打包exe開(kāi)機(jī)自動(dòng)啟動(dòng)的實(shí)例(windows)

    今天小編就為大家分享一篇python打包exe開(kāi)機(jī)自動(dòng)啟動(dòng)的實(shí)例(windows),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python 循環(huán)數(shù)據(jù)賦值實(shí)例

    python 循環(huán)數(shù)據(jù)賦值實(shí)例

    今天小編就為大家分享一篇python 循環(huán)數(shù)據(jù)賦值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python看某個(gè)模塊的版本方法

    python看某個(gè)模塊的版本方法

    今天小編就為大家分享一篇python看某個(gè)模塊的版本方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 如何利用Python隨機(jī)從list中挑選一個(gè)元素

    如何利用Python隨機(jī)從list中挑選一個(gè)元素

    這篇文章主要介紹了如何利用Python隨機(jī)從list中挑選一個(gè)元素,文章通過(guò)研究從列表中選擇隨機(jī)元素的不同實(shí)現(xiàn)方法展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • Python中的異常處理簡(jiǎn)明介紹

    Python中的異常處理簡(jiǎn)明介紹

    這篇文章主要介紹了Python中的異常處理簡(jiǎn)明介紹,本文講解了try-except檢測(cè)異常、上下文管理器(with…as…語(yǔ)句)、raise引發(fā)異常、斷言等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論