这里有7款开源框架足以轻松上手机器学习

三石 2019-08-11 10:18:00
首先需要说明,这是一篇面向初学者的文章。

 

在众多的开源机器学习框架里,总有一款适合你。

 

随着人工智能的兴起,对机器学习能力的需求可谓是急剧增加:从金融到医疗,各行各业都在采用基于机器学习的技术。

 

然而,对于大多数企业和组织来说,定义机器学习模型仍然是一项复杂且资源密集型的工作。

 

若是借助良好的机器学习框架,便可以减少上述的挑战。

 

下面便是一些最好的开源框架和库,企业和个人都可以使用它们来构建机器学习模型。

 

Amazon Machine Learning

 

链接地址:https://aws.amazon.com/machine-learning/

 

Amazon Machine Learning(AML) 为开发机器学习模型提供了工具和向导。

 

AML 通过提供易用的分析和可视化辅助工具,使开发人员更容易访问机器学习。它还可以连接到 Redshift 或 Amazon S3 上存储的任何数据。

 

AML 提供的交互式图表有助于可视化输入数据集,以便更好地理解数据。AML 还管理运行和扩展模型创建所需的基础架构和工作流程。

 

Caffe

 

链接地址:http://caffe.berkeleyvision.org/

 

Caffe 以构建、开发深度学习应用程序而闻名。

 

这些应用程序允许用户在不需要编写任何代码或具备编码知识的情况下使用神经网络。

 

Caffe 支持 Windows 和 Mac OS x 等操作系统,还部分支持多 GPU 训练。

 

Caffe2

 

链接地址:http://caffe2.ai/

 

 

Caffe2 是 Caffe 实验性的再造,可以提供更灵活的方法组织计算。

 

Caffe2 强调易用性, 旨在为开发人员提供一种简单直观的方式,亲身体验深度学习。

 

在某些情况下,你可能希望使用现有的模型,跳过整个“学习”的步骤,在尝试训练你自己的模型之前,就熟悉深度学习是如何的实用和有效。

 

Caffe2 的原理与 Caffe 相同,开发原则可以概括为以下5点:

 

  • 表达(Expression):模型和优化被定义为纯文本模式(plaintext schema)而不是代码。

  • 速度:对学界和产业界都一样,速度对于最先进的模型和大数据至关重要。

  • 模块化:新任务和设置需要灵活性和扩展性。

  • 开放性:科学和应用进步需要通用代码(common code),参考模型和重现性(reproducibility)。

  • 社区:学术研究、startup prototypes 和工业应用通过在 BSD-2 项目中联合讨论和开发,共享实力。

 

Theano

 

链接地址:http://www.deeplearning.net/software/theano/

 

Theano 是一个专门为深度学习设计的 Python 库。它帮助用户定义和计算数学表达式,包括多维数组。

 

Theano 的特性包括与 NumPy 的集成、符号微分(symbolic differentiation)和动态 C 代码生成。它还可以与其他库(如Keras和Blocks)一起使用,并支持 Mac OS X 和 Linux 等平台。

 

虽然已经停止更新,但 Theano 的很多特性都在现有的其他框架里被继承了下来,了解一下不会吃亏。

 

TensorFlow

 

链接地址:https://www.tensorflow.org/

 

TensorFlow 是由 Google 开发的开源库,它是目前为止最受欢迎且维护良好的深度学习库之一。

 

用户可以通过使用流程图和名为 TensorBoard 的服务在 TensorFlow 上创建神经网络和计算模型,该服务提供简单的可视化。

 

TensorFlow 有 Python 和 C ++ 两种版本。它可以轻松部署在不同类型的设备上。

 

Torch

 

链接地址:http://torch.ch/

 

Torch 是另一款非常容易使用的开源框架。

 

Torch 提供了 N 维数组、线性代数程序(routine)、高效的 GPU 支持以及用于切片和传输的程序。Torch 还提供了多个模型模板。

 

它基于Lua脚本,支持 Android、Windows、iOS 和 Mac OS X 等平台。

 

不过,现在有了一个比 Torch 更好的选择,那就是接下来介绍的 PyTorch。

 

PyTorch

 

链接地址:http://pytorch.org/

 

AI 的开发从研究到生产的过程,涉及多个步骤和工具,这使得测试新方法、部署它们,以及迭代以提高准确性和性能都非常耗时而且复杂。为了帮助加速和优化这个过程,Facebook 推出了 PyTorch 1.0。

 

现在,PyTorch 受欢迎的趋势,尤其是在研究人员之间,大有赶超 TensorFlow 之趋。

 

PyTorch 1.0 采用了 Caffe2 和 ONNX 的模块化、面向生产的功能,并将它们与 PyTorch 现有的灵活的、侧重于研究的设计结合起来,为各种 AI 项目提供从研究原型到生产部署的快速、无缝的路径。

 

使用 PyTorch 1.0,AI 开发人员可以通过在命令式执行模式和声明式执行模式之间无缝切换的混合前端进行快速实验和性能优化。PyTorch 1.0 中的技术已经为Facebook的许多产品和服务提供支持,包括每天执行 60 亿次的文本翻译。

 

PyTorch 1.0 包含一系列工具、库、预训练的模型和各个开发阶段的数据集,使社区能够大规模地快速创建和部署新的 AI 创新。

 

总结

 

机器学习框架最好的一点是,它们带有预构建的组件,可以帮助用户轻松地理解和编写模型。

 

机器学习框架越好,定义机器学习模型的任务就越简单。上面提到的开源机器学习框架可以帮助大家高效、轻松地构建机器学习模型。

 

编辑:三石

来源:Hacker Noon

dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn

活动预告