如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano相关的知识,希望对你有一定的参考价值。

  深度学习目前的应用领域很多,主要是计算机视觉和自然语言处理,以及各种预测等。对于计算机视觉,可以做图像分类、目标检测、视频中的目标检测等,对于自然语言处理,可以做语音识别、语音合成、对话系统、机器翻译、文章摘要、情感分析等。
  对于刚入行深度学习,想从事人工智能工业应用和研发的小白来说,选择一个适合自己的深度学习框架显得尤为重要。那么在选择深度学习框架的时候,要注意哪些内容呢?
  通常我们在选择框架时要考虑易用性、性能、社区、平台支持等问题。初学者应该考虑容易上手的框架,偏工业应用的开发者可以考虑使用稳定性高、性能好的框架,偏研究性的开发者,一般选择易用而且有领先的模型基线的框架。
  目前这个阶段,TensorFlow因为背靠谷歌公司这座靠山,再加上拥有庞大的开发者群体,而且采用了称为“可执行的伪代码”的Python语言,成为最受欢迎的主流框架之一。一些外围的第三方库(如Keras、TFLearn)也基于它实现了很多成果,Keras还得到TensorFlow官方的支持。TensorFlow支持的上层语言也在逐渐扩大,对于不同工程背景的人转入的门槛正在降低。
  因此,对于刚入行深度学习的小白,TensorFlow是一个非常好的选择,掌握TensorFlow对以后的求职发展很有帮助。
  为了让大家更快地掌握深度学习技术,成为人工智能领域高端人才,中公教育联合中科院自动化研究所专家,强力推出人工智能《深度学习》,让大家学有所成、真正掌握机器学习模型以及算法背后的原理。
参考技术A DeepMind宣布采用谷歌开源的深度学习框架TensorFlow,不再采用Torch框架。Torch 诞生时间较久,直到去年Facebook 开源了大量Torch的深度学习模块才开始流行起来。
DeepMind是谷歌并购的一家AI公司,今年因AlphaGo以4:1的成绩战胜了韩国围棋大师李世石而名声大噪。除此以外,谷歌还有规模更大的Google Brain团队。
除了上述2个深度学习框架,GitHub 还有其他3个开源框架值得关注:
1、Caffe:源自加州伯克利分校的Caffe,由C++开发。雅虎今年2月份开源的CaffeOnSpark, 就是基于 Caffe,还有能够优化迭代工作负载的数据运算系统 Spark (它是对 Hadoop 的补充,可以在 Hadoop 文件系统中并行运行)。雅虎所做的只是创建了一个可以在Spark集群上运行Caffee的方法。它可以单独在Spark上运行,或者在 Hadoop上。Feng说,除了让AI开发人员更方便的使用相似工具、避免来回移动数据外,CaffeOnSpark还将在众多服务器中分发深度学习进程变得相对容易,而这正是谷歌开源版本的TensorFlow做不到的。
2、Deeplearning4j:Deeplearning4j 是”for Java”的深度学习框架,由创业公司Skymind于2014 年6月发布,可与Hadoop和Spark集成,即插即用,方便开发者在APP中快速集成深度学习功能。该学习框架成熟度较高,可以直接面向商用。
3、Brainstorm:来自瑞士人工智能实验室IDSIA 的一个深度学习软件包,Brainstorm 能够处理上百层的超级深度神经网络——Highway Networks。
其他还有Theano、Chainer、Marvin、Neon、ConvNetJS等都出自创业公司、AI个人爱好者或大学项目组,未来被广泛应用的可能性较小。
建议AI爱好者重点学习TensorFlow、Caffe和Torch,同时关注Deeplearning4j和Brainstorm的更新,而不必在一些并不成熟的框架上花费太多时间。本回答被提问者采纳

如何选择深度学习框架

1.为什么需要深度学习框架

复杂的深度学习算法模型很难通过原始的代码进行重构实现,有了框架能够方便研发人员快速实现模型,同时能够让神经网络结构代码更简洁,执行效率更高。


因为大多数深度学习框架采用开源项目开发,很多功能被不断优化,使用更便捷高效。

2.目前有哪些深度学习框架

深度学习研究的热潮持续高涨,目前深度学习框架很多如TensorFlow,Caffe,MXNet,Paddlepaddle等,大多数框架最开始都是在高校和公司在研究时产生,如美国的Google,微软,Facebook,伯克利大学还有中国的百度都在推行自己的深度学习框架(平台)。目前的深度学习主要框架有如下统计:

如何选择深度学习框架

3.深度学习框架怎么选

深度学习框架目前有很多种,国内国外都有。吴恩达老师给我们的建议应该考虑三点:

  1. 便于编程

    既包括神经网络的开发和迭代,还包括为产品进行配置。

  2. 运行速度

    能适应大数据量的快速运算。

  3. 框架是否真的开放

    不仅开源,还需要良好的管理。能否值得信任这个框架能够长期保持开源,并得到良好的推进。

其中第三点是不经常提起,却又是非常重要的考虑因素。


  • caffe: http://caffe.berkeleyvision.org/

  • DeepLearning4J: http://deeplearning4j.org/

  • deepmat: https://github.com/kyunghyuncho/deepmat

  • Neon: http://neon.nervanasys.com/docs/latest/index.html

  • Eblearn: http://eblearn.sourceforge.net/

  • PyLearn: http://deeplearning.net/software/pylearn2/

  • TensorFlow: https://www.tensorflow.org/

  • Theano: http://deeplearning.net/software/theano/

  • Torch: http://torch.ch/

  • MXnet: http://mxnet.readthedocs.io/en/latest/

  • chainer: https://github.com/pfnet/chainer


参考:

  1. deeplearning.ai Coursera 

  2. 《TensorFlow实战》



-end-

小编有话说

AITop100
机器学习领域分享达人


以上是关于如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano的主要内容,如果未能解决你的问题,请参考以下文章

深度学习及机器学习框架对比摘要

AI技术大爆炸,选择困难症如何选择深度学习框架?

解读对比13个深度学习框架后的选择——专访TensorFlow贡献者黄文坚

AI创新者TensorFlow贡献者黄文坚:解读对比13个深度学习框架后的选择

深度学习Tensorflow框架的安装

深度学习框架如何选?4大场景对比Keras和PyTorch