天天看點

23 種深度學習庫排行榜:TensorFlow、Keras、caffe 占據前三!

我們對23種用于資料科學的開源深度學習庫作了排名。這番排名基于權重一樣大小的三個名額:Github上的活動、Stack Overflow上的活動以及谷歌搜尋結果。

下面是23種用于資料科學的開源深度學習庫的排名,按照Github上的活動、Stack Overflow上的活動以及谷歌搜尋結果來衡量。該表顯示了标準化分數,1這個值表示高于平均值(平均值=0)一個标準偏差。比如說,Caffe高于Github活動方面的平均值一個标準偏差,而deeplearning4j接近平均值。

23 種深度學習庫排行榜:TensorFlow、Keras、caffe 占據前三!

方法詳見如下

排名基于權重一樣大小的三個名額:Github(星标和分支)、Stack Overflow(标簽和問題)以及谷歌結果(總體增長率和季度增長率)。這些是使用可用的API獲得的。制作一個全面的深度學習工具包清單很棘手——最後,我們列出了我們認為有代表性的五個不同的清單(參閱下面介紹的方法,可了解詳細資訊)。計算每個度量名額的标準化分數後,我們就能看到哪些軟體包在每個類别中脫穎而出。完整排名在這裡(https://github.com/thedataincubator/data-science-blogs/blob/master/output/DL_libraries_final_Rankings.csv ),原始資料在這裡(https://github.com/thedataincubator/data-science-blogs/blob/master/output/deep_learning_data.csv )。

在所有衡量名額中,TensorFlow比平均值高出至少兩個标準偏差。相比第二大流行架構:Caffe,TensorFlow的Github分支數量幾乎是其三倍,Stack Overflow問題更是其六倍以上。TensorFlow最初由谷歌Brain團隊于2015年開源,發展勢頭已超過曆史更悠久的庫,比如Theano(第4位)和Torch(第8位),躍居我們榜單的首位。雖然TensorFlow附帶在C++引擎上運作的Python API,但本榜單上的幾種庫可以使用TensorFlow作為後端,提供各自的接口。這些庫包括Keras(第2位,很快将成為核心TensorFlow的一部分)和Sonnet(第6位)。TensorFlow之是以人氣這麼高,可能是由于它結合了通用深度學習架構、靈活的接口、外觀整潔的計算圖形可視化以及谷歌龐大的開發者和社群資源。

Caffe在本榜單上排名第三,Github上的活動比其所有競争對手(TensorFlow除外)都要多。Caffe曆來被認為比Tensorflow更專門化,當初專注于圖像處理、對象識别和預訓練的卷積神經網絡。Facebook于2017年4月釋出了Caffe2(第11名),Caffe2已經跻身于深度學習庫的上半部分。Caffe2是一種更輕量級、子產品化、可擴充的Caffe,它包括循環神經網絡。Caffe和Caffe2是獨立的代碼庫,是以資料科學家可以繼續使用原來的Caffe。然而,一些遷移工具(比如Caffe Translator)為使用Caffe2來驅動現有的Caffe模型提供了一種手段。

Keras(第2位)是排名最高的非架構庫。Keras可以用作TensorFlow(第1位)、Theano(第4位)、MXNet(第7位)、CNTK(第9位)或deeplearning4j(第14位)的前端。Keras在所有三個衡量名額方面的表現均勝過平均值。Keras之是以人氣很旺,可能歸功于其簡單性和易用性。Keras允許使用者快速建立原型,代價是直接使用架構所帶來的靈活性和控制性方面欠缺一點。Keras頗受對資料集使用深度學習的資料科學家的青睐。由于R Studio最近釋出了使用R的面向Keras的接口,Keras的發展和人氣指數不斷提升。

在衆多新的深度學習架構中,Theano(第4位)是本榜單上曆史最悠久的庫。Theano率先使用了計算圖,在整個深度學習和機器學習研究界當中仍很受歡迎。Theano實際上就是面向Python的數值計算庫,但可以與像Lasagne(第15位)這樣的進階深度學習封裝庫一起使用。谷歌支援TensorFlow(第1位)和Keras(第2位),Facebook支援PyTorch(第5位)和Caffe2(第11位),而MXNet(第7位)是亞馬遜網絡服務(AWS)的官方深度學習架構,微軟設計并維護CNTK(第9位),雖然沒有得到哪家技術行業巨頭的官方支援,但Theano依然頗受歡迎。

2017年年初,谷歌的DeepMind公開釋出了Sonnet(第6位)的代碼,這是一種以TensorFlow為基礎的面向對象的進階庫。這個季度相比上個季度,Sonnet的谷歌搜尋結果中傳回的頁面數量增加了272%,這是我們排名的所有庫中增幅最大的。雖然谷歌在2014年收購了DeepMind這家英國人工智能公司,但DeepMind和谷歌Brain仍擁有基本上獨立的團隊。DeepMind專注于強人工智能,Sonnet可以幫助使用者在特定的AI想法和研究的基礎上建構神經網絡。

PyTorch(第5位)是其單一接口使用Python的一種架構,它是本榜單上發展速度第二快的庫。與上季度相比,PyTorch的谷歌搜尋結果多了236%。在我們排名的23種開源深度學習架構和封裝庫中,隻有三種沒有使用Python的接口:Dlib(第10位)、MatConvNet(第20位)和OpenNN(第23位)。C++接口和R接口分别用于23種庫中的7種庫和6種庫。雖然資料科學界在使用Python方面幾乎趨于一緻,但是深度學習庫方面還是有許多選擇。

與任何分析一樣,我們一路上做出了決定。所有源代碼和資料都在我們的Github頁面上。深度學習庫的完整清單來自幾個來源。

當然,一些曆史更悠久的庫會有更高的名額,因而排名更高。唯一考慮到這一點的名額是谷歌搜尋季度增長率。

Neural Designer和Wolfram Mathematica是專有的,已被剔除

cntk又叫微軟認知工具包,但是我們隻使用了原來的ctnk名字

neon改成了nervana neon

paddle改成了paddlepaddle

一些庫顯然是其他庫的衍生版,比如Caffe和Caffe2。如果這些庫有獨特的github代碼庫,我們決定将它們分開來對待。

所有源代碼和資料都放在我們的Github頁面(https://github.com/thedataincubator/data-science-blogs )上。

我們先從五個不同的來源制作了23種開源深度學習庫清單,然後為所有庫收集了名額,以得出排名。Github資料基于星标和分支,Stack Overflow資料基于含有軟體包名稱的标簽和問題,谷歌結果基于過去五年的谷歌搜尋結果總數和過去三個月較之前三個月計算出來的季度結果增長率。

幾個庫是常用詞(caffe、chainer和lasagne),是以用來确定谷歌搜尋結果數量的搜尋詞包括庫名和“deep learning”這個術語。

任何缺少的Stack Overflow計數一律轉換為零計數。

計數标準化,均值為0,偏差為1,然後求平均值,以獲得Github和Stack Overflow分數,最後結合搜尋結果得出總分。

進行一番手動檢查,确認Github的代碼庫位置。

文章來源:微信公衆号 全球人工智能