2018 年 10 月 16 日 18:24:56 Gravitylink 阅读数 706
在本文中,我们来看看机器学习的一些最佳框架和库。 这个列表是由我根据各种参数创建的,有些人肯定不会接受它,但它又是会因人而异。
这些框架中的每一个都是彼此不同的,并且需要花费很多时间来学习,在制作此列表时我们处理的是除基本功能之外的功能,用户群和社区和支持是最重要的参数之一。 一些框架在数学上更加面向,因此更倾向于统计而不是神经网络。 其中一些提供了丰富的线性代数工具;有些主要只关注深度学习。
1、TensorFlow
TensorFlow 是一个开源软件库,用于完成一系列任务的基于数据的编程,由 Google Brain 团队开发,最初于 2015 年 11 月 9 日发布,尽管稳定版本仅在今年 4 月 27 日发布。它能够非常有效地进行回归,分类,神经网络等,甚至能够在 CPU 和 GPU 上运行。由于其功能复杂,TensorFlow 在早期阶段很难掌握,因为用户需要很好地理解 Numpy 数组。 Numpy 是一个 Python 框架,有助于处理 n 维数组。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
TensorFlow 的优点:
灵活性:它是一个高度灵活的系统,为用户提供可以同时提供的同一模型的多个模型和版本。这种灵活性有助于非自动迁移到更新版本。
可移植性:它可以在 GPU,CPU,台式机,服务器和移动计算平台上运行。您可以在移动设备上部署经过培训的模型作为产品的一部分,这就是它作为真正的可移植性功能的方式。
研究与开发
自动分化
性能佳
2、APACHE Spark
Spark 是一个开源集群计算框架,最初是在伯克利实验室开发的,最初于 2014 年 5 月 26 日发布,主要用 Scala,Java,Python 和 R. 编写,虽然是在加州大学伯克里实验室制作的,后来又被捐赠了 到 Apache Software Foundation。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
Spark 核心基本上是这个项目的基础,这也很复杂,但它不是担心 Numpy 数组,而是让你使用它自己的 Spark RDD 数据结构,任何知道大数据的人都可以理解它的用途。 作为用户,我们还可以使用 Spark SQL 数据框。 凭借所有这些功能,它可以为您创建密集和火花特征标签向量,从而带来很多复杂性,以满足 ML 算法的要求。
Spark ML 的优点:
简单性:来自 R 和 Python 等工具的数据科学家熟悉的简单 API
可扩展性:能够在小型和大型机器上运行相同的 ML 代码
端到端精简
兼容性
3、Caffe
Caffe 是 BSD 许可下的开源框架。 CAFFE(用于快速特征嵌入的卷积体系结构)是由加州大学伯克利分校开发的深度学习工具,该框架主要用 CPP 编写。 它支持许多不同类型的深度学习架构,主要关注图像分类和分割。 它支持几乎所有主要方案,并且是完全连接的神经网络设计,它提供 GPU 以及基于 CPU 的加速,以及 TensorFlow。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
CAFFE 主要用于学术研究项目和设计初创公司 Prototypes。 甚至雅虎已经与 Apache Spark 集成了 caffe 来创建另一个伟大的深度学习框架 CaffeOnSpark。
Caffe 框架的优点:
Caffe 是应用深度神经网络解决问题的最快方法之一
支持开箱即用的 GPU 培训
相当完善的 Mat 实验室和 python 界面
通过设置单个标志在 GPU 计算机上进行训练,然后部署到商品群集或移动设备,在 CPU 和 GPU 之间切换。
速度使 Caffe 成为研究实验和行业部署的理想选择。
Caffe 每天可以使用一个 NVIDIA K40 GPU * 处理超过 60M 的图像。 这是用于推理的 1 ms / 图像和用于学习的 4 ms / 图像,更新的库版本和硬件仍然更快。 我们相信 Caffe 是最快的修道院实施之一。
4、Torch
Torch 也是一个机器学习开源库,一个适当的科学计算框架。 它的制造商称它为最简单的 ML 框架,虽然它的复杂性相对简单,它来自 Lua 编程语言界面的脚本语言界面。 其中只有数字(无 int,short 或 double),没有像其他语言那样进一步分类。 因此它易于操作和功能。
Torch 由 Facebook AI Research Group,IBM,Yandex 和 Idiap Research Institute 使用,它最近扩展了其对 Android 和 iOS 的使用。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
Torch 框架的优点:
Torch 使用非常灵活
Torch 提供高水平的速度和效率
提供大量预训练模型
5、Scikit-Learn
Scikit-Learn 是一个非常强大的免费使用 Python 的 Python 库,广泛用于构建模型。 它建立在许多其他库的基础上,即 SciPy,Numpy 和 matplotlib,它也是统计建模技术最有效的工具之一,即分类,回归,聚类。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
Scikit-Learn 具有监督和无监督学习算法甚至交叉验证等功能。 Scikit-learn 主要用 Python 编写,一些用 Cython 编写的核心算法来实现性能。 支持向量机由 LIBSVM 周围的 Cython 包装器实现。
Sci-Kit 学习的优点:
许多主要算法的可用性
对数据挖掘非常有效
支持大多数实际任务
广泛用于复杂的任务
为什么推荐 TensorFlow ?
在中国,有很多公司都在使用 TensorFlow,比如京东、腾讯、小米、出门问问等公司,都在利用 TensorFlow 搭建自己的 AI、机器学习平台。
所以,程序员或者是初学者,以及对代码较感兴趣的人,都可以学一学 TensorFlow。
机器学习的5个最佳开源框架,AI入门应该先学哪个?
如果你想更加了解 TensorFlow,或者说,如何让自己使用 Python 开发的机器学习模型快捷低成本的跑起来,深度兼容 TensorFlow?谷歌的另一款工具或许可以帮到你,也就是谷歌的 AIY Projects 项目。 AIY Vision Kit 附带的软件运行三个基于 TensorFlow 的神经网络。 其中一个基于谷歌的 MobileNets 平台,能够识别超过 1,000 个日常物品。 第二个可以在图像中发现面部和表情。 最后一个是专门用于识别猫,狗和人的神经网络。
转自
https://blog.csdn.net/gravitylink/article/details/83095436