版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深度学习第3章PyTorch基础Pytorch怎么操作这些图像?怎么操作这些海量数据?2第3章PyTorch基础3.1张量是什么3.2Tensor的创建3.3Tensor的调整形状操作3.4Tensor的加、减、乘、除、取绝对值操作3.5Tensor的比较操作33.6Tensor的数理统计操作3.7Tensor与Numpy的互相转换操作第3章PyTorch基础3.8Tensor的降维和增维操作3.9Tensor的裁剪操作3.10Tensor的索引操作3.11把Tensor移到GPU上去4课上练习第3章PyTorch基础3.1张量是什么
PyTorch处理的最基本操作对象就是张量,张量的英文是Tensor,表示的是一个多维的矩阵。5第3章PyTorch基础3.1张量是什么
6第3章PyTorch基础3.1张量是什么
7图3.3四阶张量、五阶张量第3章PyTorch基础3.1张量是什么
PyTorch处理的最基本操作对象就是张量,张量的英文是Tensor,表示的是一个多维的矩阵。零阶张量就是一个
,一阶张量就是
,二阶张量就是一般的
,多阶张量就相当于一个
。8矩阵多维的矩阵数组矢量数第3章PyTorch基础3.1张量是什么
张量的3个属性:1.阶(rank):维数。2.形状(shape):行和列的数目。3.类型(type):元素的数据类型。9第3章PyTorch基础3.1张量是什么
10数据类型含义torch.FloatTensor32位浮点型(默认类型)torch.DoubleTensor64位浮点型torch.ShortTensor16位整型torch.IntTensor32位整型torch.LongTensor64位整型表3.1常用的张量数据类型第3章PyTorch基础3.2Tensor的创建1.创建给定元素值的Tensor【例3-1】比如要定义一个32位浮点型Tensor,其值是矩阵:[[1,2],[3,4],[5,6]]。输入:importtorcha=torch.FloatTensor([[1,2],[3,4],[5,6]])print(a)输出:tensor([[1.,2.],[3.,4.],[5.,6.]])11第3章PyTorch基础3.2Tensor的创建2.创建一个指定形状的Tensor对于张量,可以在定义时直接赋值,也可以先定义一个未赋值的空矩阵。比如:【例3-3】输入:importtorchastc=t.Tensor(3,2)print(c)输出:tensor([[7.5338e+28,6.1687e+16],[6.3369e-10,2.5038e-12],[4.0058e-11,4.1729e-08]])12第3章PyTorch基础3.2Tensor的创建3.创建一个和给定的Tensor形状一样的新Tensor【例3-4】输入:importtorchastd=t.Tensor(3,2)e=t.Tensor(d.size())print(e)输出:tensor([[0.0000e+00,0.0000e+00],[2.1019e-44,0.0000e+00],[7.3908e+22,1.4764e-41]])13第3章PyTorch基础3.3Tensor的调整形状操作创建一个二阶张量,长度为6,元素为[0,1,2,3,4,5],将其改编成形状为2*3的张量。【例3-5】输入:importtorchasta=t.arange(0,6)print(a)b=a.view(2,3)print(b)输出:tensor([0,1,2,3,4,5])tensor([[0,1,2],[3,4,5]])14第3章PyTorch基础3.4Tensor的加、减、乘、除、取绝对值操作【例3-7】输入:importtorchasta=t.Tensor([[1,2],[3,4]])b=t.Tensor([[10,20],[30,40]])c=t.add(a,b)#加法d=t.sub(a,b)#减法e=t.mul(a,b)#乘法f=t.div(a,b)#除法g=t.pow(b,2)#幂操作h=t.abs(d)#求绝对值print("a=",a)print("b=",b)print("c=",c)print("d=",d)print("e=",e)print("f=",f)print("g=",g)print("h=",h)15第3章PyTorch基础3.4Tensor的加、减、乘、除、取绝对值操作【例3-7】输出:a=tensor([[1.,2.],[3.,4.]])b=tensor([[10.,20.],[30.,40.]])c=tensor([[11.,22.],[33.,44.]])d=tensor([[-9.,-18.],[-27.,-36.]])e=tensor([[10.,40.],[90.,160.]])f=tensor([[0.1000,0.1000],[0.1000,0.1000]])g=tensor([[100.,400.],[900.,1600.]])h=tensor([[9.,18.],[27.,36.]])16第3章PyTorch基础3.5Tensor的比较操作Tensor常用的比较函数有很多,比如torch.equal()、torch.eq()、torch.gt()、torch.lt()、torch.ge()、torch.le()、torch.ne()、torch.topk()、torch.sort()等等。1.torch.equal(tensor1,tensor2,out=None)说明:如果两个张量有相同的形状和元素值,则返回true,否则返回False。参数:tensor1(Tenosr):用于比较的张量1tensor2(Tensor):用于比较的张量2out(Tensor,可选的):输出张量17第3章PyTorch基础3.5Tensor的比较操作Tensor常用的比较函数有很多,比如torch.equal()、torch.eq()、torch.gt()、torch.lt()、torch.ge()、torch.le()、torch.ne()、torch.topk()、torch.sort()等等【例3-8】输入:importtorchasta=t.Tensor([[1,2],[3,4]])b=t.Tensor([[1,2],[2,3]])result=t.equal(a,b)print(result)输出:False18第3章PyTorch基础3.6Tensor的数理统计操作Tensor中的求最小值、最大值、均值、累加、累积等的操作也很多,比如:torch.min()、torch.max()、torch.mean()等等。1.torch.max(input)说明:返回输入张量所有元素的最大值参数:input(Tensor):输入张量19第3章PyTorch基础3.6Tensor的数理统计操作Tensor中的求最小值、最大值、均值、累加、累积等的操作也很多,比如:torch.min()、torch.max()、torch.mean()等等。【例3-10】输入:importtorchasta=t.Tensor([1,2,3])max=t.max(a)print("max=",max)输出:max=tensor(3.)20第3章PyTorch基础3.7Tensor与Numpy的互相转换操作NumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。它提供了一个多维数组(ndarray)数据类型,以及关于多维数组的操作,NumPy已经成为其他大数据和机器学习模块的基础。Tensor类似于Numpy的ndarray,但ndarray不支持GPU运算,而Tensor支持。Tensor与Numpy可以方便的互相转换。21第3章PyTorch基础3.7Tensor与Numpy的互相转换操作1.Tensor-->Numpy直接用.numpy()即可。要注意,转换后,numpy的变量和原来的Tensor会共用底层内存地址,所以如果原来的Tensor改变了,numpy变量也会随之改变。22第3章PyTorch基础3.7Tensor与Numpy的互相转换操作【例3-12】输入:importtorchasta=t.ones(3)b=a.numpy()print("a=",a)print("b=",b)输出:a=tensor([1.,1.,1.])b=[1.1.1.]23第3章PyTorch基础3.8Tensor的降维和增维操作Tensor关于维度的操作有很多,比如降维(torch.squeeze())和增维(torch.unsqueeze()),张量拼接(torch.cat())、张量扩大(torch.Tensor.expand())、张量缩小(torch.Tensor.narrow())等等。24第3章PyTorch基础3.9Tensor的裁剪操作clamp(x,min,max)对Tensor中的元素进行范围过滤,不符合条件的可以把它变换到范围内部(边界)上,常用于梯度裁剪(gradientclipping),即在发生梯度离散或者梯度爆炸时对梯度的处理。x是一个Tensor,min、max是两个标量,如果x<min,返回min;如果min<x<max,返回x;如果x>max,返回max。25第3章PyTorch基础3.10Tensor的索引操作Tensor支持与numpy.ndarray类似的索引操作,下面通过一些例子讲解常用的索引操作。如无特殊说明,索引出来的结果与原Tensor共享内存,即修改一个,另一个也会跟着改。26第3章PyTorch基础3.11把Tensor移到GPU上去PyTorch提供了一个名为cuda()的简单函数,将张量从CPU复制到GPU上。27课程为什么可以不受限于GPU28GPU是什么GPU和CPU的区别课程不受限于GPU29GPU是什么GPU和CPU的区别课程不受限于GPU课程为什么可以不受限于GPU30GPU是什么GPU和CPU的区别课程不受限于GPU程序在GPU和CPU下运行的比较1.课程为什么可以不受限于GPU32GPU是什么GPU和CPU的区别课程不受限于GPU本书部分程序在CPU下运行的时间.课程为什么可以不受限于GPU程序运行视频:33GPU是什么GPU和CPU的区别课程不受限于GPU本书部分程序在CPU下运行的时间.(下一页)课程为什么可以不受限于GPU34本书部分程序在CPU下运行的时间.课程为什么可以不受限于GPU课堂练习(1)PyTorch的默认数据类型是:
。答案:torch.FloatTensor课堂练习(2)张量的阶就是张量的
、张量的形状就是张量的
、张量的类型是
。答案:维数、行和列的数目、元素的数据类型课堂练习(3)用
查看Tensor的数据类型,用
查看元素个数
。答案:dtypenumel()课堂练习(4)用
函数或
可以查看Tensor的尺寸。答案:size()shape课堂练习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南京交通职业技术学院单招职业技能测试题库附答案详解(夺分金卷)
- 2026年内蒙古兴安盟单招职业适应性测试题库附参考答案详解(满分必刷)
- 2026年保定职业技术学院单招职业技能考试题库含答案详解(达标题)
- 2026年信阳学院单招职业技能测试题库附参考答案详解(综合题)
- 2026年南昌健康职业技术学院单招综合素质考试题库含答案详解(预热题)
- 2026年共青科技职业学院单招职业适应性测试题库含答案详解(突破训练)
- 2026年南开大学滨海学院单招职业倾向性测试题库含答案详解(精练)
- 2026年兰州航空职业技术学院单招职业倾向性测试题库及1套完整答案详解
- 2026年包头铁道职业技术学院单招职业倾向性考试题库附答案详解(综合卷)
- 某省市发展中的大数据及GIS解决方案
- 以热爱为翼为青春飞驰+课件+-2026届高三高考百日冲刺励志主题班会
- 2026-2030中国汽车加气站行业市场发展分析及发展趋势与投资机会研究报告
- 2026年福建莆田市涵江区区属一级国有企业高级管理人员招聘2人笔试备考题库及答案解析
- 2026福建莆田市涵江区选聘区属一级国有企业高级管理人员2人笔试备考题库及答案解析
- 萍乡市事业单位2026年统一公开招聘工作人员备考题库含答案详解(突破训练)
- 2026春季开学教职工大会校长精彩发言:大格局!3个变局、3个确定性、3个转变
- 西安市离婚协议书(2026简易标准版)
- 养老机构护理服务操作手册
- 液化气公司服务规范制度
- 2026年山东英才学院单招职业技能考试题库附答案
- 《民航服务手语》项目4空中服务手语(上)
评论
0/150
提交评论