本文對 23 個(gè)深度學(xué)習(xí)庫進(jìn)行了排名,衡量的標(biāo)準(zhǔn)有三個(gè):GitHub、Stack Overflow 以及谷歌搜索結(jié)果。TensorFlow 憑借最大、最活躍的社區(qū)主導(dǎo)了該領(lǐng)域,莫斯科服務(wù)器 新加坡vps,排名第一;Keras 是最為流行的深度學(xué)習(xí)前端,排名第二;Theano 依然實(shí)力強(qiáng)大,即使沒有大公司的支持,排名第四;Sonnet 是成長最快的庫,排名第六。
排名
我們排名 23 個(gè)用于數(shù)據(jù)科學(xué)的深度學(xué)習(xí)開源庫,排名的衡量標(biāo)準(zhǔn)有 3 個(gè):GitHub、Stack Overflow 活動(dòng)以及谷歌搜索結(jié)果。
上表中給出了每個(gè)開源庫的總分值,以及各自在 GitHub、Stack Overflow 以及谷歌搜索上的得分(其中 0 為平均值)。比如,Caffe 在 Github 上的標(biāo)準(zhǔn)評分為 1,deeplearning4j 則接近 0。
結(jié)果與討論
排名綜合考慮上述 3 個(gè)方面而得出:Github(收藏量與 forks)、Stack Overflow(標(biāo)簽與問題)、谷歌搜索(全年與每季的增長率)。上述指標(biāo)通過可用的 API 獲取,所以得出深度學(xué)習(xí)工具包的完整列表需要一定技巧。計(jì)算每個(gè)指標(biāo)的分值有利于我們知道在該方面深度學(xué)習(xí)庫的排名情況。
TensorFlow 憑借最大、最活躍的社區(qū)主導(dǎo)了該領(lǐng)域
TensorFlow 在三個(gè)指標(biāo)上的分值均為 2+;相比于排名第三的 Caffe,TensorFlow 的 Github forks 幾乎是其 3 倍,Stack Overflow 問題是其 6 倍多。TensorFlow 由谷歌大腦團(tuán)隊(duì)于 2015 年首次開源,之后便一路攀升超越 Theano (4) 和 Torch (8) 而排名第一。盡管 TensorFlow 與運(yùn)行在 C++引擎上的 Python API 一起分發(fā),本次排名中的若干個(gè)庫可把 TensorFlow 用作后端并提供其接口。這其中包括很快將成為核心 TensorFlow 和 Sonnet (6) 一部分的 Keras (2)。TensorFlow 的流行很可能來自于通用深度學(xué)習(xí)框架、靈活的接口、漂亮的計(jì)算圖可視化以及谷歌大量的開發(fā)者與社區(qū)資源之間的整合。
Caffe 已經(jīng)被 Caffe2 取代
由于比其他深度學(xué)習(xí)庫(包括 TensorFlow 在內(nèi))更高的 Github 分值,Caffe 獲得了排名第三的位置。Caffe 一般認(rèn)為比 Tensorflow 更專業(yè)化,其開發(fā)聚焦在圖像處理、目標(biāo)識(shí)別和預(yù)訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)上。2017 年 4 月 Facebook 發(fā)布了 Caffe2,并已在所有的庫中排名前半。Caffe2 相較于包含循環(huán)神經(jīng)網(wǎng)絡(luò)的 Caffe 更輕量化、模塊化和可擴(kuò)展。Caffe 與 Caffe2 彼此分離,因此數(shù)據(jù)科學(xué)家可繼續(xù)使用 Caffe。但是,一些遷移工具比如 Caffe Translator 能提供使用 Caffe2 的方法以驅(qū)動(dòng)現(xiàn)有 Caffe 模型。
Keras 是最為流行的深度學(xué)習(xí)前端
Keras (2) 是排名最高的非框架深度學(xué)習(xí)庫,可被用作 TensorFlow (1)、Theano (4)、MXNet (7)、CNTK (9) 或 deeplearning4j (14) 的前端。Keras 的表現(xiàn)在三個(gè)指標(biāo)上均高于平均值,其流行得益于簡單性和易于上手。在數(shù)據(jù)集上進(jìn)行深度學(xué)習(xí)實(shí)驗(yàn)的數(shù)據(jù)科學(xué)家尤其喜歡 Keras。隨著 Keras 有了 R 語言接口,Keras 的開發(fā)與流行都將會(huì)繼續(xù)下去。
Theano 依然實(shí)力強(qiáng)大,即使沒有大公司的支持
新的深度學(xué)習(xí)框架層出不窮,Theano (4) 是排名中出現(xiàn)最早的庫。Theano 率先使用計(jì)算圖,在深度學(xué)習(xí)與機(jī)器學(xué)習(xí)社區(qū)中流行度不減當(dāng)年。Theano 本質(zhì)上是一個(gè)用于 Python 的數(shù)值計(jì)算庫,也可被用于高階的深度學(xué)習(xí)包裝器,比如 Lasagne (15)。盡管谷歌支持 TensorFlow (1) 和 Keras (2),F(xiàn)acebook 支持 PyTorch (5) 和 Caffe2 (11),MXNet (7) 是亞馬遜云服務(wù)官方指定的深度學(xué)習(xí)框架,CNTK (9) 由微軟設(shè)計(jì)開發(fā)并為其所用,Theano 依然很流行,盡管沒有得到任何一家大公司的青睞。
Sonnet 是成長最快的庫
2017 年早期,谷歌 DeepMind 公開發(fā)布了 Sonnet(6) 的代碼,這是一個(gè)建立在 TensorFlow 上的高級目標(biāo)導(dǎo)向的庫。其在谷歌搜索結(jié)果的頁數(shù)對比上一季度增長了 272%,是我們選取的庫中增長最快的。盡管谷歌在 2014 年收購了這個(gè)英國的人工智能公司,DeepMind 和谷歌大腦仍然保持最大程度的獨(dú)立性。DeepMind 關(guān)注人工生成的智能,而 Sonnet 能幫助用戶在他們具體的 AI 想法和研究上構(gòu)建高級結(jié)構(gòu)。
Python 是深度學(xué)習(xí)接口的主要語言
PyTorch(5) 是一個(gè)底部接口為 Python 的框架,在我們的列表中是成長第二快的庫。對比上一個(gè)季度,PyTorch 的谷歌搜索結(jié)果增長了 236%。在所有 23 個(gè)開源深度學(xué)習(xí)框架和封裝中,只有三個(gè)沒有使用 Python 接口:Dlib、MatConvNet 和 OpenNN,有 6 到 7 個(gè)庫分別使用了 C++和 R 的接口。盡管數(shù)據(jù)科學(xué)社區(qū)某種程度上都一致同意使用 Python,實(shí)際上在深度學(xué)習(xí)中還是有很多的選擇。
局限性