當前位置:
首頁 > 新聞 > 機器學習框架王座之爭:PyTorch直逼Tensorflow

機器學習框架王座之爭:PyTorch直逼Tensorflow

儘管谷歌推出的 Tensorflow 自推出以來一路登上 AI 界最受歡迎的框架工具,但是,其他框架的崛起勢頭也不容小覷,比如說 PyTorch。

Tensorflow 和 PyTorch 都是開源框架。Tensorflow 基於 Theano 框架,由谷歌推出。PyTorch 則基於 Torch 框架,由 Facebook 推出。近日,根據一名 Reddit 網友的統計,在今年的 AI 頂會 ICLR 上,TensorFlow 相關的論文數量從 2018 年的 228 升到了 266,而 PyTorch 相關的論文數量則對應從 87 激增到了 252。從 ICLR 這一數據來看,PyTorch 可謂頗有「後來者居上」之勢。

圖丨(來源:Reddit)

不過,現在要下這個結論仍為時過早。今年早些時候,也有數據顯示兩者之間仍有一定距離。2018 年 5 月,著名數據科學網站 KDnuggets 發布 2018 年數據科學和機器學習工具調查結果。在深度學習框架上,呼聲很高的 PyTorch 僅僅佔據了 6.4% 的使用率,遠遠落後於 TensorFlow 的 29.9% 和 Keras 的 22.2%。

圖丨使用率增幅最大的主要分析/數據科學/機器學習工具

那麼,Tensorflow 和 PyTorch 具體究竟在哪?

根據 AI 學者 Yashwardhan Jain 的一篇文章,計算圖的定義方式是這兩個深度學習框架之間最大的區別。Tensorflow 創建的是靜態圖,而 Pytorch 創建的是動態圖。具體來說,Tensorflow 在定義模型的整個計算圖之後,才開始運行機器學習模型,而 PyTorch 的計算圖是在運行時創建的,可以隨時定義、隨時更改、隨時執行節點。在 RNN 神經網路中,需要使用可變長度的輸入,這時 PyTorch 的動態計算圖就會很有幫助。

另外,Tensorflow 的學習曲線要比 PyTorch 陡峭的多。PyTorch 更貼近 Python 語言,建立機器學習模型時也更直接、符合人的思維。但如果使用 Tensorflow 的話,你需要先理解 Tensorflow 的一些工作機制(比如會話(session)、佔位符(placeholder)等等),這樣的話就要比 PyTorch 更難學習一些。

而在社區的規模上,Tensorflow 擁有比 PyTorch 大得多的社區,這意味著尋找學習 Tensorflow 的資源、解決相關問題的答案更容易一些。而且很多學習資料、MOOC 的課程主要覆蓋的是 Tensorflow 而非 PyTorch。這主要是因為 PyTorch 相對 Tensorflow 來說是一個比較新的框架,顯然 Tensorflow 的資源也要更多一些。

最後,我們不得不提到 TensorBoard 工具,TensorBoard 是 Tensorflow 中的一個在瀏覽器內直接可視化機器學習模型的工具。PyTorch 中沒有這樣的工具,不過可以使用 python 中的 Matplotlib 庫來可視化模型。儘管現在有一些方法可以使 TensorBoard 在 PyTorch 中使用,但是官方目前仍未支持。

(來源:各框架Logo)

Tensorflow 擁有很好的可擴展性,對復現模型來說更為優秀,本身就是被設計為易擴展的。而相對於 Tensorflow 來說,PyTorch 更容易學習上手,搭建模型更為簡潔,對一些臨時搭建模型任務或建立快速原型的任務來說,PyTorch 更為適合。

事實上,這兩個框架都實力強大,也是目前最為流行的深度學習框架,使用的人數都很多,而且背後也都有一個龐大的社區支持。對學習機器學習/深度學習來說,兩者中的任何一個框架都可以出色地完成任務。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 DeepTech深科技 的精彩文章:

科大訊飛的「人機耦合說」真的說清楚了嗎?背後究竟隱藏了什麼?
7納米是晶元業的「有錢大戶」,「貧富差距」將持續擴大

TAG:DeepTech深科技 |