pytorch:张量概念与创建的api

1 张量(Tensor)

  • 标量:0维张量
  • 向量:1维张量
  • 矩阵:2维张量
    在这里插入图片描述
  • Variable数据类型(torch.autograd中数据类型,用来封装Tensor):
  • data: 被封装的Tnsor
  • grad:data的梯度
  • grad_fn: Tensor的函数,用来计算导数
  • requires_grad: 梯度计算标志位
  • is_lead:是否是叶子节点,用于计算图中

Variable已经引入到torch.Tensor并且多了两个参数:

dtype:data的类型
shape:张量形状
device:张量所在设备

2 张量创建

2.1 直接创建

  • torch.tensor():
  • data: 数据,list numpy都可以
  • dtype,device,requires_grad:如上
  • pin_memory:是否用于锁页内存,与效率有关
  • torch.from_numpy(ndarray):
  • 从numpy创建tensor
    注:此方法创建的tensor与原ndarray共享原内存,即一个改动,另一个页改动。

2.2 依据数值创建

  • torch.zeros():
  • size:张量形状
  • out:输出的张量,和等号赋值一个功能。
  • layout:内存中布局形式,strided,sparse_coo,内存效率有关
    device,requires_grad同上
  • torch.zeros_like():

按input形状创建张量

  • input:一个张量。
  • 其他参数如上。
  • torch.ones():

与zeros同。
同样有ones_like()

  • torch.full():

size:张量形状
fill_value:张量的值
同样有full_like()

  • torch.linspace():

创建一个均分的1维张量

  • start:数列起始值
  • end:数列结束值
  • steps:数列长度
  • torch.logspace():

创建对数均分的1维张量

  • start,end,steps
  • base:对数函数的底,10
  • torch.eye()

创建单位对角矩阵

  • n:设置大小,方阵只设置一个大小

2.3 依概率分布创建张量

  • torch.normal()
  • mean:均值
  • std:标准差
  • size:设置张量多大
    mean与std,可以是张量也可以是标量,这样就会出现各种概率分布。
  • torch.randn():

生成标准正太分布

  • size:形状
    同样有randn_like
  • torch.rand()

在区间【0,1)上,生成均匀分布
同有like

  • torch.randint_like():

同上,只生成整数的均匀分布

  • torch.randperem()

生成从0到n-1的随机排列

  • n:张量长度
  • torch.bernoulli()

以input为概率,生成伯努利分布

  • input:概率值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值