深度主流深度学习框架对比看你最适合

选自deeplearning4j.org

机器之心编译

作者:A?ronvandenOord、HeigaZen、SanderDieleman

参与:吴攀、李亚洲

近日,Deeplearning4j在自己的官方网站发表了一篇对比Deeplearning4j与Torch、Theano、Caffe、TensorFlow的博客文章,同时Deeplearning4j在文章中也对自己的框架进行了较为详细的介绍(多有溢美之词)。机器之心对全文进行了编译,文中观点仅代表原作者立场。

目录

TheanoEcosystem

Torch

Tensorflow

Caffe

CNTK

DSSTNE

Speed

DL4J:WhytheJVM?

DL4S:DeepLearninginScala

Machine-LearningFrameworks

FurtherReading

Theano与生态系统

深度学习领域内的很多学术研究人员依赖于Theano,这个用Python编写的框架可谓是深度学习框架的老祖宗。Theano像Numpy一样,是一个处理多维数组的库。与其他库一起使用,Theano很适合于数据探索和进行研究。

在Theano之上,已经有很多的开源的深度库建立起来,包括Keras、Lasagne和Blocks。这些库的建立是为了在Theano偶尔的非直觉界面上更简单地使用API。(截止到年3月,另一个与Theano相关的库Pylearn2可能即将死亡。)

相反,Deeplearning4j能在JVM语言(比如,Java和Scala)下将深度学习带入生产环境中,创造出解决方案。Deeplearning4j意在以一种可拓展的方式在并行GPU或CPU上将尽可能多的环节自动化,并能在需要的时候与Hadoop和Spark进行整合。

优缺点

(+)Python+Numpy

(+)计算图是很好的抽象

(+)RNN完美适配计算图

(-)原始Theano在某种程度上有些低水平

(+)高层次wrappers(Keras,Lasange)减轻了这种痛苦

(-)错误信息没有帮助

(-)大型模型有较长的编译时间

(-)比Torch更「臃肿」

(-)对预训练模型支持不佳

(-)在AWS上有很多bug

Torch

Torch是一个用Lua编写的支持机器学习算法的计算框架。其中的一些版本被Facebook、Twitter这样的大型科技公司使用,为内部团队专门化其深度学习平台。Lua是一种在上世纪90年代早期在巴西开发出来的多范式的脚本语言。

Torch7虽然强大,却并未被基于Python的学术社区和通用语言为Java的企业软件工程师普遍使用。Deeplearning4j使用Java编写,这反映了我们对产业和易用性的







































治疗白癜风最新最佳最好的方法
治疗白癜风最有效的医院



转载请注明:http://www.ybyjw.com/jbzd/8908.html

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 当前时间: