- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
2.3.1
(p1)同学们大家好,本节课我们来学习2.3节PyTorch的基本使用。
在这一小节里面,我们会学习到张量、以及其数学运算、数理统计的知识。
(p2)首先,我们来学习2.3.1小节张量。
PyTorch的运算单元叫作张量(Tensor)。我们可以将张量理解为一个多维数组,一阶张量即为一维数组,通常叫作向量;二阶张量即为二维数组,通常叫作矩阵;三阶张量即为三维数组;n阶张量即为n维数组。
我们可以来看一个例子。
如图2.18所示,是一个三阶张量,我们可以理解为三个矩阵,每个矩阵相当于一个二阶张量,都具有8行6列,其中每个单元都存储了一个实数,这些实数可能相同,也可能不同。
另外,我们将一个张量每个维度的大小称为张量在这个维度的尺寸(size)。
例如,在图2.18所示的张量中,
它由三个矩阵构成,所以它第一个维度的尺寸就是3;
在每一个维度上,它又是一个矩阵,这个矩阵有8行,因此它第二个维度的尺寸就是8;
对于任意一行,它又是一个长度为6的向量,因此它第三个维度的尺寸就是6。
如果我们将这个三阶张量看作一个立方体,那么3、8、6就分别是这个立方体的长、宽、高。
图2.18中最后一行(3,8,6)就标出了该张量在各个维度的尺寸。
(p3)Tensor的基本数字类型有五种
第一种是:32位浮点型,代码定义为:torch.FloatTensor。
第二种是:64位整型,代码定义为:torch.LongTensor。
第三种是:32位整型,代码定义为:torch.IntTensor。
第四种是:16位整型,代码定义为:torch.ShortTensor。
第五种是:64位浮点型,代码定义为:torch.DoubleTensor。
除以上基本数字类型外,还有byte【bait】和chart类型等。
(p4)在学习张量前,首先要有一个张量可以操作,所以,我们现在来学习一下,如何去初始化一个张量。
这里我们将会学习到4种初始化张量的方法:
(1)通过基础构造函数创建张量
(2)通过数据创建张量
(3)根据另一个张量创建
(4)使用随机或恒定值创建
(p5)对于第一种创建方法——通过基础构造函数创建张量。
我们来看一个例子。
例如,构造一个3×4的张量,代码如下。
首先,导入我们需要的包torch,再调用torch下面的tensor()函数,里面填写好张量大小即可,但需要注意3和4的先后顺序。最后,我们将生成好的张量打印出来查看一下。
代码运行成功,生成了一个3×4的张量。
(p6)对于第二种创建方法——通过数据创建张量。
我们来看一个例子。
张量可以直接从数据中创建,其数据类型是自动推断的,代码如下:
首先,导入我们需要的包torch,再定义一个list类型数据data,这时,我们就可以通过已有数据data来创建张量,方法是调用torch下面的tensor()函数,里面参数写上data即可,最后,我们将生成好的张量打印出来查看一下。
代码运行成功,生成了一个和data数值相同,类型为张量的数据。
(p7)对于第三种创建方法——根据另一个张量创建。
我们来看一个例子。
通过代码注释部分,我们可以知道,
新张量保留参数张量的属性(即形状、数据类型),除非显式覆盖。
(p8)对于第四种创建方法——使用随机或恒定值创建。
我们来看一个例子。
使用随机或恒定值创建张量,其中参数shape是张量维度的元组,它决定了输出张量的形
状。
代码如下,
torch.rand()是用于生成均匀随机分布张量的函数,从区间[0,1)的均匀分布中抽取一个随机数生成一个张量。
torch.ones()返回一个全为1的张量。
torch.zeros()返回一个全为0的张量。
运行代码,结果正确,生成了三种不同的张量。
(p9)了解了如何初始化一个张量,现在我们来学习一下张量的相关属性。
张量的属性包括形状、数据类型和存储设备等,下面我们通过程序输出相关的属性。
代码如下:
tensor.shape输出张量的形状,tensor.dtype输出张量的数据类型,tensor.device输出张量的存储设备信息。
例子中,生成的张量tensor大小为2x4,类型为float32类型,存储在cpu设备上。
(p10)了解了张量的相关属性,现在我们来学习一个重点内容——张量的操作。
在这一部分,我们将会学习到3个内容,
如何将张量移动到GPU上。
张量的索引和切片操作。
张量的连接操作。
(p11)默认情况下,张量是在CPU上创建的。这时可以将张量移动到GPU上,因为GPU的处理速度,通常比CPU更快。
具体代码如下:
首先需要判断自身设备上是否有GPU可用,如果可用,
您可能关注的文档
- 深度学习案例教程 教案全套 钱月钟 第1--9章 深度学习简介--语音识别.docx
- 深度学习案例教程 教案1.3 深度学习的发展.docx
- 深度学习案例教程 教案1.1 人工智能与机器学习.docx
- 深度学习案例教程 教案1.6 深度学习的应用领域-自然语言的处理.docx
- 深度学习案例教程 教案1.2 深度学习定义及分类.docx
- 深度学习案例教程 教案1.5 深度学习的应用领域-计算机视觉.docx
- 深度学习案例教程 教案1.4 深度学习的应用领域-语音识别.docx
- 深度学习案例教程 教案1.8 深度学习框架介绍.docx
- 深度学习案例教程 教案1.7 深度学习的特点.docx
- 深度学习案例教程 教案2.2PyTorch安装和Pycharm安装.docx
- 2021海湾消防GST-HX-420BEx 火灾声光警报器安装使用说明书.docx
- 2022海湾消防 GST-LD-8316Ex 手自动转换装置安装使用说明书.docx
- (小升初押题卷)江苏省小升初重难点高频易错培优卷(试题)-2024-2025学年六年级下册数学苏教版.docx
- 2023-2024学年吉林省吉林市舒兰市人教版四年级上册期末考试数学试题.docx
- 2023-2024学年北京市密云区北京版四年级上册期末考试数学试卷.docx
- 2024-2025学年广东省广州市天河区人教版三年级上册期末考试数学试卷.docx
- 2024-2025学年河北省唐山市丰南区人教版五年级上册期末测试数学试卷.docx
- 人教版道德与法治一年级下册第4课《我们有精神》课件.pptx
- 消防蝶阀介绍.pptx
- 室外消火栓设置场所及设置要求.pptx
文档评论(0)