Variable与Tensor
Variable 是torch.autograd中的数据类型(0.4.0之前)主要用于封装Tensor,进行自动求导
data: 被包装的Tensor
grad:data 的梯度
grad_fn 创建Tensor的Function,是自动求导的关键
requires_grad: 指示是否需要梯度
is_leaf:指示是否是叶子结点(张量)
dtype:张量的数据类型
shape:张量的形状,如(64,4,224,224)
device:张量所在设备,Gpu/Cpu
创建张量
直接创建
1.torch.tenson(
data,
dtype=None,
device = None,
requires_grad = False,
pin_memory=False)
data:数据,可以是list,numpy
dtype:默认是data的数据类型
device:所在设备,cuda/cpu
requires_grad:是否需要梯度
pin_memory:是否存于锁页内存(类似于全局变量,不释放内存)
2.torch.from_numpy(ndarry)
功能:从numpy创建tensor
注意:从torch.from_numpy创建的tensor于原ndarry共享内存,当修改其中一个数据,另外一个也会被改动!
依据数值创建
1.
size:张量的形状,如(3,3)、(3,224,224)
out:输出的张量(两个变量名,指向同一个地址)
layout:内存中布局形式,有strided,sparese_coo等
devece:所在设备
requires_grad:是否需要梯度
2.
input:创建与input同形状的全0张量
dtype:数据类型
layout:内存中的布局形式
eg:torch.fill((3,3),10) 3X3 值全为10