您当前的位置:首页 > 电脑百科 > 人工智能

2019年十大最佳深度学习框架

时间:2019-09-02 14:27:56  来源:  作者:
2019年十大最佳深度学习框架

虽然我们大多数人都惊叹为什么DL这么好? 在使用大量数据进行训练时,它在准确性方面非常出色。近几年随着深度学习算法的发展,出现了很多深度学习的框架,这些框架各有所长,各具特色。下面将为大家介绍2019年最受欢迎的十大深度学习框架。

TensorFlow

2019年十大最佳深度学习框架

谷歌的Tensorflow可以说是当今最受欢迎的深度学习框架。 Gmail,Uber,Airbnb,Nvidia以及其他许多知名品牌都在使用。TF是目前深度学习的主流框架,Tensorflow主要特性:

  • TensorFlow支持PythonJAVAScript、C ++、Java和Go,C#和Julia等多种编程语言。
  • TF不仅拥有强大的计算集群,还可以在IOSAndroid等移动平台上运行模型。
  • TF编程入门难度较大。初学者需要仔细考虑神经网络的架构,正确评估输入和输出数据的维度和数量。
  • TF使用静态计算图进行操作 。 也就是说我们需要先定义图形,然后运行计算,如果我们需要对架构进行更改,我们会重新训练模型。 选择这样的方法是为了提高效率,但是许多现代神经网络工具能够在学习过程中考虑改进而不会显着降低学习速度。 在这方面,TensorFlow的主要竞争对手是PyTorch 。

TensorFlow优点:

  • 它非常适合创建和试验深度学习架构,便于数据集成,如输入图形,SQL表和图像。
  • 它得到谷歌的支持,这就说明该模型短期内不会被抛弃,因此值得投入时间来学习它。

PyTorch

2019年十大最佳深度学习框架

Tensorflow之后用于深度学习的主要框架是PyTorch。 PyTorch框架是Facebook开发的,已被Twitter和Salesforce等公司使用。PyTorch基本特性:

  • 与TensorFlow不同,PyTorch库使用动态更新的图形进行操作 。 这意味着它可以在流程中更改体系结构。
  • 在PyTorch中,您可以使用标准调试器 ,例如pdb或PyCharm。

PyTorch优点:

  • 训练神经网络的过程简单明了。 同时,PyTorch支持数据并行和分布式学习模型,并且还包含许多预先训练的模型。
  • PyTorch更适合小型项目和原型设计
  •  

Sonnet

2019年十大最佳深度学习框架

Sonnet深度学习框架是建立在TensorFlow的基础之上。 它是DeepMind用于创建具有复杂架构的神经网络。Sonnet基本特性:

  • 面向对象的库,在开发神经网络(NN)或其他机器学习(ML)算法时更加抽象。
  • Sonnet的想法是构造对应于神经网络的特定部分的主要Python对象。 此外,这些对象独立地连接到计算TensorFlow图。 分离创建对象并将其与图形相关联的过程简化了高级体系结构的设计。

Sonnet优点:

  • Sonnet的主要优点是可以使用它来重现DeepMind论文中展示的研究,比Keras更容易,因为DeepMind论文模型就是使用Sonnet搭建的。

Keras

2019年十大最佳深度学习框架

Keras是一个机器学习框架,如果您拥有大量数据和/或你想快速入门深度学习,那么Keras将非常适合学习。 Keras是TensorFlow高级集成APi,可以非常方便的和TensorFlow进行融合。这是我强烈推荐学习的一个库。Keras基本特性:

  • 除了Tensorflow之外,Keras还是其他流行的库(如Theano和CNTK)的高级API。
  • 在Keras中更容易创建大规模的深度学习模型,但Keras框架环境配置比其他底层框架要复杂一些。

Keras优点:

  • 对于刚刚入门的人来说,Keras是最好的深度学习框架。 它是学习和原型化简单概念的理想选择,可以理解各种模型和学习过程的本质。
  • Keras是一个简洁的API。 可以快速帮助您创建应用程序。
  • Keras中代码更加可读和简洁。
  • Keras模型序列化/反序列化API,回调和使用Python生成器的数据流非常成熟。

顺便说一下TensorFlow和Keras的对比:

PS:Tensorflow处于底层框架:这和MXNet,Theano和PyTorch等框架一样。 包括实现诸如广义矩阵 - 矩阵乘法和诸如卷积运算的神经网络原语之类的数学运算。

Keras处于高度集成框架。 虽然更容易创建模型,但是面对复杂的网络结构时可能不如TensorFlow。

MXNet

2019年十大最佳深度学习框架

MXNet是一种高度可扩展的深度学习工具,可用于各种设备。 虽然与TensorFlow相比,它似乎没有被广泛使用,但MXNet的增长可能会因为成为一个Apache项目而得到提升。MXNet基本特性:

  • 该框架支持多种语言,如C ++,Python,R,Julia,JavaScript,Scala,Go,甚至Perl。
  • 可以在多个GPU和许多机器上非常有效地并行计算。

MXNet优点:

  • 支持多个GPU(具有优化的计算和快速上下文切换)
  • 清晰且易于维护的代码(Python,R,Scala和其他API)
  • 快速解决问题的能力(对于像我这样的深度学习新手至关重要)

虽然它不像TF那么受欢迎,但MXNet具有详细的文档并且易于使用,能够在命令式和符号式编程风格之间进行选择,使其成为初学者和经验丰富的工程师的理想选择。

GLUON

2019年十大最佳深度学习框架

Gluon是一个更好的深度学习框架,可以用来创建复杂的模型。GLUON基本特性:

  • Gluon的特殊性是具有一个灵活的界面,简化了原型设计,构建和培训深度学习模型,而不会牺牲学习速度。
  • Gluon基于MXNet,提供简单的API,简化深度学习模型的创建。
  • 与PyTorch类似,Gluon框架支持使用动态图表 ,将其与高性能MXNet相结合。 从这个角度来看,Gluon看起来像是分布式计算的Keras非常有趣的替代品。

GLUON优点:

  • 在Gluon中,您可以使用简单,清晰和简洁的代码定义神经网络。
  • 它将训练算法和神经网络模型结合在一起,从而在不牺牲性能的情况下提供开发过程的灵活性。
  • Gluon可以定义动态的神经网络模型,这意味着它们可以动态构建,使用任何结构,并使用Python的任何本机控制流。

SWIFT

2019年十大最佳深度学习框架

当你听到Swift时,您可能会考虑iOS或macOS的应用程序开发。但是如果你正在学习深度学习,那么你一定听说过Swens for Tensorflow。通过直接与通用编程语言集成,Swift for TensorFlow可以以前所未有的方式表达更强大的算法。SWIFT基本特性:

  • 可以轻松获得可微分的自定义数据结构。
  • 下一代API 。 通过实践和研究获得的新API更易于使用且更强大。
  • 在TensorFlow的基础上 ,Swift API为您提供对所有底层TensorFlow运算符的直接调用。
  • 基于Jupyter、LLDB或者Swift in Colab的编程工具提高了您的工作效率。

SWIFT优点:

  • 如果动态语言不适合您的任务,那么这将是一个很好的选择。 当你训练运行了几个小时,然后你的程序遇到类型错误,那么使用Swift,一种静态类型语言。您将看到代码错误的地方。

Chainer

2019年十大最佳深度学习框架

直到CMU的DyNet和Facebook的PyTorch出现之前,Chainer是动态计算图或网络的领先神经网络框架,它允许输入数据长度不一致。chainer基本特性:

  • Chainer代码是在Numpy和CuPy库的基础之上用纯Python编写的, Chainer是第一个使用动态架构模型的框架。

Chainer优点:

  • 通过自己的基准测试,Chainer明显比其他面向Python的框架更快,TensorFlow是包含MxNet和CNTK的测试组中最慢的。
  • 比TensorFlow更好的GPU和GPU数据中心性能。最近Chainer成为GPU数据中心性能的全球冠军。

DL4J

2019年十大最佳深度学习框架

那些使用Java或Scala的人应该注意DL4J(Deep Learning for Java的简称)。DL4J的基本特性:

  • DL4J中的神经网络训练通过簇的迭代并行计算。
  • 该过程由Hadoop和Spark架构支持。
  • 使用Java允许您在Android设备的程序开发周期中使用。

DL4J优点:

  • 如果您正在寻找一个良好的Java深度学习框架,这会是一个非常好的平台。

ONNX

2019年十大最佳深度学习框架

ONNX项目诞生于微软和Facebook,旨在寻找深度学习模型呈现的开放格式。 ONNX简化了在人工智能的不同工作方式之间传递模型的过程。 因此ONNX具有各种深度学习框架的优点。ONNX基本特性:

  • ONNX使模型能够在一个框架中进行训练并转移到另一个框架中进行推理。 ONNX模型目前在Caffe2,Microsoft Cognitive Toolkit,MXNet和PyTorch中得到支持,并且还有许多其他常见框架和库的连接器。

ONNX优点:

  • 对于PyTorch开发人员来说,ONNX是一个好的选择。 但是对于那些喜欢TensorFlow的人来说,Keras等可能好一点。

总结

那么您应该使用哪种深度学习框架?下面是几点建议:

  • 如果你刚刚开始学习,那么最好的选择是Keras 。
  • 出于研究目的,请选择PyTorch 。
  • 对于生产,您需要关注环境。 因此对于google Cloud,最好的选择是TensorFlow ,适用于AWS - MXNet和Gluon 。
  • Android开发人员应该关注D4LJ ,对于iOS来说, Core ML会破坏类似的任务范围。
  • 最后, ONNX将帮助解决不同框架之间的交互问题。


Tags:深度学习 框架   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
虽然我们大多数人都惊叹为什么DL这么好? 在使用大量数据进行训练时,它在准确性方面非常出色。近几年随着深度学习算法的发展,出现了很多深度学习的框架,这些框架各有所长,各具特...【详细内容】
2019-09-02  Tags: 深度学习 框架  点击:(175)  评论:(0)  加入收藏
▌简易百科推荐
作为数据科学家或机器学习从业者,将可解释性集成到机器学习模型中可以帮助决策者和其他利益相关者有更多的可见性并可以让他们理解模型输出决策的解释。在本文中,我将介绍两个...【详细内容】
2021-12-17  deephub    Tags:AI   点击:(16)  评论:(0)  加入收藏
基于算法的业务或者说AI的应用在这几年发展得很快。但是,在实际应用的场景中,我们经常会遇到一些非常奇怪的偏差现象。例如,Facebook将黑人标记为灵长类动物、城市图像识别系统...【详细内容】
2021-11-08  数据学习DataLearner    Tags:机器学习   点击:(32)  评论:(0)  加入收藏
11月2日召开的世界顶尖科学家数字未来论坛上,2013年诺贝尔化学奖得主迈克尔·莱维特、2014年诺贝尔生理学或医学奖得主爱德华·莫索尔、2007年图灵奖得主约瑟夫·斯发斯基、1986年图灵奖得主约翰·霍普克罗夫特、2002...【详细内容】
2021-11-03  张淑贤  证券时报  Tags:人工智能   点击:(39)  评论:(0)  加入收藏
鉴于物联网设备广泛部署、5G快速无线技术闪亮登场,把计算、存储和分析放在靠近数据生成的地方来处理,让边缘计算有了用武之地。 边缘计算正在改变全球数百万个设备处理和传输...【详细内容】
2021-10-26    计算机世界  Tags:边缘计算   点击:(45)  评论:(0)  加入收藏
这是几位机器学习权威专家汇总的725个机器学习术语表,非常全面了,值得收藏! 英文术语 中文翻译 0-1 Loss Function 0-1损失函数 Accept-Reject Samplin...【详细内容】
2021-10-21  Python部落    Tags:机器学习   点击:(43)  评论:(0)  加入收藏
要开始为开源项目做贡献,有一些先决条件:1. 学习一门编程语言:由于在开源贡献中你需要编写代码才能参与开发,你需要学习任意一门编程语言。根据项目的需要,在后期学习另一种语言...【详细内容】
2021-10-20  TSINGSEE青犀视频    Tags:机器学习   点击:(37)  评论:(0)  加入收藏
SimpleAI.人工智能、机器学习、深度学习还是遥不可及?来这里看看吧~ 从基本的概念、原理、公式,到用生动形象的例子去理解,到动手做实验去感知,到著名案例的学习,到用所学来实现...【详细内容】
2021-10-19  憨昊昊    Tags:神经网络   点击:(47)  评论:(0)  加入收藏
语言是人类思维的基础,当计算机具备了处理自然语言的能力,才具有真正智能的想象。自然语言处理(Natural Language Processing, NLP)作为人工智能(Artificial Intelligence, AI)的核心技术之一,是用计算机来处理、理解以及运...【详细内容】
2021-10-11    36氪  Tags:NLP   点击:(49)  评论:(0)  加入收藏
边缘计算是什么?近年来,物联网设备数量呈线性增长趋势。根据艾瑞测算, 2020年,中国物联网设备的数量达74亿,预计2025年突破150亿个。同时,设备本身也变得越来越智能化,AI与互联网在...【详细内容】
2021-09-22  汉智兴科技    Tags:   点击:(55)  评论:(0)  加入收藏
说起人工智能,大家总把它和科幻电影中的机器人联系起来,而实际上这些科幻场景与现如今的人工智能没什么太大关系。人工智能确实跟人类大脑很相似,但它们的显著差异在于人工智能...【详细内容】
2021-09-17  异步社区    Tags:人工智能   点击:(57)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条