自PyTorch出道以來,不斷有人表示,發現了這樣的趨勢:
“學術圈正在慢慢地抛棄TensorFlow,轉投PyTorch。”
如今,PyTorch 1.0釋出,ICLR 2019也才截稿不久,又是讨論這個問題的好時節。
Reddit上面,有小夥伴用非常低碳的方法觀察了一下,這兩年的論文用的都是什麼架構:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnLmNzNmRGNyUmMzUWOhBDN5YDZxImN2czYkZTNyYGNmF2N0kjN0czNi9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
從ICLR 2018到ICLR 2019的投稿來看,TensorFlow、PyTorch和Keras的搜尋結果數發生了以下變化。
TensorFlow 228→266
PyTorch 87→252
Keras 42→56
雖然,三者資料皆有上升,但一年之間PyTorch搜尋結果漲幅接近200%,好像已經對TensorFlow的寶座産生了威脅。
2017年1月19日,PyTorch第一次公開釋出,到今天還不到兩年,何以發展得這般蓬勃?
PyTorch可能比較善良PyTorch的确有親和力。
一是容易上手。隻要熟悉Python,就很容易和PyTorch玩耍在一起了。相比之下,學TensorFlow就像在學一種新的語言,文法很複雜,尤其不适合新手。
二是許多操作都很簡潔。比如,Tensor和Numpy之間的互轉,可以在PyTorch裡優雅地完成,而在TF裡就不輕松了。
三是debug友善。PyTorch作為動态圖架構的優勢就展現了,像給Python代碼debug那樣。有人說在TF裡debug,還沒有肉眼看一遍來得快。
四是……
總之,對離開TensorFlow擁抱PyTorch的人類來說,TF的槽點不勝枚舉。
不過,研究人員選擇PyTorch的原因,主要是它非常适合小型項目,适合快速的原型設計,諸如此類。
相對而言,TensorFlow就更适合大規模部署,特别是在需要跨平台部署和嵌入式部署的時候。靜态圖會友善部署。
還是離不開TensorFlow?即便如此,作為研究人員,也還是有理由繼續和TensorFlow在一起。
上個月,名叫Jeff Hale的資料科學家,做過一次
深度學習架構排行榜。
他收集了各式各樣的資料,其中一項就是GitHub活躍度:
TF的标星 (Star) 、分叉 (Fork) 、關注量 (Watch) 和貢獻者 (Contributor) 四項名額,對手皆是望塵莫及。
普及率當仁不讓,資源也是最多,許多模型都能找到TF的代碼實作。使用者量大,遇到問題也容易找到解決的方法。
成熟的生态系統,大概就是這個樣子吧。就算有諸多不便,依然是家園。
PyTorch 1.0三大更新昨天,Facebook在F8大會上釋出了PyTorch 1.0 rc1。這次重大更新,主要包括三點:
· 加了個新的混合前端 (Hybrid Front End) ,支援從Eager模式到圖形模式的追蹤,填補研究和生産部署之間的鴻溝;
· 加了個改進過的torch.distributed庫,讓使用者能在Python和C++環境之間,更快地訓練模型;
· 加了個Eager模式C++接口,來支援那些需要高性能、低延時才能完成的研究。
原文釋出時間為:2018-10-4
本文作者:關注前沿科技
本文來自雲栖社群合作夥伴“
量子位”,了解相關資訊可以關注“
”。