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基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升