PyTorch张量的概念以及创建方法

本文介绍了PyTorch中张量的概念,包括Tensor与Variable的关系,重点讲解了如何通过直接创建、数值创建和概率分布创建三种方式来构建张量,详细列举了各种创建方法的使用示例和参数说明。
摘要由CSDN通过智能技术生成

PyTorch张量

前言

张量是一个多维数组,它是标量,向量,矩阵的高维拓展。

一、Tensor与Variable

Variable是torch.autograd中的数据类型,主要用于封装Tensor,进行自动求导。

在pytorch0.4.0版本之后,Variable已经并入了Tensor,不再需要这个数据类型。但功能差不多。

torch.autograd.variable中有:
data:被封装的Tensor
grad:data的梯度
grad_fn:创建Tensor的function,是自动求导的关键
requires_grad:指示是否需要计算梯度
is_leaf:指示是否为叶子结点(张量)
共五个属性

0.4.0版本开始,Variable并入Tensor
torch.Tensor中有:
data:被封装的Tensor
grad:data的梯度
grad_fn:创建Tensor的function,是自动求导的关键
requires_grad:指示是否需要计算梯度
is_leaf:指示是否为叶子结点(张量)
新增属性:
dtype:Tensor的数据类型(32-bit float,64-bit int等)
shape:Tensor的形状,如(64,3,224,224)
device:Tensor所在设备,是cpu还是gpu
四个与数据相关,四个与梯度求导相关

二、创建张量的三种方法

1.直接创建

torch.tensor()
功能:从data创建tensor
data:数据,可以是list,numpy
dtype:数据类型,默认与data一致
device:所在设备,cuda/cpu
requires_grad:是否需要梯度
pin_memory:是否存于锁页内存,通常为false

代码如下(示例):

torch.tensor(
             data,
             dtype=None,
             device=None,
             requires_grad=False,
             pin_memory=False)
arr=np.ones((3,3))
t=torch.tensor(arr,device='cuda')
print(t)
##########以下为结果
tensor([[1.,1.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值