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 编写的首个商业级开源分布式深度学习库,为商业环境所设计,以即插即用为目标,通过更多预设的使用,避免太多配置,让非研究人员也能够进行快速的原型制作