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
张量的创建
张量的创建
张量的创建

依据概率创建

张量的创建
张量的创建
张量的创建
张量的创建
张量的创建

相关文章: