自從我研究主要的深度學習框架以來已經(jīng)過去了10個月。 PyTorch和TensorFlow已經(jīng)成為明確的選擇框架。 TensorFlow在PyTorch上有兩年的領先優(yōu)勢,但是PyTorch在許多領域都在縮小差距。 讓我們看看現(xiàn)在的狀況!
PyTorch and TensorFlow?
TensorFlow和PyTorch看起來越來越相似。 TensorFlow已采用PyTorch創(chuàng)新,而PyTorch已采用TensorFlow創(chuàng)新。 值得注意的是,現(xiàn)在兩種語言都可以在動態(tài)渴望執(zhí)行模式或靜態(tài)圖形模式下運行。
這兩個框架都是開源的,但是PyTorch是Facebook的孩子,而TensorFlow是Google的孩子。
讓我們看看其他一些明顯的差異和更新。
在撰寫本文時,PyTorch的版本為1.4。 它一直在增加功能以增加行業(yè)采用率。 現(xiàn)在,可以在Google Cloud的Tensor處理單元(TPU)上更輕松地運行PyTorch,這是訓練復雜的深度學習模型的最快方法。
此外,Chainer框架的維護者Preferred Networks最近將他們的團隊帶到PyTorch。 最后,如果您使用C ++或Java,PyTorch會為您提供一個版本。
TensorFlow 2.0引入了許多改進,這些改進使API更加簡化并且對開發(fā)者更友好。 它將Keras緊密集成為前端的高級API。 Keras仍然可以與其他框架一起使用,但通常將其用作TensorFlow的一部分是有意義的。
此外,如果您更喜歡JavaScript而不是Python,TensorFlow會為您提供JavaScript版本。
與PyTorch相比,TensorFlow在生產(chǎn)和邊緣深度學習方面還有更多的花哨之處,但PyTorch越來越接近于功能對等。
如果您想學習流行的深度學習框架,PyTorch和TensorFlow是城里的兩個游戲。 我不在考慮其他框架,因為沒有其他框架被廣泛采用。
在之前的分析中,我研究了許多指標。 結果顯示TensorFlow和PyTorch都以不錯的速度增長。 在本文中,我將重點介紹我認為最重要的四個指標:工作清單,研究用途,在線搜索結果和自我報告的用途。
跳進去吧!
2020年1月26日,我在美國的Indeed,Monster,SimplyHired和LinkedIn上搜索了TensorFlow和PyTorch關鍵字。
TensorFlow在每個求職網(wǎng)站上平均出現(xiàn)兩倍的搜索結果。 以下是原始數(shù)字:
這是結果占總數(shù)的百分比。
在十個月前的分析中,我注意到TensorFlow出現(xiàn)的次數(shù)是PyTorch的三倍。 現(xiàn)在,TensorFlow的優(yōu)勢降低到2倍。
PyTorch現(xiàn)在是頂級研究會議論文的領導者。 前PyTorch實習生Horace He研究并討論了該主題。 這是顯示增長的圖表。
Source:
對于該會議,任何超過50%的內(nèi)容都意味著PyTorch的提及量超過TensorFlow。
作為更詳細的示例,這是NeurlIPS會議的原始分數(shù),PyTorch取代了TensorFlow。
Source:
在最近的NerulIPS會議上,PyTorch的論文數(shù)量為166,而TensorFlow的論文數(shù)量為74。PyTorch的論文數(shù)量從2018年的TensorFlow數(shù)量減少到2019年的TensorFlow數(shù)量增加一倍以上。
我發(fā)現(xiàn)PyTorch如此快地超過TensorFlow令人驚訝。 有趣的是,PyTorch是否會繼續(xù)在這一領域擴大領先地位。
接下來讓我們看看在線搜索。
我使用Google趨勢查找了2017年1月26日至2020年1月26日在美國的PyTorch(軟件)和TensorFlow(計算機應用程序)的相對搜索量。
看到下面的結果,藍色的TensorFlow和紅色的PyTorch:
Google search interest. TensorFlow in blue. PyTorch in red.
顯然沒有人愿意在寒假前后搜索深度學習框架。
這是帶有線性趨勢線的相同數(shù)據(jù)。
TensorFlow in blue. PyTorch in red. See the interactive online version at Tableau Public.
PyTorch已大大縮小了差距。 看看趨勢是否成立會很有趣。
最后,讓我們看看人們說的是什么。
在2019年的Stack Overflow開發(fā)人員調(diào)查中,有10.3%的受訪者表示使用過TensorFlow,而3.3%的受訪者表示使用過Torch / PyTorch。 專業(yè)開發(fā)人員的子集得分相似(9.4%比2.9%)。 沒有其他深度學習框架的報道。
值得注意的是,這項調(diào)查是在2019年初進行的,因此我們必須拭目以待,看看2020年的結果如何。
與PyTorch相比,TensorFlow在更多工作清單中仍被提及,但差距正在縮小。 PyTorch在頂級會議的研究論文中占據(jù)領先地位,幾乎彌補了Google搜索結果的空白。 根據(jù)最新的Stack Overflow開發(fā)人員調(diào)查,TensorFlow的使用率仍然是普通三倍。
總體而言,TensorFlow仍在大多數(shù)領域處于領先地位,但PyTorch仍在增長。
這個項目是出于我希望花時間使用和學習對人們來說最有意義的深度學習框架而產(chǎn)生的。 我仍然不確定未來兩年的答案是PyTorch還是TensorFlow。
PyTorch可能會繼續(xù)朝著平價的方向發(fā)展。 但是,TensorFlow仍然是安全的選擇。 在可預見的將來,尤其是雇主,將需要它。
值得注意的是,兩個框架都本著合作競爭的精神不斷創(chuàng)新。 即將到來的創(chuàng)新將塑造其受歡迎程度并為用戶帶來利益。
如果您準備學習深度學習,我建議以下資源:
fast.ai MOOC擁有出色的視頻和支持社區(qū)。 如果您想學習PyTorch,它特別有用。
Chollet的《 Python深度學習》一書是深度學習的重要入門。 他是Keras的原始作者。 如果您想學習TensorFlow,這是一個特別好的選擇。
TensorFlow和PyTorch在其文檔中都有不錯的教程和指南。
在進行深度學習之前,建議您學習Python。 如果您是Python的新手,我可以推薦一本值得紀念的Python書嗎?
熟悉Python基礎知識后,建議您學習NumPy和pandas Python庫以進行數(shù)據(jù)清理和分析。 麥金尼的《 Python for Data Analysis》一書很好地涵蓋了NumPy和Pandas。
最后,在進入機器學習的深度學習分支之前,我建議您通過scikit-learn庫學習使用更通用的機器學習算法。 我喜歡Müller和Guido的Python機器學習入門。 此外,第二版AurélienGéron的Scikit-Learn,Keras和TensorFlow的動手機器學習涵蓋了TensorFlow 2.0的機器學習和深度學習。
我希望您發(fā)現(xiàn)對最流行的深度學習框架的狀態(tài)進行的評估很有用。 如果您這樣做了,請在您喜歡的社交媒體上分享它,以便其他人也可以找到它。
學習愉快! ??
(本文翻譯自Jeff Hale的文章《Is PyTorch Catching TensorFlow?》,參考:https://towardsdatascience.com/is-pytorch-catching-tensorflow-ca88f9128304)
聯(lián)系客服