Reddit 引爆框架決戰!TensorFlow 遭瘋狂吐槽,PyTorch 被捧上神壇
**【導讀】**PyTorch 還是 tensorflow 更好?這個沒有答案的問題最近登上了 Reddit 的熱榜第一,「甜鹹之爭」你更中意哪個?
對於不同人羣可能有不同的答案,科研人員可能更偏愛 pyTorch,因其簡單易用,能夠快速驗證 idea 來搶佔先機發論文。
有從業人員預測,學術界 pyTorch 未來會一枝獨秀。
但對工業人員來說,tensorflow 可能是更好的選擇,相關軟件生態更有利於部署,如高性能深度學習 TensorRT、移動端 tensorflow Lite、多種編程語言的 API 等。
在 Keras 的加持下,易用易學性得到了極大增強,未來可能會有更多 TF boys 的出現。
深度學習領域的各種框架總數超過了二十個,但是許多框架都缺乏維護,社區並不活躍。造就了部分框架壟斷的情況。
Reddit 小哥發出疑問:我該學哪個框架?
社交媒體有很多宣傳 pyTorch 特別好用的帖子,
在社交媒體上看到了很多關於 pyTorch 有多棒的帖子,但是我只會用 tensorflow。我覺得 tensorflow 非常強大,不管是科研還是工業部署上都有廣泛的應用。
我弄不明白,我應該轉到 pyTorch 上嗎?還是說都學習?他們到底有什麼差別?爲什麼大家都吹捧 pyTorch 而貶低 tensorflow?
我想知道,你用哪個框架,以及爲什麼不用另一個的原因。
pyTorch 派的回答
這位小哥的靈魂拷問可以說是困擾 AI 從業新手的一個必經難題。這可以類比爲 php 是世界上最好的語言。
有 pyTorch 用戶的網友在下面回覆,獲得最高贊。
我用 tensorflow1.x 幾年了,感覺自己是個專家。當我第一次嘗試 pyTorch 後,發現 tensorflow 無法實現的圖形操作,在 pyTorch 上非常容易實現。不到一個月,我就覺得我用 pyTorch 的水平和 tensorflow 一樣好了。
事實證明,tensorflow 所謂的專業知識都是晦澀的 API,而 pyTorch 則是爲了構建一個深度學習模型。
tensorflow 不懂設計。
知乎網友對 tensorflow 的態度也都是 API 過於混亂,並認爲靜態圖和動態圖並不是他們之間最大的區別。
當然,最犀利的當屬 Karpathy 的評論:
用了 pyTorch 幾個月以後,腰不酸了,腿不疼了,皮膚光滑了,視力都變好了。(暗示 tensorflow 辣眼睛?)
也有 pyTorch 用戶覺得寫起來就像寫 python 代碼一樣,沒有額外的學習成本。
tensorflow 派怎麼說?
也有網友堅定地喜歡 tensorflow,但也覺得 tensorflow 對新手太不友好了,如 tf.Session,tf.Estimator,每個人都在寫自己的部分,沒有統一的官方高級 API。
到了 2021 年,tf 陣營有了 TF 2.x,變得和 Keras 越來越像了。雖然 tensorflow 不是很完美,但是 tf.keras 是完美的。(人生苦短,我用 Keras)
也有網友認爲,pyTorch 在生產環境的部署遠遠不如 tensorflow,在移動端也沒有好的解決方案,只適合科學研究。
其他框架在默默流淚
在 GitHub 的排行榜上,tensorflow 一騎絕塵,是 Keras 的三倍還多。
深度學習從業者的入門大多是從 tensorflow 起步,被合併的 Keras 也超越了 pyTorch。
由此可見,工業部署對 tensorflow 還是十分依賴的,畢竟 pyTorch 也依賴 tensorboard 等。
國產框架飛漿還有很長的路要走。
結語
正所謂「形而上者謂之道,形而下者謂之器」。
當水平還處於比較低的時候,更關注於具體的實踐細節。隨着水平的提高,框架已是身外之物,創造出更好,更高性能的模型纔是 AI 之道。
參考資料:
https://www.reddit.com/r/MachineLearning/comments/m3boyo/d_why_is_tensorflow_so_hated_on_and_pytorch_is/
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/lQesaIQK4w-v26-0r9ENSw