2016 年,似乎所有巨头公司都在做机器学习,如果没有,也是在赶来的路上。所以 2016 或许会因为 “机器学习大热” 而被载入史册。2017,这个热潮并没有消退的迹象,前阵子 AlphaGo 的升级版以横扫千军的姿态战胜几乎所有中国的围棋大师,如入无人之境,最后更是以 60 连胜完美收官。人们对于机器学习的热情再度被点燃起来。
机器学习的热度如此高,大家也许会需要查找相关资源进行学习和研究。本文整理了一份优秀的开源的有关机器学习的框架 、平台、系统、库和工具包的列表。
平台和系统
- TensorFlow — TensorFlow 是谷歌的第二代机器学习系统,内建深度学习的扩展支持,任何能够用计算流图形来表达的计算,都可以使用 TensorFlow
- PaddlePaddle — 百度研发的深度学习平台,具有易用,高效,灵活和可伸缩等特点,为百度内部多项产品提供深度学习算法支持
- Apache SINGA — SINGA 是基于大型数据集训练,大型深度学习模块的常规分布式学习平台。SINGA 支持各种流行的深度学习模块
- Scikit Flow — TensorFlow 的简化接口,模仿 Scikit 学习,用户可在预测分析和数据挖掘中使用
- VELES — 分布式深度学习应用系统,用户只需要提供参数,剩下的都可以交给 VELES。VELES 是三星开发的另一个 TensorFlow
- SpeeDO — 为通用硬件设计的并行深度学习系统。SpeeDO 不需要特殊的 I/O 硬件,支持 CPU/GPU 集群,可以很方便地在各种云端环境上部署,如 AWS、Google GCE、Microsoft Azure 等等
框架
- Torchnet — Facebook 为加快 A.I 研究而开源的深度学习框架
- LightGBM — 微软开源的一个实现 GBDT 算法的框架,支持高效率的并行训练。旨在解决 GBDT 在海量数据遇到的问题,让 GBDT 可以更好更快地用于工业实践
- Guagua — Hadoop 迭代式计算框架 Guagua 是 PayPal 的一个开源机器学习框架 Shifu 的子项目,主要解决模型训练的分布式问题
- Chainer — Chainer 在深度学习的理论算法和实际应用之间架起一座桥梁,深度学习的灵活框架
- Shifu — 基于 Hadoop 的快速和可伸缩的机器学习框架
- KeystoneML — 用 Scala 编写的框架,旨在简化构造大规模、端到端的机器学习管道,基于 Apache Spark 构建
- LightNet — 轻量级,多功能,完全基于 Matlab 的深度学习框架。目的是为深度学习研究提供一个易于理解、易于使用和高效的计算平台
- DeepLearningKit — 针对 iOS、OS X 和 tvOS 的开源深度学习框架
- GoLearn — GoLearn 是一款 Go 语言实现的机器学习框架
- YCML — 使用 Objective-C 编写的机器学习框架,也支持 Swift
工具包和库
- DMTK — 微软开源的分布式机器学习工具包,包括 DMTK 分布式机器学习框架、用于训练主题模型的 LightLDA以及分布式词向量
- CNTK — 微软开源的用于语音识别的深度学习工具包,借助 GPU 的能力,该工具包的效率相当高
- DSSTNE — 亚马逊开源的深度学习工具,能同时支持两个图形处理器(GPU)参与运算,主要用作智能搜索和推荐
- Scikit-learn — Python 的机器学习项目,简洁、高效的算法库,提供一系列的监督学习和无监督学习的算法,用于数据挖掘和数据分析。SciKit-learn 几乎覆盖了机器学习的所有主流算法
- Deeplearning4j — 为 Java 和 Scala 编写的首个商业级开源分布式深度学习库,为商业环境所设计,以即插即用为目标,通过更多预设的使用,避免太多配置,让非研究人员也能够进行快速的原型制作
- CaffeOnSpark — 雅虎开源的基于 Hadoop/Spark 的分布式深度学习包
- BigDL — 英特尔开源的基于 Apache Spark 的分布式深度学习库,支持高性能大数据分析
- Swift AI — 高性能的人工智能和机器学习库,完全用 Swift 编写,目前支持 iOS 和 OS X,包括一组人工智能和机器学习的通用工具
- Gorgonia — Go 机器学习库,用于撰写和评估多维数组的数学公式。与 Theano 和 TensorFlow 理念相似,支持 GPU/CUDA,支持分布式计算
- Shark C++ — 快速、模块化、功能丰富的开源 C++ 机器学习库,提供了各种机器学习相关技术,比如线性/非线性优化、基于内核学习算法、神经网络等
- MLPACK — C++ 的机器学习库,亮点在于其扩展性、高速性和易用性。旨在让新用户通过简单、一致的 API 使用机器学习,同时为专业用户提供 C++ 的高性能和最大灵活性
- smile — 包含各种现有的机器学习算法的 Java 库。例如邻接表和矩阵图算法、基于 Swing 的可视化库等
- PredictionIO — 开源的机器学习服务器,开发工程师和数据分析师可以使用它构建智能应用程序,还可以做一些预测功能,比如个性化推荐、发现内容等
- Aerosolve — 支撑 Airbnb 定价建议系统的机器学习引擎
- Vowpal Wabbit — 机器学习系统,它利用诸如在线,散列,减少,缩减,学习,搜索,主动和交互式学习等技术推动机器学习技术的前沿发展
- Apache SystemML — SystemML 是灵活的、可伸缩机器学习 (ML) 语言,使用 Java 编写。它提供自动优化功能,通过数据和集群特性保证高效和可伸缩。SystemML 可在 MapReduce 或者 Spark 环境中运行
原文
https://my.oschina.net/editorial-story/blog/826663