torch.autograd.Variable是Autograd的核心類,它封裝了Tensor,並整合了反向傳播的相關實現(tensor變成variable之后才能進行反向傳播求梯度?用變量.backward()進行反向傳播之后,var.grad中保存了var的梯度)
x = Variable(tensor, requires_grad = True)
Varibale包含三個屬性:
- data:存儲了Tensor,是本體的數據
- grad:保存了data的梯度,本事是個Variable而非Tensor,與data形狀一致
- grad_fn:指向Function對象,用於反向傳播的梯度計算之用
用法:
-
import torch
-
from torch.autograd import Variable
-
x = Variable(torch.one( 2,2), requires_grad = True)
-
print(x) #其實查詢的是x.data,是個tenso