首页 男生 其他 罗辑思维荐书集锦(套装共24册)

附录4:机器学习的主要编程框架

  附录4:机器学习的主要编程框架

  TensorFlow是由谷歌大脑团队开发的,主要用于机器学习和深度神经网络的研究。2016年5月,谷歌从Torch(一种编程框架)转移到TensorFlow,这对其他编程框架造成了打击,特别是torch和theano。许多人将TensorFlow描述成一个比theano更现代化的版本,吸取了这些年在新领域 / 技术的许多重要的经验教训。

  TensorFlow以智能、灵活的方式而闻名,是一种高度可扩展的机器学习系统,使其更容易适应不同的新旧产品和研究,并且比较容易安装,还针对初学者提供了教程,涵盖神经网络的理论基础和实际应用。TensorFlow比theano和torch慢,但谷歌和开源社区正在解决这个问题。TensorBoard是TensorFlow的可视化模块,它提供了一个计算路径的直观视图。深度学习库Keras被移植到TensorFlow上运行,这意味着任何用Keras编写的模型现在都可以运行在TensorFlow上。最后,值得一提的是TensorFlow可以在各种硬件上运行。其特点如下。

  (1)GPU加速:支持。

  (2)语言 / 界面:Python、Numpy、C++。

  (3)平台:跨平台。

  (4)维护者:谷歌。

  theano起源于2007年在蒙特利尔大学的知名MILA(学习算法研究所),是用Python编写的CPU/GPU符号表达式的深度学习编译器。theano功能强大,速度极快,并且灵活,但通常被认为是一个底层框架。因此,原生theano更像是一个研究平台和生态系统,而非深度学习库,它经常被用作高级程序库的底层平台,而这些高级库给用户提供简单的API。theano提供一些比较受欢迎的库包括Keras、Lasagne和Blocks。theano的缺点之一是仍然需要一个支持多GPU的方案。theano的特点如下。

  (1)GPU加速:支持。

  (2)语言 / 界面:Python,Numpy。

  (3)平台:Linux、Mac OS X和Windows。

  (4)维护者:蒙特利尔大学MILA实验室。

  在所有常见的框架中,torch可能是最容易启动和运行的,特别是在使用Ubuntu(一种开源电脑操作系统)的情况下。它允许基于神经网络的算法在GPU硬件上运行,而不需要在硬件级别进行编码。torch在2002年由纽约大学开发,被Facebook和Twitter等大型科技公司广泛使用,并得到英伟达的支持。Torch是用一种叫作Lua的脚本语言编写的,这种语言很容易阅读,但并不像Python那样通用。有用的错误提示消息、大量的示例代码 / 教程以及Lua的简单性让torch很容易上手。其特点如下。

  (1)GPU加速:支持。

  (2)语言 / 界面:Lua。

  (3)平台:Linux、Android、Mac OS X、iOS和Windows。

  (4)维护者:Ronan、Clément、Koray和Soumith。

  Caffe被开发用于利用卷积神经网络的图像分类 / 机器视觉,由1 000多名开发人员推动其发展。Caffe最出名的可能是ModelZoo模型,开发者无须编写任何代码就可以直接使用。

  Caffe主要针对工业应用,而torch和theano是为研究量身打造的。Caffe不适用于非计算机视觉深度学习应用,如文本、声音或时间序列数据。Caffe可以在各种硬件上运行,并且CPU和GPU之间的切换可以通过设置单个标志来完成。Caffe的运行速度比theano和torch要慢。其特点如下。

  (1)GPU加速:支持。

  (2)语言 / 界面:C、C++、Python、MATLAB、CLI。

  (3)平台:Ubuntu、Mac OS X、Windows实验版。

  (4)维护者:伯克利视觉和学习中心(BVLC)。

  CNTK是微软深度学习工具包,是微软的开源深度学习框架。CNTK在语音社区中比在一般深度学习社区中更为著名,可以用于图像和文本训练。CNTK支持多种算法,例如Feed Forward、CNN、RNN、LSTM和Sequence-to-Sequence。它可以运行在许多不同的硬件类型上,包括多个GPU。其特点如下。

  (1)GPU加速:支持。

  (3)语言 / 界面:Python、C++、C#和CLI。

  (4)平台:Windows、Linux。

  (5)维护者:微软研究院。

  HO也称为HO.ai,是世界上使用最广泛的开源深度学习平台之一。它被全球超过8万名数据科学家和研究人员以及超过9000家企业和组织所用,包括为全球最有影响力的一些公司开发关键任务数据产品。HO提供基于Web的用户界面,同时可以访问机器学习软件库,并开启机器学习的过程。

  维基百科中有一张表详细列出了各主要编程框架的参数和特点,链接如下:

  https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software。

目录
设置
手机
书架
书页
评论