Pytorch入门系列2

系列文章目录

第一章 pytorch的基本介绍
第二章 pytorch的基本操作


文章目录

  • 系列文章目录
  • 前言
  • 一、Tensor
    • 1.接口类型:
  • 二、tensor创建、查看、修改
    • 1.创建
    • 2.查看
    • 3.修改
  • 三、tensor索引与转置等
    • 1.下标索引就代表维度
    • 2.转置
    • 3.增减维度
  • 四、组合、分块
  • 五、其它操作:
      • 1.返回沿某一维操作后的tensor及对应索引位置
      • 2.返回操作后的tensor
      • 3.按某一维进行
  • 总结


前言

pytorch的基本介绍清晰之后,接下来我们一起探索pytorch的基本操作。


一、Tensor

Tensor 又名张量是torch操作的基础单位,可以理解为就是多维数组,比数组更能被硬件运算(数组在cpu中)tensor在Gpu中加速运算。Tensor 自称为神经网络界的 Numpy,它与 Numpy 相似,二者可以共享内存,且之间的转换非常方便和高效。

1.接口类型:

torch.function
tensor.function

二、tensor创建、查看、修改

1.创建

一般新建与常用新建:

torch.ones() #全1
torch.zero() #全0
torch.eye() #对角张量
ones_like(a) #a形状相同的1张量
#常用新建为
torch.randn() **随机生成生成[0,1)标准正太分布数据**
Tensor(*size) **直接从参数构造一个的张量**
from_Numpy(ndarray) **从numpy转为 建一个 Tensor**

2.查看

主要是在编程过程中查看tensor的维度是否和预期一致:

a.shape() 
a.size() #这两者等价

3.修改

主要用于将tensor变形,与前后网络匹配:

view(*shape) #重构tensor张量为shape,与tensor共享内存,一改都改
a.Reshape()  #生成新的 Tensor,而且不要求源 Tensor 是连续的
View(x,-1) #生成x行,第二维度自动算,的tensor

三、tensor索引与转置等

1.下标索引就代表维度

2.转置

torch.transpose(Tensor,dim0,dim1)

注意:transpose()一次只能在两个维度间进行转置(也可以理解为维度转换)

3.增减维度

主要用于数据处理中维度的变化:

torch.squeeze() #去除size为1的维度
torch.unsqueeze()  #制定维度的size变为1
torch.expand() #将某一维扩展为制定维度

四、组合、分块

拼接在一起或者在增加维度:

torch.cat() #按行或列或某一维度拼接
torch.stack() #叠加
torch.chunk() #分块数
torch.split() #分块大小

五、其它操作:

1.返回沿某一维操作后的tensor及对应索引位置

torch.sort() #排序
torch.max() #取最大
torch.min() #取最小

2.返回操作后的tensor

torch.abs() #绝对值
torch.sqrt()#开方
torch.log()#取对数
torch.powl()#幂指

3.按某一维进行

torch.sum() #求和
torch.mean() #均值

总结

以上就是今天要讲的内容,本文简单介绍了tensor的基本操作,希望大家在操作过程中学会使用,同时看懂别人代码的意义。

你可能感兴趣的:(人工智能,深度学习,pytorch)