TensorFlow和PyTorch,誰才是王者?本文詳細的從多個角度對TensorFlow和PyTorch進行了對比,以求找出二者在接下來的時間里,哪個會成為最有話語權的深度學習框架。
TensorFlow是毫無爭議的深度學習框架重量級冠軍,而PyTorch是年輕的后起之秀,贏的了不少人的青睞。
最近TensorFlow在3月4日發(fā)布了2.0公測版,增加了新功能。改善了用戶體驗,更加緊密地集成了Keras作為其高級API。這一版本和1.x相比,改動相當大,以至于你需要遷移代碼庫。Google自己也一樣需要做同樣的事情,所以他們特意出了一套官方的遷移指南,甚至還開發(fā)了工具來幫助簡化遷移代碼的工作量。聽起來真是讓人頭禿。
PyTorch v1.0和fastai v1.0都是在2018年10月發(fā)布的,這兩個版本標志著框架成熟的重要里程碑。Facebook也剛剛開源了大規(guī)模圖嵌入系統(tǒng)PyTorch-BigGraph,而且因為TensorFlow有些激進的升級,導致給PyTorch送了一波新粉絲。
所以2019年,到底TensorFlow能夠繼續(xù)穩(wěn)坐冠軍寶座,或是被PyTorch超越?為了找出這個問題的答案,數(shù)據(jù)科學家、Rebel Desk的COO、Medium優(yōu)秀作者Jeff Hale查看了Indeed Monster、LinkedIn和SimplyHired上的職位列表數(shù)量、評估了Google搜索量、GitHub活躍度,Medium文章、ArXiv論文和Quora主題關注者的變化,從多個維度對二者進行了對比,可以說是非常具有說服力了。
從在線職位列表變化進行對比
崗位需求最直接的表現(xiàn)了市場對某種框架的需求程度。為了確定在當今的就業(yè)市場中需要哪些深度學習庫,Jeff在Indeed,LinkedIn,Monster和SimplyHired上搜索了工作列表。
搜索的方式是在庫名前面加前綴“機器學習”,例如TensorFlow就是“機器學習TensorFlow”,此方法僅用于歷史比較,不加機器學習前綴的搜索沒有產(chǎn)生明顯不同的結果。搜索區(qū)域是美國。
從2019年3月的崗位數(shù)量中減去了六個月前的崗位數(shù)量結果發(fā)現(xiàn):
TensorFlow的列表增幅略大于PyTorch,Keras的增量大約是TensorFlow的一半,而fastai則是完全沒有市場,略有些尷尬。
值得注意的是,除了LinkedIn,其他網(wǎng)站上PyTorch的增量要比TensorFlow大;而TensorFlow的工作需求量,幾乎是PyTorch或Keras的三倍。
從平均Google搜索活躍度進行對比
Google的搜索結果也是衡量人氣的重要指標。從過去一年Google趨勢來看,去年下半年TensorFlow的相對搜索量有所下降,而PyTorch的相對搜索量卻在增長。
TensorFlow為藍色; Keras以黃色,PyTorch以紅色,fastai以綠色
從Medium文章數(shù)量進行對比
Medium絕對是數(shù)據(jù)科學文章和教程的聚集地,Medium上面關于TensorFlow和PyTorch文章的數(shù)量也能夠體現(xiàn)學者和開發(fā)者以及科技媒體對二者的關注度。
在過去的六個月里,Medium上TensorFlow和Keras有關的文章數(shù)量相當,而PyTorch相對較少。
作為高級API,Keras和fastai受到新的深度學習從業(yè)者的歡迎。 新增了很多相關的教程。
從新增的arXiv文章進行對比
arXiv是大多數(shù)學術深度學習文章的在線存儲庫,代表了學術風向標。在arXiv中,過去六個月TensorFlow的新文章出現(xiàn)率最高,
從GitHub活躍度進行對比
如果說arXiv代表了學術風向標,那么Github無疑就是代表了開發(fā)者的風向標。最近關于GitHub的活動是框架流行度的另一個指標。
從上圖可以看出,TensorFlow在star、fork、watch和貢獻者4個方面活躍度均是最高,然而PyTorch在watch數(shù)和貢獻者的增長方面非常接近。相對于star來說,watch更能體現(xiàn)開發(fā)者對一個項目的關注度。Watch相當于follow或者訂閱,意味著這個項目對開發(fā)者來說具有比較重大的意義。而star類似點贊,僅僅表達了用戶對該項目的好感。
值得注意的是,F(xiàn)astai最近的貢獻者數(shù)量在增加。
從Quora上的新增關注數(shù)來進行對比
作為目前最大最活躍的線上問答社區(qū),Quora上的關注度也能在一定程度上體現(xiàn)大眾對一個產(chǎn)品的關注度。
顯然在Quora上,TF最受大家關注,大家對TF的也問題最多。PyTorch和Keras也有比較多的新增關注,F(xiàn)astAI就有些尷尬了。
數(shù)據(jù)分析方法
Jeff創(chuàng)建了一個計算增長分數(shù)的方法:
衡量0到1之間的所有功能
聚合在線職位列表和GitHub活躍度
類別的權重根據(jù)以下百分比
為了更好的理解,權重分數(shù)都乘以100
將每個框架的類別分匯總為單個增長分
工作列表占總分的三分之一多一點,畢竟俗話說得好:金錢萬能,有錢能使鬼推磨。
結果
以下是表格形式的變化:
以下類別和最終得分:
以下是最終的增長分:
TensorFlow需求最旺盛,增長也最快。但是PyTorch也在迅速發(fā)展,和TensorFlow的差距并沒有特別大。它在工作崗位需求中的大量增加證明了其使用和需求的增加。
在過去的六個月里,Keras也有了很大的發(fā)展。最后,雖然fastai分數(shù)最低,但也最年輕,未來還不好說。
未來暢想
所謂蘿卜青菜各有所愛。PyTorch更有Python味兒,API也更一致。它還具有原生的ONNX模型導出,可用于加速推理。此外,PyTorch與numpy共享許多命令,從而降低了學習門檻。
TensorFlow 2.0則完全是為了改進用戶體驗。正如谷歌首席決策情報工程師Cassie Kozyrkov之前解釋的那樣,TensorFlow現(xiàn)在擁有更直接的API,更簡化的Keras集成,更偏實用層面,應該有助于該框架在未來幾年保持流行。
TensorFlow最近宣布了另一個激動人心的計劃:Swift for TensorFlow。Swift最初由Apple構建的編程語言,在執(zhí)行和開發(fā)速度方面,Swift比Python有許多優(yōu)勢。
Fast.ai將在部分高級MOOC中使用Swift for TensorFlow,這門語言可能不會在一兩年內有突破性的發(fā)展,但它可能是對當前深度學習框架的改進。
未來量子計算的發(fā)展可能會影響到深度學習框架,需要適配這項新技術。
所以,親愛的讀者,你會如何選擇呢?
-
深度學習
+關注
關注
73文章
5503瀏覽量
121176 -
tensorflow
+關注
關注
13文章
329瀏覽量
60536 -
pytorch
+關注
關注
2文章
808瀏覽量
13229
原文標題:最新TensorFlow能碾壓PyTorch?兩大深度學習框架最全比拼
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論