开发者必备:基于 Linux 生态的十大AI开源框架盘
本文将从开发者的角度出发,特别是针对开发者中为数众多的Linux系统和Mac系统用户,奉上一篇针对泛Linux生态的顶级人工智能开源工具盘点(当然,有些工具也并非只兼容Linux)。
- Deeplearning4j:为Java用户量身定制
Deeplearning4j(Deep Learning For Java)是Java和Scala环境下的一个开源分布式的深度学习项目,由总部位于美国旧金山的商业智能和企业软件公司Skymind牵头开发,并得到了腾讯的投资。正如它的命名,Deeplearning4j的运行需要Java虚拟机JVM的支持。
Deeplearning4j团队在官网表示,他们希望通过一些深度学习算法的开发,将商业带入智能化数据的时代。也正是为了实现这一理想,惠及更多的用户,因此选择了移植性更好的Java环境来实现这些算法。目前,Deeplearning4j的这些算法已经在谷歌、Facebook和微软等平台得到了广泛应用。
值得一提的是,为了便于开发者自由定制,Deeplearning4j已经开放了尽可能多的算法调节接口,并对接口参数做出了详尽解释。同时,Deeplearning4j团队还开发了针对矩阵运算的ND4J和ND4S库(N-Dimensional Arrays for Java/Scala),同样需要JVM的支持。
Deeplearning4j遵循Apache 2.0开源协议,提供了基于AWS云服务的GPU运算支持,以及微软服务器框架的支持。
官网: http://deeplearning4j.org/
- Caffe:广受欢迎的深度学习框架
Caffe的全称是 “Convolution Architecture For Feature Extraction”,意为“用于特征提取的卷积架构”,主要开发者来自伯克利大学的视觉与学习中心(Berkeley Vision and Learning Center,BVLC),基于BSD 2-Clause开源许可协议发布。
Caffe是业内著名的深度学习框架, 根据官网介绍 ,其主要特点是:运算速度快(官方显示在单片NVIDIA K40 GPU的运算能力下,Caffe每天可以处理超过60M的图片数据),模块定制方便(在CPU或GPU之间的转换只需要简单修改一下参数设定),扩展能力强大(目前有超过一千名开发者基于Caffe开发了分支版本 ),以及丰富的社区支持(Caffe已经被授权给各种研究机构、初创公司和工业集团),因此特别适合于神经网络建模和图像处理任务。
官网: http://caffe.berkeleyvision.org/
- H2O:企业级机器学习框架
H2O(即水的化学式)是一个开源、快速、可扩展的分布式机器学习框架,同时提供了大量的算法实现。它支持深度学习、梯度推进(Gradient Boosting)、随机森林(Random Forest)、广义线性模型(即逻辑回归,弹性网络)等各种机器学习算法。
H2O框架的核心代码由Java编写,数据和模型通过分布式的key/value存储在各个集群节点的内存中,算法使用Map/Reduce框架实现,并使用了Java中的Fork/Join机制来实现多线程。
H2O是一个更关注企业用户的人工智能分析工具,它聚焦于为掌握大量数据的企业用户提供快速精准的预测分析模型,从海量数据中提取有助于商业决策的信息。
根据H2O官方的数据,目前已经有超过7万名数据科学家和8万家组织机构成为了H2O平台的忠实拥趸。
- MLlib:基于Spark框架的机器学习算法实现库
MLlib是Apache开源项目Spark针对一些常用的机器学习算法的实现库,同时也包括了相关的测试程序和数据生成器。
按照官网的描述,MLlib的主要特点是易用(天生兼容Spark框架的API接口和Python、Java、Scala等多种语言)、高性能(依靠Spark的数据管理能力,运行迭代和逻辑回归算法时比Hadoop框架快100倍)和易于部署(可以直接在现有的Hadoop数据集群上运行)。
MLlib目前支持分类、回归、推荐、聚类、生存分析等多种机器学习算法。
官网: https://spark.apache.org/mllib/
- Apache Mahout:Hadoop广泛采用的机器学习开源框架
Apache Mahout同样也是一个Apache开源项目,与MLlib相对应,Mahout是应用在Hadoop平台下的机器学习开源框架。
Mahout有如下三个主要特点:
1) 提供简单、可扩展的编程环境和框架;
2) 同时为Scala + Apache Spark、H2O以及Apache Flik平台提供打包好的算法实现;
3) 支持R语言的语法规则进行矩阵计算。
- OpenNN:专注神经网络的实现库
OpenNN的全称为“Open Neural Networks Library”,即开源神经网络库,其核心代码由C++编写,从名字就可以看出,其主要面向深度学习领域,助力于用户构建各种不同的神经网络模型。
据官方描述,OpenNN可用于实现监督学习场景中任何层次的非线性模型,同时还支持各种具有通用近似属性的神经网络设计。
除了模型的多层支持外,OpenNN最主要优势还在于强大的性能表现。具体来说就是,OpenNN能够通过C++语言实现的核心代码高效地调节内容使用,通过OpenMP库很好地平衡多线程CPU调用,以及通过CUDA工具对GPU进行加速。
- Oryx 2:重新设计了Lambda架构
Oryx 2是Oryx项目的2.0版,前身名为 Myrrix,后来被大数据公司 Cloudera 收购,才改名为 Oryx。
Oryx 2.0关注于大规模机器学习/预测分析基础框架的实时表现,它基于Apache Spark和Apache Kafka框架开发,并重新设计了Lambda架构,使得层次之间的复用性更强。
2.0版相比之前实现了更多算法,包括ALS协同过滤、随机森林、以及K-means++等。
官网: http://oryx.io/
- OpenCyc:全球最庞大、最完备的通用型知识库与常识推理引擎
OpenCyc是Cycorp公司推出的一个基于Cyc的开源版本,而Cyc是目前全球最庞大、最完备的通用型知识库与常识推理引擎。
OpenCyc包含数十万个精心组织的Cyc词条。Cycorp公司不但免费提供OpenCyc,同时也鼓励开发者基于OpenCyc开发针对于特定应用领域的分支版本。
目前,OpenCyc已经被成功应用在大数据建模、语言数据整合、智能文本理解、特定领域的专家系统建模和人工智能游戏。
官网: http://www.cyc.com/platform/opencyc/
- Apache SystemML:专注于大数据分析的开源机器学习平台
SystemML是一个利用机器学习算法进行大数据分析的开源AI平台,其主要特点是支持R语言和Python的语法,专注于大数据分析领域,以及专门为高阶数学计算设计。
按照官网的介绍,Apache SystemML基于Apache Spark框架运行,其最大的特点就是能够自动、逐行地评估数据,并根据评估结果确定用户的代码应该直接运行在驱动器上还是运行在Apache Spark集群上。
除了Apache Spark之外,SystemML还支持Apache Hadoop、Jupyter和Apache Zeppelin等多个平台。目前,SystemML技术已经成功应用在交通、航空和金融等多个领域。
官网: http://systemml.apache.org/
- NuPIC:基于层级实时存储算法的机器智能平台
NuPIC是一个与众不同的开源机器智能平台,它基于一种大脑皮层理论,即“层级实时存储算法”(Heirarchical Temporary Memory,HTM)。NuPIC聚焦于分析实时数据流,可以通过学习数据之间基于时间的状态变化,对未知数据进行预测,并揭示其中的非常规特性。
NuPIC关键的功能特性包括:
1) 持续的在线学习:NuPIC模型可以持续根据快速变化的数据流进行实时调整;
2) 时间和空间分析:像人脑一样,NuPIC可以同时模拟时间和空间的变化;
3) 实时的数据流分析:智能化的数据分析不会随着数据量的增加而改变;
4) 预测和建模:通过通用性的大脑皮层算法,对数据进行预测、建模和学习;
5) 强大的异常检测能力:实时检测数据流的扰动,不依靠僵化的阈值设置和过时的算法;
6) 层级实时存储算法:支持全新的HTM计算架构。
文章转载自 开源中国社区 [http://www.oschina.net]

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Airbnb推出PrestoDB可视化Web UI —— Airpal
Airpal 是一个基于 Web 的查询执行工具,利用 Facebook 的 PrestoDB 进行查询和获取结果。提供了查找表、元数据、浏览数据行,编写和执行查询的功能,这些功能全部通过浏览器完成。一旦查询开始执行,用户可跟踪查询进度获取并下载结果。查询的结果可生成新的 Hive 表用于进一步的分析。 文章转载自 开源中国社区 [http://www.oschina.net]
- 下一篇
什么是 Hadoop 生态系统
在一些 Teiid 的一些文章和示例上都会有关于 JBoss Data Virtualization (Teiid) 通过 Hive 使用 Hadoop 作为数据源的信息。当使用 Hadoop 环境创建 Data Virtualization 示例时,比如 Hortonworks Data Platform, Cloudera Quickstart 等等,里面会包含大量的开源项目。本篇文章主要是对 Hadoop 生态系统有个初步的认识,以下的一些开源项目详情可以查看 hadoop ecosystem table。 Map Reduce -MapReduce 是使用集群的并行,分布式算法处理大数据集的可编程模型。Apache MapReduce 是从 Google MapReduce 派生而来的:在大型集群中简化数据处理。当前的 Apache MapReduce 版本基于 Apache YARN 框架构建。YARN = “Yet-Another-Resource-Negotiator”。YARN 可以运行非 MapReduce 模型的应用。YARN 是 Apache Hadoop 想要超...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS6,CentOS7官方镜像安装Oracle11G