真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PyTorch中Variable變量的作用是什么-創(chuàng)新互聯(lián)

PyTorch中Variable變量的作用是什么,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司十余年經(jīng)驗(yàn)成就非凡,專業(yè)從事成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),成都網(wǎng)頁(yè)設(shè)計(jì),成都網(wǎng)頁(yè)制作,軟文發(fā)布平臺(tái),廣告投放等。十余年來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:028-86922220,我們期待您的來電!

Variable的定義:

import torch
from torch.autograd import Variable # torch 中 Variable 模塊
tensor = torch.FloatTensor([[1,2],[3,4]])
# 把雞蛋放到籃子里, requires_grad是參不參與誤差反向傳播, 要不要計(jì)算梯度
variable = Variable(tensor, requires_grad=True)
 
print(tensor)
"""
 1 2
 3 4
[torch.FloatTensor of size 2x2]
"""
 
print(variable)
"""
Variable containing:
 1 2
 3 4
[torch.FloatTensor of size 2x2]
"""

注:tensor不能反向傳播,variable可以反向傳播。

二、Variable求梯度

Variable計(jì)算時(shí),它會(huì)逐漸地生成計(jì)算圖。這個(gè)圖就是將所有的計(jì)算節(jié)點(diǎn)都連接起來,最后進(jìn)行誤差反向傳遞的時(shí)候,一次性將所有Variable里面的梯度都計(jì)算出來,而tensor就沒有這個(gè)能力。

v_out.backward() # 模擬 v_out 的誤差反向傳遞

print(variable.grad) # 初始 Variable 的梯度
'''
 0.5000 1.0000
 1.5000 2.0000
'''

三、獲取Variable里面的數(shù)據(jù)

直接print(Variable) 只會(huì)輸出Variable形式的數(shù)據(jù),在很多時(shí)候是用不了的。所以需要轉(zhuǎn)換一下,將其變成tensor形式。

print(variable)  # Variable 形式
"""
Variable containing:
 1 2
 3 4
[torch.FloatTensor of size 2x2]
"""
 
print(variable.data) # 將variable形式轉(zhuǎn)為tensor 形式
"""
 1 2
 3 4
[torch.FloatTensor of size 2x2]
"""
 
print(variable.data.numpy()) # numpy 形式
"""
[[ 1. 2.]
 [ 3. 4.]]
"""

擴(kuò)展

在PyTorch中計(jì)算圖的特點(diǎn)總結(jié)如下:

autograd根據(jù)用戶對(duì)Variable的操作來構(gòu)建其計(jì)算圖。

1、requires_grad

variable默認(rèn)是不需要被求導(dǎo)的,即requires_grad屬性默認(rèn)為False,如果某一個(gè)節(jié)點(diǎn)的requires_grad為True,那么所有依賴它的節(jié)點(diǎn)requires_grad都為True。

2、volatile

variable的volatile屬性默認(rèn)為False,如果某一個(gè)variable的volatile屬性被設(shè)為True,那么所有依賴它的節(jié)點(diǎn)volatile屬性都為True。volatile屬性為True的節(jié)點(diǎn)不會(huì)求導(dǎo),volatile的優(yōu)先級(jí)比requires_grad高。

3、retain_graph

多次反向傳播(多層監(jiān)督)時(shí),梯度是累加的。一般來說,單次反向傳播后,計(jì)算圖會(huì)free掉,也就是反向傳播的中間緩存會(huì)被清空【這就是動(dòng)態(tài)度的特點(diǎn)】。為進(jìn)行多次反向傳播需指定retain_graph=True來保存這些緩存。

4、backward()

反向傳播,求解Variable的梯度。放在中間緩存中。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、網(wǎng)站設(shè)計(jì)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


分享文章:PyTorch中Variable變量的作用是什么-創(chuàng)新互聯(lián)
鏈接URL:http://weahome.cn/article/djdejs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部