1.介绍Variable
实际上,Variable是Torch里的一种数据类型,他与tensor没有什么很大的区别,但
是他们属于不同的数据类型,Variable对象有更多的属性。主要的区别如下:
①、Variable类型的变量具有自动求导的功能
②、Variable类型的变量会被放到一个计算图中,Variable类型的变量具有三个属性:data、grad、grad_fn:
data: 取出Variable里面的tensor数值
grad:是variable的反向传播梯度,也就是求导的结果
grad_fn: 是指得到这个Variable所要进行的操作,比如是通过加减乘除,下面有具体的例子。如果是
Variable是在torch.autograd中,注意引用Variable的时候要导入
import torch
from torch.autograd import Variable # 从torch.autograd导入Variable
先看看Tensor和Variable的区别:
a = torch.Tensor([1]) # 创建一个Tensor变量
b = Variable(a) # 将一个Tensor变成Variable很简单,直接通过Variable转就可以
print(a)
print(b)
tensor([1.])
tensor([1.])