Pytorch代码基础—张量

admin2024-05-15  1

Pytorch代码—张量

Pytorch张量

张量的属性:
Pytorch代码基础—张量,在这里插入图片描述,第1张

  • data:被包装的Tensor
  • grad:data的梯度
  • grad_fn:创建Tensor的Function,是自动求导的关键
  • requires_grad:指示是否需要梯度
  • isleaf:指示是否是叶子结点(张量)
  • dtype:张量的数据类型,如 torch.FloatTensor,torch.cuda.FloatTensor
  • shape:张量的形状,如(64,3,224,224)
  • device:张量所在设备,GPU/CPU,是加速的关键

张量的创建

直接创建

1.方式一

Pytorch代码基础—张量,在这里插入图片描述,第2张

  • data:数据,可以是list,numpy
  • dtype:数据类型,默认与data的一致
  • device:所在设备,cuda/cpu
  • requires_grad:是否需要梯度
  • pin_memory:是否存于锁页内存
依据数值进行创建
  1. 方式二

即当numpy的数据发生变化时,张量的数据也发生改变

  1. 方式三:创建全为0的张量

Pytorch代码基础—张量,在这里插入图片描述,第3张
功能:依size创建全0张量

  • size:张量的形状,如(3,3)、(3,224,224)
  • out:输出的张量
  • layout:内存中布局形式,有strided,sparse_coo等
  • device:所在设备,gpu/cpu
  • requires_grad:是否需要梯度
  1. 方式四
    Pytorch代码基础—张量,在这里插入图片描述,第4张

功能:依input形状创建全0张量

  • intput:创建与input同形状的全o张量
  • dtype:数据类型
  • layout:内存中布局形式

Pytorch代码基础—张量,在这里插入图片描述,第5张

功能:依input形状创建指定数据的张量

  • size:张量的形状,如(3,3)
  • fillvalue:张量的值

Pytorch代码基础—张量,在这里插入图片描述,第6张
功能:创建等差的1维张量 注意事项:数值区间为[start,end】

  • start:数列起始值
  • end:数列结束值
  • step:数列公差,默认为1

Pytorch代码基础—张量,在这里插入图片描述,第7张

功能:创建均分的1维张量

  • start:数列起始值
  • end:数列结束值
  • steps:数列长度

Pytorch代码基础—张量,在这里插入图片描述,第8张

功能:创建对数均分的1维张量

  • start:数列起始值
  • end:数列结束值
  • steps:数列长度
  • base:对数函数的底,默认为10
根据概率分布来进行创建

Pytorch代码基础—张量,在这里插入图片描述,第9张
功能:生成正态分布(高斯分布)

  • mean:均值
  • std:标准差

Pytorch代码基础—张量,在这里插入图片描述,第10张
功能:生成标准正态分布

  • size:张量的形状

张量的操作

张量的合并与切分

Pytorch代码基础—张量,在这里插入图片描述,第11张

功能:将张量按维度dim进行拼接

  • tensors:张量序列
  • dim:要拼接的维度

功能:在新创建的维度dim上进行拼接

  • tensors:张量序列
  • dim:要拼接的维度

Pytorch代码基础—张量,在这里插入图片描述,第12张

功能:将张量按维 度d im 进行切分 返回值:张量列表

  • tensor : 要切分的张量
  • split_size_or_sections : 为int时表示每一份的长度;为 list时 , 按list元素切分
  • dim : 要切分的维度
张量索引

Pytorch代码基础—张量,在这里插入图片描述,第13张
功能:在维度dim上,按index索引数据返回值:依index索引数据拼接的张量

  • input:要索引的张量
  • dim:要索引的维度
  • index:要索引数据的序号
张量变换

Pytorch代码基础—张量,在这里插入图片描述,第14张

  • input:要变换的张量
  • shape:新张量的形状

Pytorch代码基础—张量,在这里插入图片描述,第15张
功能:交换张量的两个维度

  • input:要变换的张量
  • dim0:要交换的维度
  • dim1:要交换的维度

Pytorch代码基础—张量,在这里插入图片描述,第16张

功能:压缩长度为1的维度(轴)

  • dim:若为None,移除所有长度为1的轴;若指定维度,当且仅当该轴长度为1时,可以被移除;

功能:依据dim扩展维度

  • dim:扩展的维度

总结

pytorch的学习过程,应该在熟悉理论知识的基础上,结合官网文档和其他资料的基础上进行具体方法的时间,在时间的堆积,和项目的锻炼中才能进一步的提升熟练度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!