Variable
众所周知,PyTorch和TensorFlow最牛逼的地方就是自动求导术,而在PyTorch中运用这一“玄学”的就是Variable。一旦我们将网络结构,loss算法,优化策略等计算构建好之后,调用.backward()就可以自动求网络参数的导数。
Variable是对Tensor的一种封装,可以调用.data属性获取Tensor数据,导数也可以调用.grad获得。如果Variable是标量的话,就不需要求导。只有对变量进行某种操作或者函数定义,这个Variable才有求导行为,可以用.grad_fn获取求导行为。
import torch
from torch.autograd import Variable
#创建一个变量并需要求导
x = Variable(torch.ones(2, 2), requires_grad=