您當前的位置:首頁 > 歷史

哪種深度學習框架發展最快?

作者:由 灰灰 發表于 歷史時間:2019-09-16

在2018年9月,我進行了所有主流深度學習框架中關於需求,使用與普及等方面的比較。TensorFlow無可爭議是深度學習框架的重量級冠軍,PyTorch是新秀。

在過去六個月中,領先的深度學習框架的情況發生了什麼變化?

哪種深度學習框架發展最快?

哪種深度學習框架發展最快?

為了回答這個問題,我查看了Indeed,Monster,LinkedIn和SimplyHired上的職位列表數量。我還評估了Google搜尋量^10,GitHub活動,Medium文章^1,ArXiv文章^11和Quora論壇^5主題關注者的變化。總的來說,這些來源描繪了需求,使用和興趣增長的情況。

整合和更新

我們最近在TensorFlow和PyTorch框架中看到了幾個重要的進步。

PyTorch v1。0於2018年10月釋出,同時fastai v1。0釋出。這兩個版本都是標誌著框架成熟的重要里程碑。

TensorFlow 2。0 alpha於2019年3月4日釋出。它增加了新功能並改善了使用者體驗。它更加緊密地集成了Keras作為其高階API。

方法論

在本文中,我將Keras和fastai包含在比較中,因為它們與TensorFlow和PyTorch緊密整合。它們還提供了評估TensorFlow和PyTorch的標準。

哪種深度學習框架發展最快?

哪種深度學習框架發展最快?

我不會在本文中探索其他深度學習框架。這些框架有Caffe,Theano,MXNET,CNTK,DeepLearning4J和Chainer。雖然這些框架各有其優點,但似乎沒有一個框架的增長速度可以與TensorFlow或PyTorch相提並論,並且他們也沒有與這兩個框架緊密結合。

搜尋在2019年3月20日至21日進行。源資料在此Google表格中^2。我使用了視覺化庫來探索流行度。對於互動式圖表圖表,請在此處檢視Kaggle Kernel^3。讓我們看看每個類別的結果。

工作崗位列表(Job Search Listings)的變化

為了確定在當今的就業市場中需要哪些深度學習庫,我在Indeed,LinkedIn,Monster和SimplyHired上搜索了工作崗位列表。

我用術語

machine learning

搜尋,術語緊接著連線庫名。所以TensorFlow就是透過

machine learning TensorFlow

進行評估。使用此方法是因為需要與歷史資料比較。沒有

machine learning

的字首進行搜尋沒有產生明顯不同的結果。職位的搜尋區域是美國。

我從2019年3月的職位數量中減去了6個月前的數量。這是我發現的並整理的圖示:

哪種深度學習框架發展最快?

TensorFlow的列表增幅略大於PyTorch。Keras也看到了增長,大約是TensorFlow的一半。Fastai仍然沒有出現任何的工作崗位列表。

請注意,PyTorch在除了LinkedIn以外的所有求職網站上的新增工作崗位列表的數量都超過了TensorFlow。還請注意,按絕對值計算,TensorFlow出現在工作崗位列表中的數量幾乎是PyTorch或Keras的三倍。

Google搜尋活動的平均變化

在最大的搜尋引擎上進行網路搜尋是衡量人氣的指標。我檢視過去一年Google搜尋記錄的趨勢。我搜索了全世界對機器學習和人工智慧類別的興趣(Google Interest)。Google不提供絕對的搜尋數量,但確實提供了相對數量。

我採用了過去六個月的平均興趣分數,並將其與前六個月的平均興趣分數進行了比較。

哪種深度學習框架發展最快?

在過去的六個月中,TensorFlow的相對搜尋量有所下降,而PyTorch的相對搜尋量卻在增長。

下面谷歌的圖表顯示了過去一年的搜尋興趣。

哪種深度學習框架發展最快?

TensorFlow為藍色; Keras為黃色,PyTorch為紅色,fastai為綠色

新的Medium文章(Medium Articles)

Medium論壇^1是資料科學文章和教程的熱門論壇。

在過去的六個月裡,我使用谷歌搜尋了

http://

Medium。com

,發現TensorFlow和Keras釋出了相似數量的文章,PyTorch相對較少。

哪種深度學習框架發展最快?

作為高階API,Keras和fastai受到新的深度學習工作者的歡迎。

新的ArXiv文章(ArXiv Articles)

arXiv是大多數學術深度學習文章釋出的線上儲存庫。我使用Google搜尋了arXiv過去六個月的新文章提及的每一個框架。

哪種深度學習框架發展最快?

TensorFlow的新文章出現率最高。

GitHub的活動(Github Activity)

GitHub的活動是框架流行度的另一個指標。我在下面的圖表中展示了stars,forks,watchers(觀察者)和contributors(貢獻者)。

哪種深度學習框架發展最快?

TensorFlow在每個類別中擁有最多的GitHub活動。然而,PyTorch在觀察者和貢獻者的增長方面非常接近。此外,Fastai看到了許多新的貢獻者。

毫無疑問,Keras的一些貢獻者在TensorFlow庫中進行了研究。值得注意的是,TensorFlow和Keras都是由Google員工帶頭的開源產品。

Quora的新粉絲( Quora Followers)

我添加了Quora^5的新主題關注者的數量,這是一個我之前沒有統計資料的新指標。

哪種深度學習框架發展最快?

TensorFlow在過去六個月中添加了最多的新主題粉絲。PyTorch和Keras每個也都增加了很多。

獲得所有資料後,我將其合併為一個指標。

增長分數(Growth Score)

以下是我建立增長分數的方法:

縮放所有特徵使得資料處於0到1之間的。

將工作崗位列表和GitHub活動聚合為一個子類別

根據以下百分比加權類別。

哪種深度學習框架發展最快?

為了可理解性乘以加權分數100。

將每個框架的類別分數相加為單個框架的增長分數。

工作崗位列表佔總分的三分之一多一點(錢說了算)。這種劃分是各種類別的適當平衡。與我的2018年的分析不同,我沒有包括KDNuggets使用情況調查(沒有新資料)或書籍的調查(六個月內釋出的數量不多)。

結果

以下是表格形式的變化。

哪種深度學習框架發展最快?

Google Sheet 在這裡^4。

這是類別和最終得分。

哪種深度學習框架發展最快?

以下是最終的增長分數。

哪種深度學習框架發展最快?

TensorFlow是需求量最大的框架,也是增長最快的。

PyTorch也在迅速發展。它在工作崗位列表中的大量增加證明了其使用和需求的增加。在過去的六個月裡,Keras也有了很大的發展。最後,fastai從一個低的速率在增加,但值得記住的是,它在裡面是最年輕的框架。

TensorFlow和PyTorch其實都是很好的框架。

學習建議

如果你想學習TensorFlow,我建議你從Keras開始。我推薦Python機器學習^7這本書與Dan Becker的 DataCamp course on Keras教程^8。Tensorflow 2。0透過tf。keras作為其高階API間接使用Keras。

如果你想學習PyTorch,我建議你從fast。ai的MOOC 實踐深度學習編碼器^9開始,v3。您將學習深度學習基礎知識,fastai和PyTorch基礎知識。

TensorFlow和PyTorch的未來發展方向是什麼?

未來的發展方向

我一直聽說人們比TensorFlow更喜歡使用PyTorch。PyTorch更具python化,並且具有更一致的API。它還具有原生的ONNX模型匯出,可用於加速推理。此外,PyTorch與numpy共享許多命令,這減少了學習它的障礙。

然而,TensorFlow 2。0完全是為了改進使用者體驗,正如谷歌首席決策情報工程師Cassie Kozyrkov 在此解釋的那樣。TensorFlow現在將擁有更直接的API,簡化的Keras整合和更快的執行選項。這些變化以及TensorFlow的廣泛採用應該有助於該框架在未來幾年保持流行。

TensorFlow最近宣佈了另一個激動人心的計劃:Swift for TensorFlow的開發。Swift是一種最初由Apple構建的程式語言。在執行和開發速度方面,Swift比Python有許多優勢。Fast。ai將在其高階MOOC課程中使用Swift進行使用TensorFlow。這門語言可能一兩年內都不會在黃金時段出現,但它可能比目前的深度學習框架有所改進。

語言和框架之間的協作和促進肯定正在發生。

影響深度學習框架的另一個進步是量子計算。一臺可用的量子計算機可能需要幾年的時間,但谷歌,IBM,微軟和其他公司正在考慮如何將量子計算與深度學習相結合。框架需要適應這項新技術。

封裝

你已經看到TensorFlow和PyTorch的資料都在增長。兩者現在都有很好的高階API分別是tf。keras和fast。ai,它們降低了深入學習入門的門檻。

要以互動方式使用本文中的圖表或Jupyter Notebook,請前往Kaggle Kernel^6。

標簽: tensorflow  PyTorch  keras  框架  搜尋