<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          2022年了,PyTorch和TensorFlow你選哪個?

          共 10258字,需瀏覽 21分鐘

           ·

          2021-12-24 01:29

          選自AssemblyAI博客

          作者:Ryan O'Connor
          機(jī)器之心編譯
          機(jī)器之心編輯部
          坊間傳聞:「TensorFlow 適合業(yè)界,PyTorch 適合學(xué)界」。都 2022 年了,還是這樣嗎?
          快到 2022 了,你是選 PyTorch 還是 TensorFlow?之前有一種說法:TensorFlow 適合業(yè)界,PyTorch 適合學(xué)界。這種說法到 2022 年還成立嗎?在這篇文章中,作者從模型可用性、部署便捷度和生態(tài)系統(tǒng)三個方面對比了兩個框架的優(yōu)缺點,并針對不同身份的讀者給出了不同的選擇建議。

          模型可用性對比:PyTorch 勝出

          在模型可用性方面,PyTorch 和 TensorFlow 表現(xiàn)出了明顯的區(qū)別。它們都有自己的官方模型庫,但是對于從業(yè)者來說,這些庫里的模型可能還不夠。因此,我們有必要比較一下這兩個框架官方模型庫之外的模型來源是否豐富。

          HuggingFace

          HuggingFace 的存在使得深度學(xué)習(xí)從業(yè)者僅借助幾行代碼就能將訓(xùn)練、微調(diào)好的 SOTA 模型整合到其 pipeline 中。下圖顯示了兩個框架的 HuggingFace 模型可用情況。從圖中看出,HuggingFace 中大約有 85% 的模型只能在 PyTorch 上用,剩下的模型還有一半也可以在 PyTorch 上用。相比之下,只有 16% 的模型能在 TensorFlow 上用,只有 8% 是 TensorFlow 所獨有的。

          如果把范圍縮小到 HuggingFace 上最受歡迎的 30 個模型,我們可以看到類似的結(jié)果。在這 30 個模型中,能在 TensorFlow 上用的還不到 2/3,但能在 PyTorch 上用的卻達(dá)到了 100%,沒有哪個模型只能在 TensorFlow 上用。


          研究論文

          對于研究者來說,從最近發(fā)表的論文中獲取模型是非常重要的,它可以讓你專注于其他重要的工作。嘗試在不同的框架中重新創(chuàng)建新的模型會浪費寶貴的時間。

          考慮到 PyTorch 實際上是一個研究型框架,作者預(yù)期在 HuggingFace 上觀察到的趨勢會蔓延至整個社區(qū),結(jié)果不出所料。

          如下圖所示,作者匯總了 8 個頂級研究期刊上的論文在過去幾年里的框架采用情況。結(jié)果顯示,PyTorch 的采用率增長迅速,幾年時間就從原來的 7% 長到了近 80%。


          PyTorch 的這種增長勢頭很大程度上是拜 TensorFlow 所賜。很多轉(zhuǎn)向 PyTorch 的研究者都表示 TensorFlow 1 太難用了。盡管 2019 年發(fā)布的 TensorFlow 2 改掉了一些問題,但彼時,PyTorch 的增長勢頭已經(jīng)難以遏制。

          如果看一下那些中途換框架的研究者的比例,我們也可以得出類似的結(jié)論。如下圖所示,在 2018 年還在用 TensorFlow 的論文作者中,有 55% 的人在 2019 年轉(zhuǎn)向了 PyTorch,但 2018 年就在用 PyTorch 的人有 85% 都留了下來。


          Papers with Code

          最后我們來看一下 Papers with Code 網(wǎng)站。在這一部分,作者繪制了使用 PyTorch、TensorFlow 或其他框架的論文隨時間變化的比例。從中可以看出,使用 PyTorch 的論文在穩(wěn)步增長:在本季度創(chuàng)建的 4500 個庫中,有 60% 是在 PyTorch 中實現(xiàn)的,只有 11% 是在 TensorFlow 中實現(xiàn)的。相比之下,TensorFlow 的使用率在穩(wěn)步下降,2019 年 TensorFlow 2 的發(fā)布也沒有扭轉(zhuǎn)這一趨勢。


          小結(jié)

          從以上數(shù)據(jù)可以明顯看出,PyTorch 目前在研究領(lǐng)域占據(jù)主導(dǎo)地位。雖然 TensorFlow 2 解決了研究者使用該框架進(jìn)行研究的一些痛點,但 PyTorch 卻沒有給研究者回頭的理由。此外,TensorFlow 兩大版本之間的向后兼容性問題只會讓這種趨勢愈演愈烈。

          當(dāng)然,這里還有幾個例外需要注意:

          Google AI:谷歌發(fā)布的論文自然會用 TensorFlow。鑒于在論文方面谷歌比 Facebook 更高產(chǎn),一些研究者可能會發(fā)現(xiàn)掌握 TensorFlow 還是很有用的。

          DeepMind:DeepMind 也用 TensorFlow,而且也比 Facebook 高產(chǎn)。他們創(chuàng)建了一個名叫 Sonnet 的 TensorFlow 高級 API,用于研究目的。有人管這個 API 叫「科研版 Keras」,那些考慮用 TensorFlow 做研究的人可能會用到它。此外,DeepMind 的 Acme 框架可能對于強(qiáng)化學(xué)習(xí)研究者很有用。

          OpenAI:OpenAI 在 2020 年宣布了全面擁抱 PyTorch 的決定。但他們之前的強(qiáng)化學(xué)習(xí)基線庫都是在 TensorFlow 上部署的。基線提供了高質(zhì)量強(qiáng)化學(xué)習(xí)算法的實現(xiàn),因此 TensorFlow 可能還是強(qiáng)化學(xué)習(xí)從業(yè)者的最佳選擇。

          JAX:谷歌還有另一個框架——JAX,它在研究社區(qū)中越來越受歡迎。與 PyTorch 和 TensorFlow 相比,JAX 的開銷要小得多。但同時,JAX 和前兩個框架差別也很大,因此遷移到 JAX 對于大多數(shù)人來說可能并不是一個好選擇。目前,有越來越多的模型 / 論文已經(jīng)在用 JAX,但未來幾年的趨勢依然不甚明朗。

          所以總體來看,在第一輪(模型可用性)的對比中,PyTorch 完勝。

          部署便捷性對比:TensorFlow 勝出

          從一開始,TensorFlow 就是一個面向部署的首選框架,因為它有一系列可以提高端到端深度學(xué)習(xí)效率的工具,比如 TensorFlow Serving 和 TensorFlow Lite。

          相比之下,PyTorch 在部署方面一度表現(xiàn)平平,但近年來,它也在努力縮小這一差距。去年推出的 TorchServe 和前幾周推出的 PyTorch Live 為用戶提供了急需的本地部署工具。但二者之間的差距還有多大?我們來看進(jìn)一步的分析。

          TensorFlow

          TensorFlow 有靜態(tài)圖,可以優(yōu)化推理性能。當(dāng)使用 TensorFlow 部署模型時,你可以根據(jù)具體應(yīng)用選擇使用 TensorFlow Serving 或 TensorFlow Lite。

          TensorFlow Serving:

          TensorFlow Serving 用于在服務(wù)器上部署 TensorFlow 模型,無論是在內(nèi)部還是在云上,并在 TensorFlow Extended(TFX)端到端機(jī)器學(xué)習(xí)平臺中使用。Serving 使得用模型標(biāo)記(model tag)將模型序列化到定義良好的目錄中變得很容易,并且可以選擇在保持服務(wù)器架構(gòu)和 API 靜態(tài)的情況下使用哪個模型來進(jìn)行推理請求。

          Serving 可以幫用戶輕松地在 gRPC ?服務(wù)器上部署模型,這些服務(wù)器運行谷歌為高性能 RPC 打造的開源框架。gRPC 的設(shè)計意圖是連接不同的微服務(wù)生態(tài)系統(tǒng),因此這些服務(wù)器非常適合模型部署。Serving 通過 Vertex AI 和 Google Cloud 緊密地集成在一起,還和 Kubernetes 以及 Docker 進(jìn)行了集成。

          TensorFlow Lite:

          TensorFlow Lite 用于在移動或物聯(lián)網(wǎng) / 嵌入式設(shè)備上部署 TensorFlow 模型。TFLite 對這些設(shè)備上的模型進(jìn)行了壓縮和優(yōu)化,并解決了設(shè)備上的 AI 的 5 個約束——延遲、連接、隱私、大小和功耗。可以使用相同的 pipeline 同時導(dǎo)出基于標(biāo)準(zhǔn) Keras 的 SavedModels(和 Serving 一起使用)和 TFLite 模型,這樣就能比較模型的質(zhì)量。

          TFLite 可用于 Android、iOS、微控制器和嵌入式 Linux。TensorFlow 針對 Python、Java、C++、JavaScript 和 Swift 的 API 為開發(fā)人員提供了廣泛的語言選項。

          PyTorch

          PyTorch 在簡化部署方面有所投入。以前,PyTorch 用戶需要使用 Flask 或 Django 在模型之上構(gòu)建一個 REST API,但現(xiàn)在他們有了 TorchServe 和 PyTorch Live 的本地部署選項。

          TorchServe:

          TorchServe 是 AWS 和 Facebook 合作的開源部署框架,于 2020 年發(fā)布。它具有端點規(guī)范、模型歸檔和指標(biāo)觀測等基本功能,但仍然不如 TensorFlow。TorchServe 同時支持 REST 和 gRPC API。

          PyTorch Live:

          PyTorch 于 2019 年首次發(fā)布 PyTorch Mobile,旨在為部署優(yōu)化的機(jī)器學(xué)習(xí)模型創(chuàng)建端到端工作流,適用于 Android、iOS 和 Linux。

          PyTorch Live 于 12 月初發(fā)布,以移動平臺為基礎(chǔ)。它使用 JavaScript 和 React Native 來創(chuàng)建帶有相關(guān) UI 的跨平臺 iOS 和 Android AI 應(yīng)用。設(shè)備上的推理仍然由 PyTorch Mobile 執(zhí)行。Live 提供了示例項目來輔助入門,并計劃在未來支持音頻和視頻輸入。

          小結(jié)

          目前,TensorFlow 依然在部署方面占有優(yōu)勢。Serving 和 TFLite 比 PyTorch 的同類型工具要穩(wěn)健一些。而且,將 TFLite 與谷歌的 Coral 設(shè)備一起用于本地 AI 的能力是許多行業(yè)的必備條件。相比之下,PyTorch Live 只專注于移動平臺,而 TorchServe 仍處于起步階段。因此綜合來看,第二輪(部署便捷性)的勝出者是 TensorFlow。

          如果你既想用 TensorFlow 的部署基礎(chǔ)設(shè)施,又想訪問只能在 PyTorch 中使用的模型,作者推薦使用 ONNX 將模型從 PyTorch 移植到 TensorFlow。

          生態(tài)系統(tǒng)對比:TensorFlow 勝出

          2022 年,將 PyTorch 和 TensorFlow 分開考慮,一個重要的因素是它們所處的生態(tài)系統(tǒng)不同。PyTorch 和 TensorFlow 都提供了易于部署、管理、分布式訓(xùn)練的工具,從建模的角度講都是能力很強(qiáng)的框架。相比之下,它們在生態(tài)系統(tǒng)方面的差異更重要。

          PyTorch?

          Hub:

          PyTorch Hub 作為面向研究的官方平臺,用于與預(yù)訓(xùn)練模型共享存儲庫。Hub 擁有廣泛類別的模型,包括用于音頻、視覺、NLP 任務(wù)的模型,還有用于生成任務(wù)的 GAN 模型。

          SpeechBrain:

          SpeechBrain 是 PyTorch 的官方開源語音工具包。SpeechBrain 能夠完成自動語音識別(ASR)、說話人識別、驗證和分類等任務(wù)。如果你不想構(gòu)建任何模型,而是想要一個具有情感分析、實體檢測等功能的即插即用工具,你可以選擇使用 AssemblyAI 的 Speech-to-Text API。

          當(dāng)然,PyTorch 的工具頁面還有很多其他有用的庫,包括為計算機(jī)視覺和自然語言處理量身定制的庫,例如 fast.ai。

          TorchElastic:

          TorchElastic 是 AWS 和 Facebook 2020 年聯(lián)合發(fā)布的分布式訓(xùn)練工具,可管理工作進(jìn)程并協(xié)調(diào)重啟行為,以便用戶在計算節(jié)點集群上訓(xùn)練模型,這些節(jié)點可以動態(tài)變化而不會影響訓(xùn)練。因此,TorchElastic 可防止因服務(wù)器維護(hù)或網(wǎng)絡(luò)問題等導(dǎo)致的災(zāi)難性故障,不會丟失訓(xùn)練進(jìn)度。TorchElastic 具有與 Kubernetes 集成的特性,并已集成到 PyTorch 1.9+ 中。

          TorchX:

          TorchX 是一個用于快速構(gòu)建和部署機(jī)器學(xué)習(xí)應(yīng)用程序的 SDK。TorchX 包括 Training Session Manager API,可在支持的調(diào)度程序上啟動分布式 PyTorch 應(yīng)用程序。TorchX 負(fù)責(zé)啟動分布式作業(yè),同時原生支持由 TorchElastic 局部管理的作業(yè)。

          Lightning:

          PyTorch Lightning 有時被稱為 PyTorch 的 Keras。雖然這種類比并不準(zhǔn)確,但 Lightning 的確是簡化 PyTorch 中模型工程和訓(xùn)練過程的有用工具,自 2019 年首次發(fā)布以來已經(jīng)逐漸趨于成熟。Lightning 以面向?qū)ο蟮姆绞教幚斫_^程,定義了可重用和可跨項目使用的可共享組件。

          TensorFlow

          Hub:

          TensorFlow Hub 是一個經(jīng)過訓(xùn)練的機(jī)器學(xué)習(xí)模型庫,可以進(jìn)行微調(diào),讓用戶只需幾行代碼就能使用像 BERT 這樣的模型。Hub 包含適用于不同用例的 TensorFlow、TensorFlow Lite 和 TensorFlow.js 模型,可用于圖像、視頻、音頻和文本處理。

          Model Garden:

          如果現(xiàn)成的預(yù)訓(xùn)練模型不適用于用戶的應(yīng)用,那么 TensorFlow 的存儲庫 Model Garden 可以提供 SOTA 模型的源代碼。對于想要深入了解模型工作原理,或根據(jù)自己的需要修改模型的用戶,Model Garden 將非常有用。

          Model Garden 包含谷歌維護(hù)的官方模型、研究人員維護(hù)的研究模型和社區(qū)維護(hù)的精選社區(qū)模型。TensorFlow 的長期目標(biāo)是在 Hub 上提供來自 Model Garden 的模型的預(yù)訓(xùn)練版本,并使 Hub 上的預(yù)訓(xùn)練模型在 Model Garden 中具有可用的源代碼。

          Extended(TFX):

          TensorFlow Extended 是 TensorFlow 用于模型部署的端到端平臺。該平臺的功能強(qiáng)大,包括:加載、驗證、分析和轉(zhuǎn)換數(shù)據(jù);訓(xùn)練和評估模型;使用 Serving 或 Lite 部署模型;跟蹤 artifact 及其依賴項。TFX 還可以與 Jupyter 或 Colab 一起使用,并且可以使用 Apache Airflow/Beam 或 Kubernetes 進(jìn)行編排。TFX 與 Google Cloud 緊密集成,可與 Vertex AI Pipelines 一起使用。

          Vertex AI:

          Vertex AI 是 Google Cloud 今年剛剛發(fā)布的統(tǒng)一機(jī)器學(xué)習(xí)平臺,旨在統(tǒng)一 GCP、AI Platform 和 AutoML,成為一個平臺。Vertex AI 能夠以無服務(wù)器方式編排工作流,幫助用戶自動化、監(jiān)控和管理機(jī)器學(xué)習(xí)系統(tǒng)。Vertex AI 還可以存儲工作流的 artifact,讓用戶可以跟蹤依賴項和模型的訓(xùn)練數(shù)據(jù)、超參數(shù)和源代碼。

          Coral:

          盡管有各種各樣的 SaaS 公司依賴基于云的人工智能,但許多行業(yè)對本地人工智能的需求也在不斷增長,Google Coral 就是為了滿足這一需求而創(chuàng)建的。Coral 是一個完整的工具包,可以使用本地 AI 構(gòu)建產(chǎn)品。Coral 于 2020 年發(fā)布,解決了部署部分 TFLite 中提到的實現(xiàn)板載 AI 的問題,克服了隱私和效率等方面的困難。

          Coral 提供了一系列用于原型設(shè)計、生產(chǎn)和傳感的硬件產(chǎn)品,其中一些本質(zhì)上是增強(qiáng)型的樹莓派,專為 AI 應(yīng)用程序創(chuàng)建,能夠利用 Edge TPU 在低功耗設(shè)備上進(jìn)行高性能推理。Coral 還提供用于圖像分割、姿態(tài)估計、語音識別等任務(wù)的預(yù)編譯模型,為希望創(chuàng)建本地 AI 系統(tǒng)的開發(fā)人員提供支持。創(chuàng)建模型的基本步驟如下面的流程圖所示。


          TensorFlow.js:

          TensorFlow.js 是一個用于機(jī)器學(xué)習(xí)的 JavaScript 庫,允許用戶使用 Node.js 在瀏覽器和服務(wù)器端訓(xùn)練和部署模型。

          Cloud:

          TensorFlow Cloud 是一個可以將本地環(huán)境連接到 Google Cloud 的庫,它的 API 旨在彌補(bǔ)本地機(jī)器上模型構(gòu)建和調(diào)試與 GCP 上分布式訓(xùn)練和超參數(shù)調(diào)整之間的差距,而無需使用 Cloud Console。

          Colab:

          Google Colab 是一個基于云的 notebook 環(huán)境,與 Jupyter 非常相似。Colab 易于連接到 Google Cloud 進(jìn)行 GPU 或 TPU 訓(xùn)練,并且 Colab 還可以和 PyTorch 一起使用。

          Playground:

          Playground 是一個小而精致的可視化工具,用于幫助用戶理解神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識。要戶可以更改 Playground 內(nèi)置神經(jīng)網(wǎng)絡(luò)的層數(shù)和大小,以實時查看神經(jīng)網(wǎng)絡(luò)是如何學(xué)習(xí)特征的,用戶還可以看到改變學(xué)習(xí)率和正則化強(qiáng)度等超參數(shù)如何影響不同數(shù)據(jù)集的學(xué)習(xí)過程。Playground 允許實時播放學(xué)習(xí)過程,以高度直觀的方式查看輸入在訓(xùn)練過程中是如何轉(zhuǎn)換的。Playground 還提供了一個開源的小型神經(jīng)網(wǎng)絡(luò)庫,是它自身的構(gòu)建基礎(chǔ),用戶能夠查看其源代碼的具體細(xì)節(jié)。

          Datasets:

          谷歌研究院的 Datasets 是谷歌定期發(fā)布的數(shù)據(jù)集的整合資源。谷歌還提供了數(shù)據(jù)集搜索以訪問更廣泛的數(shù)據(jù)集資源。當(dāng)然,PyTorch 用戶也可以利用這些數(shù)據(jù)集。

          小結(jié)

          總的來說,盡管 PyTorch 和 TensorFlow 有很多相似和共享的資源,但在生態(tài)系統(tǒng)方面,終究是 TensorFlow 更勝一籌。谷歌投入巨資確保深度學(xué)習(xí)的每個相關(guān)領(lǐng)域都有完善的產(chǎn)品。與 Google Cloud 和 TFX 的緊密集成使端到端的開發(fā)過程變得輕而易舉,而將模型移植到 Google Coral 設(shè)備的便利性讓 TensorFlow 在某些行業(yè)取得了壓倒性的勝利。

          我應(yīng)該選 PyTorch 還是 TensorFlow?

          正如期望的那樣,PyTorch 與 TensorFlow 還沒有決出明確的勝負(fù)。只能說,某一個框架在特定用例方面是優(yōu)于另一個框架的。為了幫助讀者做出選擇,作者匯總了一些建議。在下面的流程圖中,每個圖表都針對不同的興趣領(lǐng)域量身定制。

          如果我在業(yè)界怎么辦?


          如果在工業(yè)界執(zhí)行深度學(xué)習(xí)工程任務(wù),你很可能會使用 TensorFlow,并且應(yīng)該堅持使用它。對于需要將模型投入生產(chǎn)的人來說,TensorFlow 強(qiáng)大的部署框架和端到端的 TensorFlow Extended 平臺是很珍貴的。能在 gRPC 服務(wù)器上進(jìn)行輕松部署以及模型監(jiān)控和工件跟蹤是行業(yè)應(yīng)用的關(guān)鍵。

          鑒于 PyTorch 最近發(fā)布了 TorchServe,如果你需要訪問僅在 PyTorch 中可用的 SOTA 模型,那也可以考慮使用 PyTorch。在這種情況下,請考慮使用 ONNX 在 TensorFlow 的部署工作流中部署轉(zhuǎn)換后的 PyTorch 模型。

          如果你正在構(gòu)建移動應(yīng)用,鑒于 PyTorch 最近發(fā)布了 PyTorch Live,可以考慮使用 PyTorch。如果你需要音頻或視頻輸入,在這種情況下還是應(yīng)該使用 TensorFlow。如果你正在構(gòu)建使用 AI 的嵌入式系統(tǒng)或 IoT 設(shè)備,鑒于 TFLite + Coral 生態(tài)系統(tǒng),你仍然應(yīng)該使用 TensorFlow。

          總之,在工業(yè)界,如果必須選擇一種框架,請選擇 TensorFlow。

          如果我是研究者怎么辦?


          如果是一名研究人員,你大概率會使用 PyTorch,你應(yīng)該堅持使用它,大多數(shù) SOTA 模型都適用于 PyTorch。

          當(dāng)然,這條規(guī)則有幾個值得注意的例外,最值得注意的是:強(qiáng)化學(xué)習(xí)領(lǐng)域的一些研究應(yīng)該考慮使用 TensorFlow。TensorFlow 有一個用于強(qiáng)化學(xué)習(xí)的原生 Agents 庫,并且 DeepMind 的 Acme 框架是在 TensorFlow 中實現(xiàn)的。OpenAI 的 baseline 模型存儲庫也是在 TensorFlow 中實現(xiàn)的,盡管 OpenAI 的 Gym 在 TensorFlow 或 PyTorch 中都能使用。如果你打算使用 TensorFlow 進(jìn)行研究,還應(yīng)該查看 DeepMind 的 Sonnet 以獲得更高級別的抽象。

          如果不想使用 TensorFlow,比如你正在做 TPU 訓(xùn)練,那么應(yīng)該考慮探索谷歌的 JAX。JAX 本身不是神經(jīng)網(wǎng)絡(luò)框架,而是更接近于具有自動微分能力的 GPU/TPU 的 NumPy 實現(xiàn)。DeepMind 的 Haiku,被稱為「Sonnet for JAX」,是一個建立在 JAX 之上的神經(jīng)網(wǎng)絡(luò)庫,如果你正在考慮 JAX,那么 Haiku 值得你去探索。如果你不進(jìn)行 TPU 訓(xùn)練,那最好是堅持使用 PyTorch。

          無論選擇哪種框架,你都應(yīng)該在 2022 年密切關(guān)注 JAX。

          總之,在學(xué)術(shù)界,如果需要選擇一個框架,請選擇 PyTorch。

          如果我是一名教授怎么辦?


          如果你是一位教授,在深度學(xué)習(xí)課程中使用哪種框架取決于每一門課程的目標(biāo)。如果課程的重點是培養(yǎng)具備行業(yè)技能的深度學(xué)習(xí)工程師,讓他們可以勝任整個端到端深度學(xué)習(xí)任務(wù),而不僅僅是掌握深度學(xué)習(xí)理論,那么你應(yīng)該使用 TensorFlow。在這種情況下,接觸 TensorFlow 生態(tài)系統(tǒng)及其工具以及端到端的實踐項目將非常有價值。

          如果課程的重點是深度學(xué)習(xí)理論和理解深度學(xué)習(xí)模型的底層原理,那么應(yīng)該使用 PyTorch。如果你正在教授讓學(xué)生為深度學(xué)習(xí)研究做好準(zhǔn)備的高級本科課程或早期研究生課程,那你更應(yīng)該選 PyTorch。

          理想情況下,學(xué)生應(yīng)該接觸每個框架,盡管單個學(xué)期的時間有限,但花一些時間來了解框架之間的差異可能很有價值。如果課程是機(jī)器學(xué)習(xí)大型課程的一部分,其中有許多課程專門針對不同的主題,最好堅持使用最適合課程材料的框架,而不是嘗試同時接觸兩者。

          如果我正在嘗試尋求職業(yè)的轉(zhuǎn)變該怎么辦?


          如果想在職業(yè)生涯中尋求一些轉(zhuǎn)變,PyTorch 或 TensorFlow 都是不錯的選擇。在這種情況下,你可以做的最重要的事情是證明自己可以帶來額外價值,因此擁有復(fù)合項目經(jīng)驗至關(guān)重要。將深度學(xué)習(xí)應(yīng)用于創(chuàng)造性用例來打破常規(guī),或者通過端到端的項目表明自己已做好迎接行業(yè)的準(zhǔn)備,都能讓自己處于不敗之地。

          因此,建議使用可以讓你工作更輕松的任何框架,這比熟悉特定框架的 API 重要得多。話雖如此,如果你對框架完全不熟悉,請使用 TensorFlow,因為它是首選的行業(yè)框架。下圖中匯總了各種職業(yè)網(wǎng)站的每個框架職位的發(fā)布數(shù)量,TensorFlow 遠(yuǎn)遠(yuǎn)超過了 PyTorch。


          總之,如果你有使用 PyTorch 的特定原因,例如為 OpenAI 工作,或者使用 TensorFlow 對你來說非常不直觀,那么請隨意。但一般的建議是專注于 TensorFlow。

          如果我是業(yè)余愛好者,怎么選?


          如果你是個深度學(xué)習(xí)愛好者,那么你使用的框架將取決于你的目標(biāo)。如果將深度學(xué)習(xí)模型作為某個較大項目的一部分來實施,那么 TensorFlow 可能是你想要使用的,尤其是在部署到物聯(lián)網(wǎng) / 嵌入式設(shè)備時。鑒于 PyTorch Live 已經(jīng)發(fā)布,你可以將 PyTorch 用于移動應(yīng)用,但目前 TensorFlow + TFLite 仍然是首選方法。

          如果你的目標(biāo)是為了使用深度學(xué)習(xí)而學(xué)習(xí),那使用哪種框架取決于你的背景。一般來說,PyTorch 可能是更好的選擇,特別是如果你一直習(xí)慣使用 Python 工作。

          如果我是個初學(xué)者,怎么選?


          如果你是一個對深度學(xué)習(xí)感興趣并且只是想入門的初學(xué)者,建議使用 Keras。利用其高級組件,你可以輕松地開始了解深度學(xué)習(xí)的基礎(chǔ)知識。不過,一旦準(zhǔn)備更深入地了解深度學(xué)習(xí)的具體細(xì)節(jié),你會面臨幾個選擇:

          如果你不想安裝新框架,并且擔(dān)心能否適應(yīng)新的 API,那可以嘗試從 Keras 「下降」到 TensorFlow。如果 TensorFlow 令你困惑,請嘗試轉(zhuǎn)向 PyTorch。

          如果你想要一個更像 Python 的框架,那么遷移到 PyTorch 可能是你最好的選擇。在這種情況下,必須安裝新框架并可能重寫自定義腳本。此外,如果 PyTorch 對你來說有點麻煩,你可以使用 PyTorch Lightning 劃分你的代碼并擺脫一些樣板。

          如果你是一個完完全全的初學(xué)者,可以考慮觀看一些 TensorFlow 和 PyTorch 的 YouTube 教程,以確定哪個框架對自己來說更直觀。

          寫在最后

          PyTorch 與 TensorFlow 之爭是一場微妙的辯論,格局一直在不斷變化。至少在 2022 年,PyTorch 和 TensorFlow 都已經(jīng)是非常成熟的框架,二者的核心深度學(xué)習(xí)功能重疊明顯。今天,考慮每個框架的實際因素,比如它們的模型可用性、部署時間和相關(guān)的生態(tài)系統(tǒng),都比只討論它們的技術(shù)差異更有意義。

          選擇任一框架都不會出錯,因為它們都有完備的文檔、學(xué)習(xí)資源和活躍的社區(qū)。希望你能選到最適合的那一個框架。

          原文鏈接:https://www.assemblyai.com/blog/pytorch-vs-tensorflow-in-2022/

          覺得不錯,請點個在看

          瀏覽 33
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美操逼影视 | 正在播放蜜臀av 正在播放做爱内射 | 欧美操骚逼 | 国产人妻人伦精品无码.麻花豆 | 色伊人大香蕉 |