torch.autograd.Variable是Autograd的核心类,它封装了Tensor,并整合了反向传播的相关实现
Varibale包含三个属性:
data:存储了Tensor,是本体的数据
grad:保存了data的梯度
grad_fn:指向Function对象,用于反向传播的梯度计算之用
例子:对y=x^2求梯度,将x设为variable,则输出的是当x作为变量时,当他取设定的tensor的值的时候的梯度。
import torch
from torch.autograd import Variable
t = torch.tensor([[1.,2],[3,4]])
x = Variable(t, requires_grad = True)
print(x)#其实查询的是x.data,是个tensor
y=x*x
print(y.backward)