1、PyTorch基本操作

2022/5/25 23:23:56

本文主要是介绍1、PyTorch基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、简介

  简单介绍PyTorch框架,基本使用和安装方法。Torch是什么?一个火炬!其实跟Tensorflow中Tensor是一个意思,就是说,有一批数据,无论是图像数据还是文本数据或数值数据,都需要把数据转换成矩阵,接下来在建模操作过程中,都需要对当前数据即矩阵,做各种各样变换,做各种各样计算,一系列流程做完之后得到我们想要的结果。PyTorch可以说是做这样一件事,把所有矩阵计算的东西传入GPU中,因为GPU中做矩阵运算比较快,在GPU中帮我们实现了所有的计算功能,整体的计算,从前向传播到反向传播,有可能会涉及到非常复杂的计算,这些计算统统由框架帮我们实现,我们需要去做的,就是设计整个任务的流程,整个网络架构就可以了。深度学习框架,说白了,就是一个计算的工具,帮我们实现由前到后整体的计算流程。
一个框架该怎么学?
  学框架不要去看基本的操作, 直接看一个实际的例子,一步步怎么走的即可,遇到一些基本的点,可能遇到某些函数,尽量去查,查的过程其实也是学习的过程。
二、实例

1、导入torch包

1 #导入PyTorch包
2 import torch
3 print(torch.__version__)

输出结果:

 

 2、创建一个空的张量

 1 #基本使用方法
 2 #创建一个全零的5行3列的矩阵,格式是一个tensor
 3 #tensor即张量,理解为矩阵即可,一维是向量,二维是矩阵,不管多少维,统一叫
 4 #做tensor,是深度学习中最基本的计算单元,
 5 #也可以说是框架的底层。之前用过的其他结构,如numpy、pandas之类的,会得到
 6 #ndarry或DataFrame类似的结构,
 7 #看起来也是矩阵,但是不能在我们这里做,要用PyTorch框架,①把所有的数据转换
 8 #成tensor的格式,tensor是底层所支持的
 9 #格式,所有的输入,所有的计算,都是对tensor所执行的。
10 x=torch.empty(5,3)
11 print("x:\n",x)

输出结果:

 

 3、创建一个随机的5行3列的矩阵

 

1 #创建一个随机的5行3列的矩阵
2 x1=torch.rand(5,3)
3 print("x1:\n",x1)

 

输出结果:

 

 4、初始化一个全零的矩阵

1 #初始化一个全零的矩阵
2 x2=torch.zeros(5,3,dtype=torch.long)
3 print("x2:\n",x2)

输出结果:

 

 5、直接传入数据

 

 

1 #直接传入数据
2 x3=torch.tensor([5.5,3])
3 print("x3:\n",x3)

 

输出结果:

 

6、生成全为1的矩阵并随机初始化

1 x4=x2.new_ones(5,3,dtype=torch.double)  #生成全为1的矩阵
2 x5=torch.randn_like(x4,dtype=torch.float)
3 print("x4:\n",x4)
4 print("x5:\n",x5)
5 #建议执行完每次操作之后,打印维度看一看
6 print(x5.size())

输出结果:

 

 7、基本计算方法:加法操作

1 #基本计算方法
2 y=torch.rand(5,3)
3 print("y+x5=",y+x5)
4 print(torch.add(y,x5)) #一样的操作

输出结果:

 

 8、索引

1 #索引
2 print("x5[:,1]:\n",x5[:,1])

输出结果:

 

 9、view操作可以改变矩阵维度

1 #view操作可以改变矩阵维度
2 x6=torch.randn(4,4)
3 print("x6:\n",x6)
4 y1=x6.view(16) #将x6拉成一行向量
5 print("y1:\n",y1)
6 z=x6.view(-1,8) #-1代表自动做计算,第二个维度有8个元素,第一个维度自动计算
7 print("z:\n",z)
8 print("x6.size:\n",x6.size(),"\n","y1.size:\n",y1.size(),"\n","z.size:\n",z.size())

输出结果:

 

 10、与numpy的协同操作

1 #与numpy的协同操作
2 a=torch.ones(5)
3 b=a.numpy()
4 print("b:\n",b)
5 print("type(b):\n",type(b))

输出结果:

 

11、numpy转tensor

1 #numpy转tensor
2 a1=np.ones(5)
3 b1=torch.from_numpy(a1)
4 print("b1:\n",b1)

输出结果:

 



这篇关于1、PyTorch基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程