亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PyTorch中Variable變量的作用是什么

發布時間:2021-07-29 15:32:07 來源:億速云 閱讀:398 作者:Leah 欄目:開發技術

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

Variable的定義:

import torch
from torch.autograd import Variable # torch 中 Variable 模塊
tensor = torch.FloatTensor([[1,2],[3,4]])
# 把雞蛋放到籃子里, requires_grad是參不參與誤差反向傳播, 要不要計算梯度
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計算時,它會逐漸地生成計算圖。這個圖就是將所有的計算節點都連接起來,最后進行誤差反向傳遞的時候,一次性將所有Variable里面的梯度都計算出來,而tensor就沒有這個能力。

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

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

三、獲取Variable里面的數據

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

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

擴展

在PyTorch中計算圖的特點總結如下:

autograd根據用戶對Variable的操作來構建其計算圖。

1、requires_grad

variable默認是不需要被求導的,即requires_grad屬性默認為False,如果某一個節點的requires_grad為True,那么所有依賴它的節點requires_grad都為True。

2、volatile

variable的volatile屬性默認為False,如果某一個variable的volatile屬性被設為True,那么所有依賴它的節點volatile屬性都為True。volatile屬性為True的節點不會求導,volatile的優先級比requires_grad高。

3、retain_graph

多次反向傳播(多層監督)時,梯度是累加的。一般來說,單次反向傳播后,計算圖會free掉,也就是反向傳播的中間緩存會被清空【這就是動態度的特點】。為進行多次反向傳播需指定retain_graph=True來保存這些緩存。

4、backward()

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 天门市| 桐柏县| 阿巴嘎旗| 老河口市| 阆中市| 五原县| 青冈县| 长春市| 广平县| 城口县| 青州市| 安康市| 安福县| 华池县| 广宁县| 敦煌市| 鸡东县| 江北区| 余姚市| 甘孜县| 寿阳县| 安达市| 奉新县| 桂林市| 盈江县| 东乌| 乌鲁木齐县| 万年县| 四会市| 寿光市| 托里县| 吴旗县| 桃江县| 沙坪坝区| 扶风县| 神农架林区| 澄城县| 崇信县| 大埔县| 赣榆县|