【机器学习】深度学习框架是什么?有哪些?如何选择?

您所在的位置:网站首页 服务框架是什么意思呀 【机器学习】深度学习框架是什么?有哪些?如何选择?

【机器学习】深度学习框架是什么?有哪些?如何选择?

2024-07-16 22:22| 来源: 网络整理| 查看: 265

本文适合新入门小白了解深度学习框架基础,也适合刚入门选手思考各种深度学习框架。 文章目录 一、深度学习框架是什么? 二、深度学习框架有哪些? 三、如何选择合适的框架? 1. TensorFlow 2. PyTorch 3. Caffe 1.0 4. Theano 5. MXNet 6. Keras 7. Chainer 四. 参考链接 一、深度学习框架是什么? 深度学习框架像Caffe、tensorflow,这些是深度学习的工具,简单来说就是库,编程时需要import caffe、import tensorflow。 作一个简单的比喻,一套深度学习框架就是这个品牌的一套积木,各个组件就是某个模型或算法的一部分,你可以自己设计如何使用积木去堆砌符合你数据集的积木。

二、深度学习框架有哪些?

谷歌:TensorFlow Facebook:pytorch 百度:Paddle Paddle 微软:CNTK 亚马逊的AWS:MXNet 华为:mindspore 一流科技:oneflow 旷世:MegEngine 清华:Jittor

三、如何选择合适的框架? 每种框架都有其优缺点,选择的时候更加需要根据自身业务的实际需求:例如需要用到对时间序列分析的,那么就会使用循环神经网络RNN,而Caffe、MXNet虽然对图像卷积处理非常友善但缺乏循环神经网络。Google的TensorFlow支持其他机器学习算法,还支持增强学习Reinforcement learning算法。

 

1. TensorFlow 开发语言: 基于python编写,通过C/C++引擎加速,是Google开源的第二代深度学习框架。

编程语言: Python是处理TensorFlow的最方便的客户端语言。不过,JavaScript、C++、Java、Go、C#和Julia也提供了实验性的交互界面。

优点:

处理循环神经网RNN非常友好。其用途不止于深度学习,还可以支持增强学习和其他算法。 内部实现使用了向量运算的符号图方法,使用图graph来表示计算任务,使新网络的指定变得相当容易,支持快速开发。TF使用静态计算图进行操作。也就是说,我们首先定义图,然后运行计算,如果需要对架构进行更改,我们将重新训练模型。TF选择这种方法是为了提高效率,但是许多现代神经网络工具能够在不显著降低学习速度的情况下,同时兼顾到在学习过程中进行改进。在这方面,TensorFlow的主要竞争对手是Pythorch。 缺点:

目前TensorFlow还不支持“内联(inline)”矩阵运算,必须要复制矩阵才能对其进行运算,复制庞大的矩阵会导致系统运行效率降低,并占用部分内存。 TensorFlow不提供商业支持,仅为研究者提供的一种新工具,因此公司如果要商业化需要考虑开源协议问题。 2. PyTorch 开发语言: Facebook用Lua编写的开源计算框架,支持机器学习算法。Tensorflow之后深入学习的主要软件工具是PyTorch。 Facebook于2017年1月开放了Torch的Python API ― PyTorch源代码。

优点:

具有较好的灵活性和速度。与TensorFlow不同,PyTorch库使用动态更新的图形进行操作,这意味着你可以在这个过程中做出改变。实现并优化了基本计算单元,可以很简单地在此基础上实现自己的算法,不用浪费精力在计算优化上面。 支持动态计算图,能处理长度可变的输入和输出,这尤其适用于循环神经网络RNN的应用。 在PyTorch中可以使用标准调试器,例如pdb或PyCharm。 Pytorch训练神经网络的过程简单明了。 Pythorch支持数据并行和分布式学习模型,并包含许多预先训练好的模型。 缺点:

Pythorch更适合小项目和原型设计。说到跨平台解决方案,TensorFlow看起来更合适。但是,值得注意的是,对于同样的任务,用户可以使用2017年推出的Caffe2移动框架。 3. Caffe 1.0 开发语言: 2013年底由UC Berkely的贾扬清基于C和C++开发的深度学习框架,第一个主流的工业级深度学习工具。

优点:

具有非常出色的卷积神经网络实现,尤其在13年至16年期间大部分与视觉有关的深度学习论文都采用了caffe框架。至今为止Caffe在计算机视觉领域依然是最流行的工具包。 缺点:

由于开发早和历史遗留问题,其架构的缺点是不够灵活。 缺乏对循环网络RNN和语言建模的支持,因此Caffe不适用于文本、声音或时间序列数据等其他类型的深度学习应用。 4. Theano 开发语言: Theano是深度学习框架中的元老,使用Python编写。Theano派生出了大量Python深度学习库,最著名的包括Blocks和Keras。

优点:

最大特点是非常的灵活,适合做学术研究的实验。 对递归网络和语言建模有较好的支持。 缺点:

速度较慢。 5. MXNet 开发语言: MXNet主要由C/C++编写。MXNet是16年新兴的深度学习框架,因此大量借鉴了Caffe的优缺点。

编程语言: 提供多种API的机器学习框架,面向R、Python和Julia等语言,目前已被亚马逊云服务作为其深度学习的底层框架。 这个框架从一开始就支持大量的语言(C++、Python、R、Julia、JavaScript、Scala、Go,甚至Perl)。

优点:

最主要的特点是分布式机器学习通用工具包DMLC 的重要组成部分,因此其分布式能力较强。值得强调的是这个框架在多个GPU和多台机器上非常有效地并行。 MXNet还注重灵活性和效率。 文档也非常的详细。 强调提高内存使用的效率,甚至能在智能手机上运行诸如图像识别等任务。 支持多个GPU(优化计算和快速上下文切换)。 干净且易于维护的代码(Python、R、Scala和其他API)。 快速解决问题的能力(对正在深入学习的新手来说至关重要)。 缺点:

与Caffe一样,缺乏对循环神经网络RNN的支持,相对比使用JAVA实现的NL4J在分布式方面没有JAVA方便。 6. Keras Keras 是一个基于Theano和TensorFlow的深度学习库,使用TensorFlow、Theano或CNTK的捷径就是是高级Keras shell。 由于受到深度学习元老框架Torch的启发,拥有较为直观的API,有望成为未来开发神经网络的标准Python API。

优点:

除了Tensorflow之外,Keras还可以作为其他流行的低级库(如Theano和CNTK)之上的高级API。 在Keras中,原型制作非常方便。用户在Keras中创建大量的深度学习模型被简化为单行函数。凡事有利有弊,这种策略会使得Keras的可配置性不如底层框架。 对于那些刚刚起步学习深度学习的小白来说,Keras可能是最好的深度学习框架。它是学习和复现简单概念的理想选择,小白能够通过使用Keras理解各种模型和学习过程的本质。 Keras是一个编写精美的API。API的功能特性可以完全帮助用户构建更多新奇复杂的应用。同时,Keras不会阻止对底层框架的访问。 Keras编写的代码更加可读和简洁。 使用Python生成器的Keras模型序列化/反序列化API、回调和数据流已经非常成熟。 缺点:

灵活性低,Keras的可配置性不如底层框架。 顺便说一句: Tensorflow位于较低级别:这是像MXNet、Theano和Pythorch这样的框架所在的位置。这是实现数学运算(如广义矩阵矩阵乘法)和神经网络原语(如卷积运算)的层次。 Keras在更高的水平上。在这个层次上,较低层次的原语用于实现神经网络的抽象,如层次和模型。通常,在这个级别上,还实现了其他有用的API,如模型保存和模型培训。

7. Chainer 在CMU的DyNet和Facebook的PyTorch出现之前,Chainer一直是动态计算图或网络的领先神经网络框架,这种网络允许输入可变长度,而这正是NLP任务的一个流行特性。

开发语言: Chainer 的代码是在Numpy和CuPy库之上用纯Python编写的。Chainer是第一个使用动态架构模型的框架(如PyTorch)。 当用神经网络建模解决问题时,Chainer多次打破了缩放效率的记录。

优点:

根据Chainer的基准测试,Chainer明显比其他面向Python的框架更快,其中TensorFlow是包括MxNet和CNTK的测试组中速度最慢的。 Chainer的GPU和GPU数据中心性能优于TensorFlow。(TensorFlow针对TPU架构进行了优化)最近,Chainer成为GPU数据中心性能的世界冠军。 类OOP编程风格。

四. 参考链接 https://www.zhihu.com/question/53465308 https://blog.csdn.net/yeler082/article/details/78755095 https://zhuanlan.zhihu.com/p/157310499 ———————————————— 版权声明:本文为CSDN博主「想变厉害的大白菜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_44211968/article/details/120314695

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3