版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章
深度学习简介深度学习简介2计算机视觉强化学习
深度学习是一种基于神经网络的学习方法。和传统的机器学习方法相比,深度学习模型一般需要更丰富的数据、更强大的计算资源,同时也能达到更高的准确率。目前,深度学习方法被广泛应用于计算机视觉、自然语言处理、强化学习等领域。本章将依次进行介绍。自然语言处理目录3计算机视觉的定义和基本任务仿生学和深度学习自然语言处理的基本问题传统方法与神经网络方法的对比强化学习算法简介强化学习的应用第一节第二节第三节第四节第五节第六节第一节计算机视觉的定义和基本任务计算机视觉的定义6计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务是通过对采集的图片或视频进行处理以获得相应场景的三维信息。计算机视觉是一门关于如何运用照相机和计算机来获取我们所需的,被拍摄对象的数据与信息的学问。形象地说,就是给计算机安装上眼睛(照相机)和大脑(算法),让计算机能够感知环境。计算机视觉的基本任务7
计算机视觉的基本任务包含图像处理、模式识别或图像识别、景物分析、图像理解等。除了图像处理和模式识别之外,它还包括空间形状的描述,几何建模以及认识过程。实现图像理解是计算机视觉的终极目标。实现图像理解是计算机视觉的终极目标!图像处理技术8通过处理使输出图像有较高的信噪比图像处理技术可以把输入图像转换成具有所希望特性的另一幅图像,例如:通过增强处理突出图像的细节在计算机视觉研究中经常利用图像处理技术进行预处理和特征抽取。语义网络表示法9
模式识别技术根据从图像抽取的统计特性或结构信息,把图像分成预定的类别。例如,文字识别或指纹识别。
在计算机视觉中模式识别技术经常用于对图像中的某些部分,例如分割区域的识别和分类。图像理解技术图像理解技术是对图像内容信息的理解。
给定一幅图像,图像理解程序不仅描述图像本身,而且描述和解释图像所代表的景物,以便对图像代表的内容做出决定。图像理解技术是对图像内容信息的理解。计算机视觉的传统算法1101020304GOAL图像预处理特征感知特征提取特征筛选推理预测与识别
在深度学习算法出现之前,对于计算机视觉算法来说,大致可以分为以下5个步骤:1.缺乏对特征的重视2.图像特征提取需要人力3.依赖特征算子缺点1.指纹识别算法2.基于Haar的人脸检测算法3.基于HoG特征的物体检测成功例子计算机视觉的传统算法第二节仿生学与深度学习神经网络示例输入:图片输出:标签
发现人:DavidHubel视觉功能划分
时间:1981
意义:证明大脑的可视皮层是分级的。视觉系统信息处理机制
抽象:把非常具体的形象的元素抽象出来形成有意义的概念。
迭代:把有意义的概念往上迭代,变成更加抽象,人可以感知到的抽象概念。抽象与迭代的过程案例说明人脑感知气球模拟识别人脸识别摩托车现代深度学习17卷积神经网络(CNN):卷积神经网络是一种对人脑比较精准的模拟,它模拟了人脑识别图片时感知图片中的局部特征,之后将局部特征综合起来再得到整张图的全局信息的过程。其卷积层通常是堆叠的,低层的卷积层可以提取到图片的局部特征,高层的卷积能够从低层的卷积层中学到更复杂的特征,从而实现到图片的分类和识别。现代深度学习的过程18
用学习好的卷积和对图像进行扫描,然后每一个卷积和会生成一个扫描的响应图,我们叫responsemap,或者叫featuremap。如果有多个卷积和,就有多个featuremap。也就说从一个最开始的输入图像(RGB三个通道)可以得到256个通道的featuremap,因为有256个卷积和,每个卷积和代表一种统计抽象的方式。卷积就是两个函数之间的相互关系。在计算机视觉里面,可以把卷积当作一个抽象的过程,就是把小区域内的信息统计抽象出来。现代深度学习的过程19池化操作。池化操作在统计上的概念更明确,就是一个对一个小区域内求平均值或者求最大值的统计操作。带来的结果是,如果之前输入有两个通道的,或者256通道的卷积的响应featuremap,每一个featuremap都经过一个求最大的一个池化层,会得到一个比原来featuremap更小的256的featuremap。LeNet网络2004030201输入图像是大小为32×32像素的灰度图。第一层经过了一组卷积和,生成了6个28×28的featuremap,然后经过一个池化层,得到6个14×14的featuremap。然后再经过一个卷积层,生成了16个10×10的卷积层,再经过池化层生成16个5×5的featuremap。16个大小为5×5的featuremap再经过3个全连接层,即可得到最后的输出结果。输出就是标签空间的输出。AlexNet网络:LeNet“放大版”21输入:大小为224X224像素的图片。特征:第一层,都是一些填充的块状物和边界等特征中间的层开始学习一些纹理特征;而在接近分类器的高层,则可以明显看到的物体形状的特征。最后的一层,即分类层,不同物体的主要特征已经被完全提取出来。第三节自然语言处理的基本问题自然语言23自然语言,区别于计算机所使用的机器语言和程序语言,是指人类用于日常交流的语言。而自然语言处理的目的却是要让计算机来理解和处理人类的语言。自然语言的一个句子背后往往包含着不直接表述出来的常识和逻辑。这使得计算机在试图处理自然语言的时候不能从字面上获取所有的信息。因此自然语言处理的难度更大,它的发展与应用相比于计算机视觉也往往呈现出滞后的情况。为了将深度学习引入自然语言处理领域,研究者尝试了许多方法来表示和处理自然语言的表层信息(如词向量、更高层次、带上下文信息的特征表示等),也尝试过许多方法来结合常识与直接感知(如知识图谱、多模态信息等)。这些研究都富有成果,其中的许多都已应用于现实中,甚至用于社会管理、商业、军事的目的。030102ThreeTwoOne自然语言处理的基本问题自然语言处理主要研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,其主要任务包括:语言建模:计算一个句子在一个语言中出现的概率。中文分词:将中文句子恰当地切分为单个的词。句法分析:通过明确句子内两个或多个词的关系来了解整个句子的结构。最终句法分析的结果是一棵句法树。情感分类:给出一个句子,判断这个句子表达的情感。机器翻译:最常见的是把源语言的一个句子翻译成目标语言的一个句子,最终预测出来的整个目标语言句子必须与给定的源语言句子具有完全相同的含义。阅读理解:有许多形式。有时候是输入一个段落,一个问题,生成一个回答,或者在原文中标定一个范围作为回答,有时候是输出一个分类。自然语言处理的发展趋势越来越自动化模型越来越通用一开始,人们试图减少和去除人类专家知识的参与。因此就有了大量的网络参数、复杂的架构设计,这些都是通过在概率模型中提供潜在变量,使得模型具有捕捉和表达复杂规则的能力。0102之后,人们觉得每一次为新的自然语言处理任务设计一个新的模型架构并从头训练的过程过于烦琐,于是试图开发利用这些任务底层所共享的语言特征。在这一背景下,迁移学习逐渐发展。03现在人们希望神经网络的架构都可以不需要设计,而是根据具体的任务和数据来搜索得到。这一新兴领域方兴未艾,可以预见随着研究的深入,自然语言处理的自动化程度一定会得到极大提高。第四节传统方法与神经网络方法的对比传统方法与神经网络方法的比较27维度数据量商业策略人工参与程度......可解释性人的参与程度越来越低,但系统的效果越来越好。这是合乎直觉的,因为人对于世界的认识和建模总是片面的、有局限性的。如果可以将自然语言处理系统的构建自动化,将其基于对世界的观测点(即数据集),所建立的模型和方法一定会比人类的认知更加符合真实的世界。人工参与程度的降低带来的另一个问题是模型的可解释性越来越低。在理想状况下,如果系统非常有效,人们根本不需要关心黑盒系统的内部构造,但事实是自然语言处理系统的状态离完美还有相当的差距。随着自然语言处理系统中人工参与的程度越来越低,系统的细节就需要更多的信息来决定,这些信息只能来自于更多的数据。第五节强化学习算法简介强化学习29强化学习是机器学习的一个重要分支,它与非监督学习、监督学习并列为机器学习的三类主要学习方法。强化学习强调如何基于环境行动,以取得最大化的预期利益,所以强化学习可以被理解为决策问题。它是多学科多领域交叉的产物,其灵感来自于心理学的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。强化学习的应用范围非常广泛,各领域对它的研究重点各有不同。030102ThreeTwoOne监督学习与非监督学习30监督学习是通过带有标签或对应结果的样本训练得到一个最优模型,再利用这个模型将所有输入映射为相应输出,以实现分类非监督学习是在样本的标签未知的情况下,根据样本之间的相似性对样本集进行聚类,使类内差距最小化,学习出分类器强化学习的四个因素31智能体在每一个时间节点,智能体所处的环境的表示即为环境状态。在每一个环境状态中,智能体可以采取的动作即为行动。智能体是执行任务的客体,只能通过与环境互动来提升策略。环境状态行动反馈每到一个环境状态,智能体就有可能会收到一个反馈。强化学习的目标32
强化学习算法的目标就是获得最多的累计奖励(正反馈)。以“幼童学习走路”为例:幼童需要自主学习走路,没有人指导他应该如何完成“走路”,他需要通过不断的尝试和外界对他的反馈来学习走路。强化学习的特征33R010203没有监督者,只有一个反馈信号。反馈是延迟的,不是立即生成的。另外,强化学习是序列学习,时间在强化学习中具有重要的意义;Agent的行为会影响以后所有的决策。强化学习算法简介34强化学习算法Model-Free(无模型的)Model-based(有模型的)如果agent不需要去理解或计算出环境模型,算法就是Model-Free的;相应地,如果需要计算出环境模型,那么算法就是Model-Based的。基于概率基于算法Model-BasedVSModel-Free35Model-Free的算法看似随意,但这恰好更易于研究者们去实现和调整。Model-Free算法agent可以根据模型预测下一步的结果,并提前规划行动路径。但真实模型和学习到的模型是有误差的,这种误差会导致agent虽然在模型中表现很好,但是在真实环境中可能打不到预期结果。Model-Based算法基于概率VS基于价值36基于概率的算法直接输出下一步要采取的各种动作的概率,然后根据概率采取行动。每种动作都有可能被选中,只是可能性不同。基于概率的算法的代表算法为policy-gradient。基于概率的算法
基于价值的算法输出的则是所有动作的价值,然后根据最高价值来选择动作,相比基于概率的方法,基于价值的决策部分更为死板——只选价值最高的,而基于概率的,即使某个动作的概率最高,但是还是不一定会选到它。基于价值的算法的代表算法为Q-Learning。基于价值的算法第六节强化学习的应用强化学习算法的应用38R
交互性检索是在检索用户不能构建良好的检索式(关键词)的情况下,通过与检索平台交流互动并不断修改检索式,从而获得较准确检索结果的过程。
新闻推荐需要:获取用户请求,召回候选新闻,对候选新闻进行排序,最终给用户推出新闻。
将用户持续浏览新闻的推荐过程看成一个决策过程,通过强化学习学习每一次推荐的最佳策略,提高用户的点击率。小结39R
本章简要介绍了深度学习的应用领域。卷积神经网络可以模拟人类处理视觉信息的方式提取图像特征,极大地推动了计算机视觉领域的发展。自然语言处理是典型的时序信息分析问题,其主要应用包括句法分析、情感分类、机器翻译等。强化学习强调智能体与环境的交互与决策,具有广泛的应用价值。通过引入深度学习,模型的函数拟合能力得到了显著的提升,从而可以应用到一系列高层任务中。本章列出的三个应用领域只是举例,目前还有许多领域在深度学习技术的推动下进行着变革,有兴趣的读者可以深入了解。谢谢观看第2章深度学习框架及其对比第一节什么是深度学习框架什么是深度学习框架TensorFlow流行框架Pytorch深度学习采用
“端到端”的学习模式,在很大程度上减轻负担。但随着神经网络的发展,模型的复杂度也在不断提升。框架存在的意义就是屏蔽底层的细节,使研究者可以专注于模型结构。Caffe第二节PyTorch的特点和概述PyTorch简介SWOT考虑到Python在计算科学领域的领先地位,以及其生态完整性和接口易用性,几乎任何框架都不可避免地要提供Python接口。终于,在2017年,Torch的幕后团队推出了PyTorch。PyTorch不是简单地封装LuaTorch提供Python接口,而是对Tensor之上的所有模块进行了重构,并新增了最先进的自动求导系统,成为当下最流行的动态图框架。PyTorch具有先进设计理念的框架,其历史可追溯到2002年就诞生于纽约大学的Torch。Torch使用了一种不是很大众的语言Lua作为接口。Lua简洁高效,但由于其过于小众,以至于很多人听说要掌握Torch必须新学一门语言就望而却步,但Lua其实是一门比Python还简单的语言。PyTorch的特点PyTorch既可以看作为加入了GPU支持的numpy。TensorFlow与Caffe都是命令式的编程语言,而且是静态的,即首先必须构建一个神经网络,然后一次又一次使用同样的结构;如果想要改变网络的结构,就必须从头开始。但是PyTorch通过一种反向自动求导的技术,可以让用户零延迟地任意改变神经网络的行为。PyTorch的设计思路是线性、直观且易于使用的,当用户执行一行代码时,它会忠实地执行,所以当用户的代码出现Bug的时候,可以通过这些信息轻松快捷地找到出错的代码,不会让用户在Debug的时候因为错误的指向或者异步和不透明的引擎浪费太多的时间。PyTorch的代码相对于TensorFlow而言,更加简洁直观,同时对于TensorFlow高度工业化的底层代码,PyTorch的源代码就要友好得多,更容易看懂。深入API,理解PyTorch底层肯定是一件令人高兴的事。030102ThreeTwoOnePyTorch概述PyTorch最大优势是建立的神经网络是动态的,可以非常容易的输出每一步的调试结果,相比于其他框架来说,调试起来十分方便。PyTorch的图是随着代码的运行逐步建立起来的,也就是说使用者并不需要在一开始就定义好全部的网络的结构,而是可以随着编码的进行来一点一点的调试,相比于TensorFlow和Caffe的静态图而言,这种设计显得更加贴近一般人的编码习惯。第三节TensorFlow的特点和概述
数据流图
节点
线TensorFlow简介TensorFlow是一个采用数据流图(dataflowgraphs)用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow最初由Google大脑小组的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。数据流图数据流图用“结点”(nodes)和“线”(edges)的有向图来描述数学计算。“节点”一般用来表示施加的数学操作,但也可以表示数据输入(feedin)的起点/输出(pushout)的终点,或者是读取/写入持久变量(persistentvariable)的终点。“线”表示“节点”之间的输入/输出关系。这些数据“线”可以输运“size可动态调整”的多维数据数组,即“张量”(tensor)。张量从图中流过的直观图像是这个工具取名为“TensorFlow”的原因。一旦输入端的所有张量准备好,节点将被分配到各种计算设备完成异步并行地执行运算。TensorFlow的特点特点设备迁移商业策略扩展便捷界面交互数据透明TensorFlow不是一个严格的“神经网络”库。只要用户可以将计算表示为一个数据流图就可以使用TensorFlow。用户负责构建图,描写驱动计算的内部循环。TensorFlow提供有用的工具来帮助用户组装“子图”,用户也可以在TensorFlow基础上写自己的“上层库”。TensorFlow的可扩展性相当强,可以自己写一些c++代码来丰富底层的操作。基于梯度的机器学习算法会受益于TensorFlow自动求微分的能力。只需要定义预测模型的结构,将这个结构和目标函数(objectivefunction)结合在一起,并添加数据,TensorFlow将自动计算相关的微分导数。计算某个变量相对于其他变量的导数仅仅是通过扩展你的图来完成的,所以用户能一直清楚看到究竟在发生什么。TensorFlow在CPU和GPU上运行,比如说可以运行在台式机、服务器、手机移动设备等等。TensorFlow支持将训练模型自动在多个CPU上规模化运算,以及将模型迁移到移动端后台。TensorFlow还有一个合理的c++使用界面,也有一个易用的python使用界面来构建和执行你的graphs。你可以直接写python/c++程序,也可以用交互式的ipython界面来用TensorFlow尝试些想法,它可以帮用户将笔记、代码、可视化等有条理地归置好。TensorFlow概述TensorFlow中Flow,也就是流,是其完成运算的基本方式。流是指一个计算图或简单的一个图,图不能形成环路,图中的每个节点代表一个操作,如加法、减法等。每个操作都会导致新的张量形成。计算图具有以下属性:叶子顶点或起始顶点始终是张量。意即,操作永远不会发生在图的开头,由此可以推断,图中的每个操作都应该接受一个张量并产生一个新的张量。同样,张量不能作为非叶子节点出现,这意味着它们应始终作为输入提供给操作/节点。计算图总是以层次顺序表达复杂的操作。通过将a+b表示为c,将b+1表示为d,可以分层次组织上述表达式。因此,可以将e写为:e=(c)x(d)这里c=a+b且d=b+1.以反序遍历图形而形成子表达式,这些子表达式组合起来形成最终表达式。当我们正向遍历时,遇到的顶点总是成为下一个顶点的依赖关系,例如没有a和b就无法获得c,同样的,如果不解决c和d则无法获得e。同级节点的操作彼此独立,这是计算图的重要属性之一。当我们按照图中所示的方式构造一个图时,很自然的是,在同一级中的节点,例如c和d,彼此独立,这意味着没有必要在计算d之前计算c。因此它们可以并行执行。计算图的并行也是最重要的属性之一。它清楚地表明,同级的节点是独立的,这意味着在c被计算之前不需空闲,可以在计算c的同时并行计算d。TensorFlow充分利用了这个属性。TensorFlow概述TensorFlow允许用户使用并行计算设备更快地执行操作。计算的节点或操作自动调度进行并行计算。这一切都发生在内部,例如在上图中,可以在CPU上调度操作c,在GPU上调度操作d。下图展示了两种分布式执行的过程。上图中,第一种是单个系统分布式执行,其中单个TensorFlow会话创建单个worker,并且该worker负责在各设备上调度任务。在第二种系统下,有多个worker,他们可以在同一台机器上或不同的机器上,每个worker都在自己的上下文中运行。在上图中,worker进程1运行在独立的机器上,并调度所有可用设备进行计算。TensorFlow概述子图是主图的一部分,从属性2可以说子图总是表示一个子表达式,因为c是e的子表达式。子图也满足最后一个属性。同一级别的子图也相互独立,可以并行执行。因此可以在一台设备上调度整个子图。左图解释了子图的并行执行。这里有2个矩阵乘法运算,因为它们都处于同一级别,彼此独立,这符合最后一个属性。由于独立性的缘故,节点安排在不同的设备gpu_0和gpu_1上。TensorFlow将其所有操作分配到由worker管理的不同设备上。更常见的是,worker之间交换张量形式的数据,例如在e=(c)*(d)的图表中,一旦计算出c,就需要将其进一步传递给e,因此Tensor在节点间前向流动。该流动如右图所示。第四节PaddlePaddle的特点和概述PaddlePaddle简介SWOTPaddlePaddle的2.0版本相对1.8版本有重大升级,包括完善动态图功能,动态图模式下数据表示概念为Tensor;调整API目录体系,API的命名和别名进行了统一规范化;数据处理、组网方式、模型训练、多卡启动、模型保存和推理等开发流程都有了对应优化。PaddlePaddle(飞桨)是由百度自主研发的开源深度学习框架。PaddlePaddle以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心框架、基础模型库、端到端开发套件、工具组件和服务平台于一体。飞桨源于产业实践,始终致力于与产业深入融合。目前飞桨已广泛应用于工业、农业、服务业等,与合作伙伴一起帮助越来越多的行业完成AI赋能。飞浆2016年正式开源,2017年启动新一代深度学习框架研发,2018年7月发布Paddlev0.14,目前的最新版本是2022年底发布的Paddlev2.3.1。PaddlePaddle的特点PaddlePaddle是灵活高效的产业级深度学习框架。它采用基于编程逻辑的组网范式,对于普通开发者而言更容易上手,符合他们的开发习惯。同时支持声明式和命令式编程,兼具开发的灵活性和高性能。网络结构自动设计,模型效果超越人类专家。同时,PaddlePaddle支持超大规模深度学习模型的训练。它突破了超大规模深度学习模型训练技术,实现了世界首个支持千亿特征、万亿参数、数百节点的开源大规模训练平台,攻克了超大规模深度学习模型的在线学习难题,实现了万亿规模参数模型的实时更新。然后,PaddlePaddle还有多端多平台部署的高性能推理引擎。它不仅兼容其他开源框架训练的模型,还可以轻松地部署到不同架构的平台设备上。同时,飞桨的推理速度也是全面领先的。尤其经过了跟华为麒麟NPU的软硬一体优化,使得飞桨在NPU上的推理速度进一步突破。030102ThreeTwoOnePaddlePaddle概述PaddlePaddle不仅仅是一个深度学习的框架,基于该核心框架,百度公司扩展了一系列的工具和模型,覆盖了深度学习开发和应用的整个流程,已然成为了一个功能齐全的产品。PaddlePaddle的官网上给出了产品的全景介绍,其中包括了主要使用流程和使用工具。首先在开发和训练方面,如图2-10所示,PaddlePaddle以深度学习框架为核心,包括了高阶分布式训练FleetAPI、灵活通用且易于使用的NLP大规模预训练和多任务学习框架PALM、云上任务平台PaddleCloud和量子机器学习框架PaddleQuantum。PaddlePaddle概述在模型方面,PaddlePaddle提供了预训练模型工具PaddleHub和模型压缩工具PaddleSlim,同时为不同的领域提供了开发套件,如图2-11所示。尤其是PaddleOCR,在很多OCR的产品中都有其影子。同时还有文心大模型、PaddleCV、PaddleNLP等模型库,为开发者提供了极大的便利。PaddlePaddle概述而部署方面,PaddlePaddle也为不同的平台提供了相应工具。如图2-12所示,PaddleInference提供原生推理库,PaddleServing提供方便的服务端部署,PaddleLite则面向轻量级部署,Paddle.js为Web前端提供部署方式,FastDeploy则是一个新的、综合的部署套件。第五节三者的比较三者的比较PyTorchPyTorch是当前难得的简洁优雅且高效快速的框架。PyTorch的设计追求最少的封装,遵循tensor→variable(autograd)→nn.Module三个由低到高的抽象层次,分别代表高维数组(张量)、自动求导(变量)和神经网络(层/模块),而且这三个抽象之间联系紧密,可以同时进行修改和操作。PyTorch的灵活性不以速度为代价,在许多评测中,PyTorch的速度表现胜过TensorFlow和Keras等框架。简洁的设计带来的另外一个好处就是代码易于理解。三者的比较PyTorch正在受到越来越多人的追捧。PyTorch是所有的框架中面向对象设计的最优雅的一个。PyTorch的面向对象的接口设计来源于Torch,而Torch的接口设计以灵活易用而著称。PyTorch继承了Torch的衣钵,尤其是API的设计和模块的接口都与Torch高度一致。PyTorch的设计最符合人们的思维,它让用户尽可能地专注于实现自己的想法,即所思即所得,不需要考虑太多关于框架本身的束缚。PyTorch提供了完整的文档,循序渐进的指南,作者亲自维护的论坛供用户交流和求教问题。Facebook人工智能研究院对PyTorch提供了强力支持,作为当今排名前三的深度学习研究机构,FAIR的支持足以确保PyTorch获得持续的开发更新。同样的,由于推出时间较短,在Github上并没有如Caffe或TensorFlow那样多的代码实现,使用TensorFlow能找到很多别人的代码,而对于PyTorch的使用者,可能需要自己完成很多的代码实现。三者的比较R010203TensorFlow已经成为当今最炙手可热的深度学习框架,但是由于自身的缺陷,TensorFlow离最初的设计目标还很遥远。TensorFlow编程接口支持Python和C++。随着1.0版本的公布,Java、Go、R和HaskellAPI的alpha版本也被支持。此外,TensorFlow还可在GoogleCloud和AWS中运行。TensorFlow还支持Windows7、Windows10和WindowsServer2016。由于TensorFlow使用C++Eigen库,所以库可在ARM架构上编译和优化。这也就意味着用户可以在各种服务器和移动设备上部署自己的训练模型,无须执行单独的模型解码器或者加载Python解释器。TensorFlow和Theano拥有相近的设计理念,都是基于计算图实现自动微分系统。TensorFlow使用数据流图进行数值计算,图中的节点代表数学运算,而图中的边则代表在这些节点之间传递的多维数组。TensorFlow三者的比较01020304过于复杂的系统设计。TensorFlow代码量庞大,使维护难以完成。对于入门者,TensorFlow的底层运行机制难以掌握,很多时候导致了放弃。频繁变动的接口。Tensor
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用DNA及RNA测试设备产业链招商引资的调研报告
- 伺服放大器产品供应链分析
- 自动计量器细分市场深度研究报告
- 乐器用电子练习弱音器产业链招商引资的调研报告
- NFT艺术收藏与交易行业相关项目经营管理报告
- 《校园食品安全整改报告模板》
- 教学档案管理与建设计划
- 多元智能发展课程计划
- 如何在变革中保持年度目标不变计划
- 数艺交融:理论视角-探索数学在艺术创作中的应用
- 广西南宁市八年级上学期数学期末考试试卷
- 上海中考物理专题-计算题失分题专题(学生版)
- CEMS运行质量控制
- 公司工作日报表
- 公司“三违”行为检查记录表
- 标准化与产品标准课件
- 中考作文押题:我和我的-
- 《研究生英语》(第二版)练习答案及译文
- 小说写作:12条小说写作技巧
- 三年级上册美术课件-第6课 红色的画 ▏人美版 (共15张PPT)
- 公司规章制度立、改、废评价标准
评论
0/150
提交评论