变量类型
pytorch
中有两种变量类型,一个是Tensor
,一个是Variable
。
Tensor
: 就像ndarray
一样,一维Tensor
叫Vector
,二维Tensor
叫Matrix
,三维及以上称为Tensor
Variable
:是Tensor
的一个wrapper
,不仅保存了值,而且保存了这个值的creator
,需要BP
的网络都是Variable
Variable
Variable包括data,grad,volatile,creatoor,
- data – 包含的
Tensor
- grad – 保存着
Variable
的梯度。这个属性是懒分配的,且不能被重新分配。 - requires_grad – 布尔值,指示这个
Variable
是否是被一个包含Variable
的子图创建的。更多细节请看Excluding subgraphs from backward
。只能改变leaf variable
的这个标签。 - volatile – 布尔值,指示这个
Variable
是否被用于推断模式(即,不保存历史信息)。更多细节请看Excluding subgraphs from backward
。只能改变leaf variable
的这个标签。 - creator – 创建这个
Variable
的Function
,对于leaf variable
,这个属性为None
。只读属性。