乾貨:10大開源Python機器學習框架

入門機器學習和人工智能並非易事。由於如今有大量可用的資源,許多機器學習愛好者發現很難找到正確的方向。想要在這個領域不斷髮展,我們就必須跟上其快速發展的步伐。為了應對機器學習領域勢不可擋的演變和創新速度,瞭解並緊跟該領域最新進展的一個好方法是:作為一個開源社區貢獻者,參與到這些開源項目和工具的開發中去。今天,我們將討論關於Python、機器學習和AI的Top10開源項目。

乾貨:10大開源Python機器學習框架

1. TensorFlow:

TensorFlow是一個開源軟件庫,它使用數據流圖進行數值計算。節點表示圖中的數學運算,而圖邊表示在它們之間流動的多維數據數組(張量)。這種靈活的架構允許其用戶部署計算,而無需將代碼重寫到個人電腦、服務器或移動設備中的一個或多個CPU或GPU。 TensorFlow還包含一個名為TensorBoard的數據可視化工具包。

GitHub:Tensorflow

乾貨:10大開源Python機器學習框架

2. Scikit-learn:

用於機器學習的Scikit-learn是Python中的一個模塊,已經構建在SciPy的頂層。該項目於2007年作為David Cournapeau的Google Summer of Code項目啟動。自此,有許多人參與其中,它目前由一個志願者團隊維護。

GitHub:Scikit-Learn

乾貨:10大開源Python機器學習框架

3. Keras:

用Python編寫的Keras是一個高級神經網絡API,可以在TensorFlow或Theano上運行。它的開發始終致力於實現快速實驗。

如果您需要一個深度學習庫,則可以使用Keras:

  • 通過用戶友好性、模塊化和可擴展性,可以實現簡單快速的原型設計。
  • 支持卷積神經網絡、遞歸神經網絡以及兩者的組合。
  • 無縫運行在CPU和GPU上。

GitHub:Keras

4. PyTorch:

PyTorch是Python中的一個軟件包,它為用戶提供以下功能:

  • 憑藉強勁的GPU加速,計算張量
  • 在基於磁帶的autograd系統上構建深度神經網絡

Python包(如NumPy,SciPy和Cython)可以在需要時重複使用以擴展PyTorch。

GitHub:PyTorch

5. Theano:

Theano是一個用Python編寫的庫,它允許用戶定義、優化和評估數學表達式,這些數學表達式高效地涉及到多維的數組。它可以使用GPU來執行高效的符號區分。

GitHub:Theano

6. Gensim:

Gensim是Python中的一個庫,用於文檔索引主題建模和大型語料庫的相似性檢索。目標受眾是信息檢索(IR)和自然語言處理(NLP)社區。

特徵:

  • 直觀的接口
  • 易於插入自己的輸入語料庫/數據流(簡單流媒體API)
  • 易於使用其他矢量空間算法(簡單轉換API)
  • 算法的高效多核實現非常流行,如潛在狄利克雷分配(LDA),隨機投影(RP)等等。
  • 分佈式計算:在一組計算機上,有能力運行潛在語義分析和潛在狄利克雷分配。

GitHub:Gensim

7. Caffe:

Caffe是一個深入的學習框架,牢記表達,速度以及模塊化。該框架由伯克利人工智能研究(BAIR)、伯克利視覺和學習中心(BVLC)以及社區貢獻者開發。

GitHub:Caffe

8. Chainer:

Chainer是一個基於Python的深度學習框架框架,旨在提高靈活性。它基於逐個定義的方法(也稱為動態計算圖)提供自動區分API以及面向對象的高級API來構建以及訓練神經網絡。

它使用CuPy還支持CUDA / cuDNN進行高性能培訓和推理。

GitHub:Chainer

9. Statsmodels:

Statsmodels是Python中的一個軟件包,用於統計計算,為用戶提供對Scipy的補充,包括描述性統計、估計以及統計模型的推斷。

GitHub:Statsmodel

10.Shogun:

Shogun是機器學習工具箱,它為用戶提供了廣泛的統一以及高效的機器學習(ML)方法。該工具箱允許多個數據表示、算法類以及通用工具無縫組合。

Github:Shogun


分享到:


相關文章: