原文連接:https://my.oschina.net/editorial-story/blog/826663
責任編輯:開源中國 – 局長git
摘要: 2016 和 2017 年對機器學習來講都是使人興奮的,機器學習領域在 2016 年取得了重大的進展,2017 年,熱度繼續上升算法

2016 年,彷佛全部巨頭公司都在作機器學習,若是沒有,也是在趕來的路上。因此 2016 或許會由於 「機器學習大熱」 而被載入史冊。2017,這個熱潮並無消退的跡象,前陣子 AlphaGo 的升級版以橫掃千軍的姿態打敗幾乎全部中國的圍棋大師,如入無人之境,最後更是以 60 連勝完美收官。人們對於機器學習的熱情再度被點燃起來。apache
機器學習的熱度如此高,你們也許會須要查找相關資源進行學習和研究。本文整理了一份優秀的開源的有關機器學習的框架 、平臺、系統、庫和工具包的列表。編程
平臺和系統
- 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 編寫的首個商業級開源分佈式深度學習庫,爲商業環境所設計,以即插即用爲目標,經過更多預設的使用,避免太多配置,讓非研究人員也可以進行快速的原型製做
- MXNet — 輕量級且靈活高效的深度學習庫,容許使用混合符號編程和命令式編程
- 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 環境中運行