GitHub上最受歡迎的13個機器學習免費開源項目!

Python繼續引領機器學習,人工智能,深度學習和數據科學任務。據海外研究機構稱,45%的技術公司更喜歡使用Python來實現AI和機器學習。

當然,這些列表完全是主觀的,因為許多庫可以輕松地放在多個類別中。例如,TensorFlow包含在此列表中,但Keras已被省略,而機器學習庫集合中的功能則被替換。這是因為Keras更像是像SKLearn這樣的“最終用戶”庫,而不是TensorFlow,后者更吸引研究人員和機器學習工程師類型。

圖1:前三名Python深度學習庫,由提交者和貢獻者提供。圓的大小與星的數量成正比。

1.TensorFlow(貢獻者-1700,提交-42256,獲得星星-112591)

TensorFlow是一個使用數據流圖進行數值計算的開源軟件庫。圖形節點表示數學運算,而圖形邊緣表示在它們之間流動的多維數據陣列(張量)。這種靈活的體系結構使您可以將計算部署到桌面,服務器或移動設備中的一個或多個CPU或GPU,而無需重寫代碼。


說到TensorFlow,前不久谷歌發布了一個TensorFlow.js的工具,有了這項工具,用戶可以利用AIY Projects 旗下的兩款AIY硬件產品——AIY Vision Kit和Voice Kit,DIY自己的人工智能小玩意。即使不是機器視覺領域的專家,大家也可以實現很多應用場景,比如在瀏覽器中訓練自己的寵物臉辨識系統,在自家的監視系統中使用等等。


2.PyTorch(貢獻者-806,提交-14022,獲得星星-20243)

PyTorch是一個Python包,提供兩個高級功能:

具有強大的GPU加速度的張量計算(如NumPy)

基于磁帶的自動編程系統構建的深度神經網絡

您可以重用您喜歡的Python軟件包,如NumPy,SciPy和Cython,以便在需要時擴展PyTorch。

3.Apache MXNet(貢獻者-628,提交-8723,獲得星星-15447)

Apache MXNet(孵化)是一個深度學習框架,旨在提高效率和靈活性。它允許您混合符號和命令式編程,以最大限度地提高效率和生產力。MXNet的核心是一個動態依賴調度程序,可以動態地自動并行化符號和命令操作。

4.Theano(貢獻者-329,提交-28033,獲得星星-8536)

Theano是一個Python庫,允許您有效地定義,優化和評估涉及多維數組的數學表達式。它可以使用GPU并實現有效的符號區分。

5.Caffe(貢獻者-270,提交-4152,獲得星星-25927)

Caffe是一個深度學習框架,以表達,速度和模塊化為基礎。它由伯克利人工智能研究(BAIR)/伯克利視覺與學習中心(BVLC)和社區貢獻者開發。

6.fast.ai(貢獻者-226,提交-2237,獲得星星-8872)
fast.ai庫使用現代最佳實踐簡化了快速準確的神經網絡訓練。該圖書館基于對fast.ai進行的深度學習最佳實踐的研究,包括對視覺,文本,表格和協作(協作過濾)模型的“開箱即用”支持。

7.CNTK(貢獻者-189,提交-15979,獲得星星-15281)

Microsoft認知工具包它是一個統一的深度學習工具包,它通過有向圖將神經網絡描述為一系列計算步驟。在該有向圖中,葉節點表示輸入值或網絡參數,而其他節點表示其輸入上的矩陣運算。CNTK允許用戶輕松實現和組合流行的模型類型,如前饋DNN,卷積網絡(CNN)和循環網絡(RNN/LSTM)。

8.TFLearn(貢獻者-118,提交-599,獲得星星-8632)

TFlearn是一個基于Tensorflow構建的模塊化透明深度學習庫。它旨在為TensorFlow提供更高級別的API,以促進和加速實驗,同時保持完全透明并與之兼容。

9.Lasagne(貢獻者-64,提交-1157,獲得星星-3534)

Lasagne是一個輕量級的庫,用于在Theano中構建和訓練神經網絡。它支持前饋網絡,如卷積神經網絡(CNN),包括長短期記憶(LSTM)的循環網絡及其任何組合。

10.nolearn(貢獻者-14,提交-389,獲得星星-909)

nolearn包含許多圍繞現有神經網絡庫的包裝和抽象,最著名的是Lasagne,以及一些機器學習實用程序模塊。編寫所有代碼以與scikit-learn兼容。

11.Elephas(貢獻者-13,提交者-249,獲得星星-1046)

Elephas是Keras的擴展,它允許您使用Spark大規模運行分布式深度學習模型。Elephas目前支持許多應用程序,包括:

深度學習模型的數據并行訓練

分布式超參數優化

集成模型的分布式訓練

12.ApacheSpark(貢獻者-12,提交-83,獲得星星-1131)

DeepLearningPipelines使用ApacheSpark為Python中的可擴展深度學習提供高級API。該庫來自Databricks,并利用Spark的兩個最強大的方面:

本著Spark和SparkMLlib的精神,它提供了易于使用的API,可以在極少數代碼行中實現深度學習。

它使用Spark強大的分布式引擎來擴展對大量數據集的深度學習。

13.分布式Keras(貢獻者-5,提交-1125,獲得星星-523)

DistributedKeras是一個基于ApacheSpark和Keras構建的分布式深度學習框架,專注于”最先進“的分布式優化算法。我們以這樣一種方式設計框架,即可以輕松實現新的分布式優化器,從而使人們能夠專注于研究。

如果喜歡我們的文章,請即分享到︰