1 张量的概念
张量(Tensor)是一个多维数组,它是标量、向量、矩阵的高维拓展。
1.1 张量与Variable的渊源
Variable是torch.autograd中的数据类型。
Variable主要用于封装Tensor,进行自动求导。
data: 被包装的张量
grad: data的梯度
grad_fn: 记录创建该张量时所用的方法(函数)
require_grad: 指示是否需要梯度
is_leaf: 指示是否是叶子结点(张量),用于计算图
从PyTorch0.4.0开始,Variable并入张量。张量是Variable的5个属性再加上以下与数据相关的3个属性。
dtype: 张量的数据类型,如torch.FloatTensor,torch.cuda.FloatTensor
shape: 张量的形状,如四阶张量(64,3,224,224)
device: 张量所在设备,GPU/CPU,是加速的关键
重要的数据类型是:torch.float32(卷积层权值),torch.long(图像标签)
PS: 什么是四阶张量?
以图像为例,如下结构为四阶张量。