八大机器学习框架对比及Tensorflow的优势

八大机器学习框架的对比:

(1) TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其 前身 DistBelief 的经验教训上形成的;它不仅便携、高效、可扩 展,还能再不同计算机上运行:小到智能手机,大到计算机集群都 能;它是一款轻量级的软件,可以立刻生成你的训练模型,也能 重新实现它;TensorFlow 拥抱创新,有强大的社区、企业支持, 因此它广泛用于从个人到企业、从初创公司到大公司等不同群体。

(2) Caffe: 卷积神经网络框架,专注于卷积神经网络和图像处理,是用 C ++语言写成的。

(3) Chainer: 一个强大、灵活、直观的机器学习 Python软件库,能 够在一台机器上利用多个 GPU,是由深度学习创业公司 Preferred Networks 开发;Chainer 的设计基于 define by run 原 则,也就是说,该网络在运行中动态定义,而不是在启动时定 义。

(4) CNTK: 微软研究人员开发的用于深度神经网络和多GPU 加速技 术的完整开源工具包。微软称 CNTK在语音和图像识别方面,比 谷歌的 TensorFlow 等其它深度学习开源工具包更有优势。

(5) Deeplearning4j: 专注于神经网络的 Java 库,可扩展并集成 Spark,Hadoop 和其他基于 Java 的分布式集成软件。

(6) Nervana Neo: 是一个高效的 Python 机器学习库,它能够在单个 机器上使用多个 GPU。

(7) Theano: 是一个用 Python 编写的极其灵活的 Python 机器学习 库,用它定义复杂的模型相当容易,因此它在研究中极其流行。

(8) Torch: 是一个专注于 GPU 实现的机器学习库,得到了几个大公 司的研究团队的支持。

TensorFlow 的优势:

(1)可用性

TensorFlow 工作流程相对容易,API 稳定,兼容性好,并且 TensorFlow 与 Numpy 完美结合,这使大多数精通 Python 数据科学家很容易上手。与其他一些库不同,TensorFlow 不需要任 何编译时间, 这允许你可以更快地迭代想法。在TensorFlow 之上 已经建立了多个高级 API,例如Keras 和 SkFlow,这给用户使用TensorFlow 带来了极大的好处

(2)灵活性

TensorFlow 能够在各种类型的机器上运行,从超级计算机到嵌入式系统。它的分布式架构使大量数据集的模型训练不需要太多的时 间。TensorFlow 可以同时在多个 CPU,GPU 或者两者混合运行。

(3)效率

自 TensorFlow 第一次发布以来,开发团队花费了大量的时间和努力 来改进TensorFlow 的大部分的实现代码。 随着越来越多的开发人 员努力,TensorFlow 的效率不断提高。

(4)支持

TensorFlow 由谷歌提供支持,谷歌投入了大量精力开发 TensorFlow,它希望 TensorFlow 成为机器学习研究人员和开发人员的通用语言。此外,谷歌在自己的日常工作中也使用 TensorFlow,并且持续对其提供支持,在 TensorFlow 周围形成了 一个强大的社区。谷歌已经在 TensorFlow 上发布了多个预先训练好的机器学习模型,他们可以自由使用。