PyTorch稱霸頂會:CVPR論文佔比是TensorFlow 4 倍

點擊上方“視學算法”,選擇加"星標"

重磅乾貨,第一時間送達

本文轉載自:機器之心  |  參與:杜偉

在開源框架領域,PyTorch 與 TensorFlow 之爭一直存在,研究人員在寫論文時也會有不同的偏向。但近年來,得益於 PyTorch 本身的一些優勢,越來越多的學者偏向於選擇 PyTorch,TensorFlow 的使用比例也因此逐漸下降。

自 2009 年深度學習再度成爲焦點以來,很多機器學習框架成爲研究者和業界開發者的新寵。從早期的學術框架 Caffe、Theano 到如今 Pytorch、TensorFlow 這樣越來越大規模的開發框架。

發展到 2020 年,我們可以看到國內外越來越多的科技巨頭、創業公司都在研發、使用自家的深度學習框架,如國內的也有百度飛槳、華爲 MindSpore、曠視天元。

但不得不說,當前最爲火熱的開源框架,依然是谷歌的 TensorFlow 與 Facebook 手中的 PyTorch。兩者之間的競爭,也是社區內津津樂道的話題。

在機器之心往期文章中,我們曾報道,雖然 2018 年 TensorFlow 依然碾壓 PyTorch,但自 2019 年以來 PyTorch 的發展可謂是火力全開,特別是在學界,幾乎是獨領風騷。

這兩年,我們從各類自然語言處理(NLP)、計算機視覺(CV)國際學術頂會接收論文中使用 PyTorch 和 TensorFlow 的佔比情況,就可以發現這種趨勢 。

最近,隨着 ICLR 2020 和 CVPR 2020 會議的相繼結束,前 PyTorch 實習生、一直致力於研究機器學習領域深度學習框架發展趨勢的學者 Horace He 更新了 ICLR 2020 和 CVPR 2020 接收論文中 PyTorch 和 TensorFlow 的使用及相關佔比,結果顯示:在 ICLR 2020 和 CVPR 2020 會議中,使用 PyTorch 的論文數遠超 TensorFlow,研究人員對 PyTorch 的偏愛程度進一步加深。

PyTorch 繼續稱霸學界

在最新的圖表數據中,Horace He 依然以 ICLR 2020 和 CVPR 2020 接收論文中 PyTorch 使用量在 TensorFlow/PyTorch 使用總數中的佔比情況,以及 PyTorch/TensorFlow 具體使用數及佔接收論文總數的比例爲評估指標。

圖表的交互版本參見:http://horace.io/pytorch-vs-tensorflow/

ICLR 2020 論文 PyTorch/TensorFlow 使用分析

首先看下 ICLR 2020 接收論文中,PyTorch 使用數在 TensorFlow/PyTorch 使用總數的佔比情況:佔比超過 50% 則意味着該頂會接收論文中使用 PyTorch 的多於 TensorFlow。

從下圖可以看到,在 ICLR 2020 接收論文中,PyTorch 的這一比例達到了 69.80%,相較於 ICLR 2018 的 28.05%、ICLR 2019 的 55.91%,這說明了 ICLR 2020 接收論文中 PyTorch 使用數大大超過了 TensorFlow。

下圖更直觀地展示了 ICLR 2020 接收論文中,PyTorch 和 TensorFlow 的具體使用數。可以看到,PyTorch 使用了 141 次,而 TensorFlow 使用了 61 次,PyTorch 使用數是 TensorFlow 的兩倍還多。並且,PyTorch 使用數多於 TensorFlow 的情況出現在了 2019 年,而在之前 TensorFlow 使用數多於 PyTorch。

PyTorch 和 TensorFlow 各自使用數佔接收論文總數的比例如下圖所示。可以看到 PyTorch 佔比 20.52%,相較於 ICLR 2018 的 6.82%、ICLR 2019 的 14.14% 出現了持續上升;

與此同時,TensorFlow 佔比僅爲 8.88%,相較於 ICLR 2018 的 17.51%、ICLR 2019 的 11.16% 出現了持續下降。由此可見自 2019 年以來,PyTorch 和 TensorFlow 的使用情況發生了根本性變化。

CVPR 2020 論文 PyTorch 和 TensorFlow 使用分析

首先如下圖所示,在 CVPR 2020 接收論文中,PyTorch 使用數在 TensorFlow/PyTorch 使用總數的佔比爲 79.88%,佔比變化情況與 ICLR 2020 會議相似,都呈現出了增長的趨勢。

PyTorch 和 TensorFlow 在 CVPR 2020 會議接收論文中出現的具體使用數如下圖所示,可以看到 PyTorch 使用了 405 次,TensorFlow 使用了 102 次,PyTorch 使用數是 TensorFlow 的近 4 倍。並且,PyTorch 使用數多於 TensorFlow 的情況同樣出現在 2019 年,而在之前 PyTorch 使用數少於 TensorFlow。

下圖展示了 CVPR 2020 接收論文中,PyTorch 與 TensorFlow 使用數佔接收論文總數的比例,可以看到 PyTorch 佔比 27.61%,TensorFlow 佔比 6.95%,兩者的佔比情況變化與具體使用數變化趨勢相同,都是在 2019 年出現了轉折。

由此可見,在 ICLR 和 CVPR 會議中,PyTorch 與 TensorFlow 的使用數及佔比情況在 2019 年發生了根本性變化,自此 PyTorch 的使用數超過了 TensorFlow,佔比也不斷地增加。

爲什麼研究者們那麼偏愛 PyTorch

今年 4 月份,PyTorch 1.5 宣佈上線,對 C++ 前端進行重大更新,並推出了全新的高級自動梯度 API,使用戶更方便地執行 jacobian、hessian、jvp 和 vjp 等函數。

而谷歌自 2019 年 10 月推出 TensorFlow 2.0 正式版以來,卻被用戶吐槽太難用,這不僅表現在缺乏官方指南、詳細的說明文檔以及來自官方開發團隊的答疑,而且本身存在的一些問題,如與 Keras 的整合等。所有這些都迫使一些用戶偏向了 PyTorch。

那麼,就框架本身來說,爲何越來越多的研究者選擇在論文中使用 PyTorch 呢?大概可以總結爲以下三個原因:

  1. 簡單。與 numpy 類似,PyTorch 可以很容易地與 Python 生態系統融合。例如,向 PyTorch 模型的任意位置放入一個 pdb 斷點,它都可以正常工作。而在 TensorFlow 中,調試模型需要一個激活的會話,最後會變得非常棘手;

  2. 優秀的 API。相較於 TensorFlow,多數研究者更喜歡 PyTorch 的 API。部分原因在於 PyTorch 的設計更加合理,還有一部分原因在於:TensorFlow 在將 API 轉換多次之後已經自損元氣;

  3. 性能。儘管 PyTorch 的動態圖留給優化的機會非常之少,但有不少非正式報告稱 PyTorch 與 TensorFlow 一樣快。目前還不清楚這是不是真的,但至少,TensorFlow 在這方面還沒有取得決定性優勢。

PyTorch 的這些優勢或許就是越來越多的學者選擇它的理由吧!

參考鏈接:

http://horace.io/pytorch-vs-tensorflow/

https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/

歡迎給我"在看"!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章