首頁 >科技週邊 >人工智慧 >為什麼適用於Python的TensorFlow正在緩慢消亡

為什麼適用於Python的TensorFlow正在緩慢消亡

WBOY
WBOY轉載
2023-04-08 12:41:061569瀏覽

科技領域一直存在著一種「教派之爭」。無論是關於不同作業系統、雲端服務提供者還是深度學習框架的利弊之爭,只要喝上幾杯啤酒,事實就會被拋到一邊,人們就開始就像爭奪聖杯一樣,為他們支持的技術而戰。

關於 IDE 的討論似乎沒有盡頭,有些人喜歡 VisualStudio,有些人喜歡 IntelliJ,有些人則偏好普通的舊編輯器,如 Vim。總是有人說,愛用的文本編輯器往往反映出使用者的性格,這聽起來似乎有點荒謬。

為什麼適用於Python的TensorFlow正在緩慢消亡

在 AI 技術興起後,深度學習框架 PyTorch 和 TensorFlow 兩大陣營似乎也爆發了類似的「戰爭」。這兩個陣營背後都有大量的支持者,而且他們都有充足的理由來說明為什麼他們所喜歡的框架是最好的。

話雖如此,但數據顯示出一個再明顯不過的事實。 TensorFlow 是目前應用最廣泛的深度學習架構。它每個月在 StackOverflow 上收到的問題幾乎是 PyTorch 的兩倍。

但另一方面,PyTorch 最近的發展勢頭很好,TensorFlow 的用戶一直沒有成長。在這篇文章發表之前,PyTorch 一直在穩步獲得關注。

為了完整起見,下圖也展示了與 TensorFlow 幾乎同時發布的 Keras。顯然,Keras 近年來的表現不盡人意,簡單來說是因為 Keras 有點簡單,對於大多數深度學習從業者的需求來說太慢了。

為什麼適用於Python的TensorFlow正在緩慢消亡

PyTorch 的熱度仍在成長,而TensorFlow 的成長已經停滯

#圖表來自StackOverflow trends

TensorFlow 的StackOverflow 流量可能不會快速下降,但它仍然是在下降。所以人們有充分的理由認為,這種下降趨勢在未來幾年將會更加明顯,特別是在 Python 領域。

PyTorch 是更python 化的框架

Google主導開發的TensorFlow 是2015 年底出現在深度學習派對上的首批框架之一。然而就像任何軟體一樣,第一個版本使用起來總是相當麻煩。

這也正是 Meta(Facebook)開始研發 PyTorch 的原因,作為一種與 TensorFlow 功能相似,但操作起來更加便捷的技術。

TensorFlow 的研發團隊很快就注意到了這一點,並在 TensorFlow 2.0 大版本更新中採用了許多 PyTorch 上最受歡迎的功能。

一個很好的經驗法則是使用者可以在 TensorFlow 中做任何 PyTorch 能做的事情。它將花費兩倍的精力來編寫程式碼。即使在今天,它也不是那麼直觀,而且感覺很不 python。

另一方面,對於喜歡使用 Python 的使用者來說,PyTorch 的使用體驗非常自然。

許多公司和學術機構不具備建立大型模型所需的強大運算能力。然而在機器學習方面,規模才是王道;模型越大,性能越好。

在 HuggingFace 的幫助下,工程師可以使用大型、經過訓練的和調優的模型,只需幾行程式碼就可以將它們合併到他們的工作流程管道中。然而,這些模型中的 85% 只能與 PyTorch 一起使用,這令人驚訝。只有大約 8% 的 HuggingFace 型號是 TensorFlow 獨有的。其餘部分可共用於兩個框架。

這意味著如今的許多使用者如果打算使用大模型,那麼他們最好遠離 TensorFlow,不然就需要投入大量的運算資源來訓練模型。

PyTorch 更適合學生和研究使用

PyTorch 在學術界更受歡迎。這麼說並非沒有依據:四分之三的研究論文使用的是 PyTorch。甚至在那些一開始使用 TensorFlow 的研究人員中 —— 記住,在深度學習方面它出現的更早 —— 大多數人現在也已經轉向使用 PyTorch 了。

這種令人驚訝的趨勢會持續下去,儘管Google在 AI 研究中有著舉足輕重的地位,並且一直主要使用 TensorFlow。

更順理成章的是,研究影響教學,決定學生將會學到什麼。一個使用 PyTorch 發表了大部分論文的教授將更傾向於在講座中使用它。他們不僅可以更輕鬆地講授和回答有關 PyTorch 的問題,也可能對 PyTorch 的成功抱持更強烈的信念。

#

因此,大學生對 PyTorch 的了解可能比 TensorFlow 多得多。而且,考慮到今天的大學生就是明天的打工人,那麼這一趨勢的走向就可想而知……

PyTorch 的生態系統發展得更快

到頭來,只有當參與生態系時,軟體框架才重要。 PyTorch 和 TensorFlow 都有相當發達的生態系統,包括除了 HuggingFace 之外的訓練模型的儲存庫、資料管理系統、故障預防機制等等。

值得一提的是,到目前為止,TensorFlow 的生態系統仍然比 PyTorch 稍微發達一點。但請記住,PyTorch 是後來才出現的,並且僅在過去幾年中就有了相當多的用戶增長量。因此,PyTorch 的生態系統可能會未來的某一天超過 TensorFlow。

TensorFlow 的基礎設施部署更好

#儘管TensorFlow 程式碼寫起來很麻煩,但一旦寫完,它的部署要比PyTorch容易得多。 TensorFlow services 和 TensorFlow Lite 等工具部署到雲端、伺服器、行動和物聯網設備的流程公頃間能完成。

另一方面,在部署發布工具方面,PyTorch 一直是出了名的慢。話雖如此,它最近一直在加速縮小與 TensorFlow 的差距。

目前還很難預測,但 PyTorch 很有可能在未來幾年趕上甚至超過 TensorFlow 的基礎設施部署。

TensorFlow 程式碼可能還會存在一段時間,因為部署後切換框架的成本很高。然而,可想而知,新的深度學習應用程式將越來越多地使用 PyTorch 進行編寫和部署。

TensorFlow 並非全是 Python

TensorFlow 並沒有銷聲匿跡。只是不像以前那麼炙手可熱了。

核心原因在於,許多使用 Python 進行機器學習的人正在轉向 PyTorch。

要注意的是,Python 並不是機器學習的唯一語言。它是機器學習的代表性程式語言,這也是 TensorFlow 開發人員將支援集中在 Python 上的唯一原因。

現在,TensorFlow 也可以與 JavaScript、Java 和 C 一起使用。社群也開始開發支援其他語言,如 Julia、Rust、Scala 和 Haskell 等。

另一方面,PyTorch 極度以 Python 為中心 —— 這就是為什麼它給人的感覺如此 Python 化。即使它有一個 C API,但它對其他語言的支援程度還不及 TensorFlow 的一半。

可以想像,PyTorch 會在 Python 中取代 TensorFlow。另一方面,TensorFlow 憑藉其卓越的生態系統、部署功能以及對其他語言的支持,仍將是深度學習領域的一員大將。

對 Python 的喜愛程度決定了下一個專案是選擇 TensorFlow 還是 PyTorch。

原文連結:https://thenextweb.com/news/why-tensorflow-for-python-is-dying-a-slow-death

以上是為什麼適用於Python的TensorFlow正在緩慢消亡的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除