一、简介

  简单介绍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基本操作的更多相关文章

  1. Pytorch 基本操作

    Pytorch 基础操作 主要是在读深度学习入门之PyTorch这本书记的笔记.强烈推荐这本书 1. 常用类numpy操作 torch.Tensor(numpy_tensor) torch.from_ ...

  2. pytorch入坑一 | Tensor及其基本操作

    由于之前的草稿都没了,现在只有重写…. 我好痛苦 本章只是对pytorch的常规操作进行一个总结,大家看过有脑子里有印象就好,知道有这么个东西,需要的时候可以再去详细的看,另外也还是需要在实战中多运用 ...

  3. Pytorch基础-张量基本操作

    一,张量的基本操作 二,维度变换 2.1,squeeze vs unsqueeze 维度增减 2.2,transpose vs permute 维度交换 三,索引切片 3.1,规则索引切片方式 3.2 ...

  4. [Pytorch]Pytorch中图像的基本操作(TenCrop)

    转自:https://www.jianshu.com/p/73686691cf13 下面是几种常写的方式 第一种方式 normalize = transforms.Normalize([0.485, ...

  5. pytorch的一些基本操作

    (1)生成一个未初始化的tensor import torch x = torch.Tensor(5,3) print(x) (2)随机初始化一个tensor y = torch.randn(5,3) ...

  6. PyTorch入门(一)向量

    什么是PyTorch?   PyTorch是Facebook人工智能团队开发的一个机器学习和深度学习工具,用于处理大规模图像分析,包括物体检测,分割与分类.但是它的功能不仅限于此.它与其它深度学习框架 ...

  7. 深度学习框架PyTorch一书的学习-第六章-实战指南

    参考:https://github.com/chenyuntc/pytorch-book/tree/v1.0/chapter6-实战指南 希望大家直接到上面的网址去查看代码,下面是本人的笔记 将上面地 ...

  8. 使用pytorch构建神经网络的流程以及一些问题

    使用PyTorch构建神经网络十分的简单,下面是我总结的PyTorch构建神经网络的一般过程以及我在学习当中遇到的一些问题,期望对你有所帮助. PyTorch构建神经网络的一般过程 下面的程序是PyT ...

  9. pytorch 入门指南

    两类深度学习框架的优缺点 动态图(PyTorch) 计算图的进行与代码的运行时同时进行的. 静态图(Tensorflow <2.0) 自建命名体系 自建时序控制 难以介入 使用深度学习框架的优点 ...

  10. Pytorch: 命名实体识别: BertForTokenClassification/pytorch-crf

    文章目录基本介绍BertForTokenClassificationpytorch-crf实验项目参考基本介绍命名实体识别:命名实体识别任务是NLP中的一个基础任务.主要是从一句话中识别出命名实体.比 ...

随机推荐

  1. Kubernetes--标签选择器(标签)

    标签选择器用于表达标签的查询条件或选择标准,Kubernetes API目前支持两个选择器:基于等值关系(equality-based)以及基于集合关系 (set-based).例如,env=prod ...

  2. GridView.RowCellClick Event

    Fires when a user clicks a data cell. If data is editable and the ColumnViewOptionsBehavior.EditorSh ...

  3. TCP三次握手四次挥手内容及步骤

    TCP特性 1.工作在传输层 2.面向连接的协议 3.全双工协议 4.半关闭 5.错误检查 6.将数据打包成段,排序 7.确认机制 8.数据恢复.重传 9.流量控制.滑动窗口 10.拥塞控制,慢启动和 ...

  4. pyspark 中的rdd api 编码练习

    1,使用pyspark 的rdd api 进行了数据文件的处理,包括构建RDD, 统计分析RDD ,从文件中读取数据RDD,从文件中构建 rdd的模式shema. 然后通过模式,从rdd中生成data ...

  5. 剑指 Offer II Trie前缀树

    初始化 数组初始化在class外的话 要memset 在主函数里面memset 在class内不用 062. 实现前缀树 class Trie { public: /** Initialize you ...

  6. 【Word】通配符和特殊字符

    [Word]通配符和特殊字符 ^p 换行符 正则表达式 使用\转义,用于[]等 参考资料 Word通配符怎么用?使用Word通配符的方法

  7. echarts柱状图快速上手笔记地址

    https://blog.csdn.net/qq_40323256/article/details/114890628 借鉴借鉴

  8. Springboot打包部署的步骤

    1.配置pom.xml 引入插件 <groupId>com.bostech</groupId> <artifactId>dcs</artifactId> ...

  9. grep 排除目录 grep -rn CONFIG_VE --exclude-dir={arch,drivers,net} --exclude=cscope*

    grep -rn CONFIG_VE --exclude-dir={arch,drivers,net} --exclude=cscope*

  10. django找不到template文件的解决办法

    照着视频抄写第一个django展示html的页面如下图所示,然后运行之后提示 template不存在的问题,这个坑怎么填啊? 原来是因为主应用的settings文件下边少配置了一个东西,如下图所示,在 ...