机器学习者必知的种深度学习框架 - 雷锋网

机器学习者必知的种深度学习框架 - 雷锋网

ID:12626778

大小:30.50 KB

页数:0页

时间:2018-07-18

机器学习者必知的种深度学习框架 - 雷锋网_第页
预览图正在加载中,预计需要20秒,请耐心等待
资源描述:

《机器学习者必知的种深度学习框架 - 雷锋网》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、机器学习者必知的5种深度学习框架

2、雷锋网雷锋网按:本文为雷锋字幕组编译的技术博客,原标题The5DeepLearningFrameworksEverySeriousMachineLearnerShouldBeFamiliarWith,作者为JamesLe。翻译

3、杨恕权张晓雪陈明霏整理

4、凡江图片来源:RaphaelKohon12Unsplash深度学习需要大量的计算。它通常包含具有许多节点的神经网络,并且每个节点都有许多需要在学习过程中必须不断更新的连接。换句话说,神经网络的每一层都有成百上千个相同的人工神经元在执行相同的计算。因此,神经网络的结构适用于GPU(

5、图形处理单元)可以高效执行的计算类型(GPU是专门为并行计算相同指令而设计的)。随着深度学习和人工智能在过去几年的迅速发展,我们也看到了许多深度学习框架的引入。深度学习框架的创建目标是在GPU上高效运行深度学习系统。这些深度学习框架都依赖于计算图的概念,计算图定义了需要执行的计算顺序。在这些框架中你使用的是一种可以建立计算图的语言,并且语言的执行机制与其宿主语言本身的机制有所不同。然后,计算图可以并行地在目标GPU中优化和运行。在这篇文章中,我想向大家介绍推动深度学习发展的5个主力框架。这些框架使数据科学家和工程师更容易为复杂问题构建深度学习解决方案,并执行更

6、复杂的任务。这只是众多开源框架中的一小部分,由不同的科技巨头支持,并相互推动更快创新。1.TensorFlow(Google)TensorFlow最初是由GoogleBrainTeam的研究人员和工程师开发的。其目的是面向深度神经网络和机器智能研究。自2015年底以来,TensorFlow的库已正式在GitHub上开源。TensorFlow对于快速执行基于图形的计算非常有用。灵活的TensorFlowAPI可以通过其GPU支持的架构在多个设备之间部署模型。简而言之,TensorFlow生态系统有三个主要组成部分:用C++编写的TensorFlowAPI包含用于

7、定义模型和使用数据训练模型的API。12它也有一个用户友好的Python接口。TensorBoard是一个可视化工具包,可帮助分析,可视化和调试TensorFlow计算图。TensorFlowServing是一种灵活的高性能服务系统,用于在生产环境中部署预先训练好的机器学习模型。Serving也是由C++编写并可通过Python接口访问,可以即时从旧模式切换到新模式。TensorFlow已被广泛应用于学术研究和工业应用。一些值得注意的当前用途包括DeepSpeech,RankBrain,SmartReply和On-DeviceComputerVision。大家

8、可以在TensorFlow的GitHub项目中查看一些最佳官方用途,研究模型、示例和教程。我们来看一个运行的示例。在这里,我在Tens12orFlow上用随机数据训练一个基于L2损失的2层ReLU网络。这个代码有两个主要组件:定义计算图并多次运行这个图。在定义计算图时,我为输入x,权重w1和w2以及目标y创建placeholders进行占位。然后在前向传播中,我计算目标y的预测以及损失值(损失值为y的真实值与预测值之间的L2距离)。最后,我让Tensorflow计算关于w1和w2的梯度损失。完成计算图构建之后,我创建一个会话框来运行计算图。在这里我创建了num

9、py数组,它将填充建图时创建的placeholders(占位符),将它们数值提供给x,y,w1,w2。为了训练网络,我反复运行计算图,使用梯度来更新权重然后获得loss,grad_w1和grad_w2的numpy数组。Keras:高级包装深度学习框架在两个抽象级别上运行:低级别--数学运算和神经网络基本实体的实现(TensorFlow,Theano,PyTorchetc.)和高级别--使用低级基本实体来实现神经网络抽象,如模型和图层(Keras)。Keras是其后端库的包装,该后端库可以是TensorFlow或Theano-这意味着如果你们在使用以Tensor

10、Flow为后端库的Keras,你实际上是在运行TensorFlow代码。Keras为您考虑到了许多基本细节,因为它针对神经网络技术用户,而且非常适合那些练习数据科学的人。它支持简单快速的原型设计,支持多种神经网络架构,并可在CPU/12GPU上无缝运行。在这个例子中,对一个与之前例子中相似的神经网络进行训练,我首先将模型对象定义为一系列图层,然后定义优化器对象。接下来,我建立模型,指定损失函数,并用单个“fit”曲线来训练模型。2. Theano(蒙特利尔大学)Theano是另一个用于快速数值计算的Python库,可以在CPU或GPU上运行。它是蒙特利尔大学蒙

11、特利尔学习算法小组开发的一个开源项目。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。