<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>

          誰(shuí)是深度學(xué)習(xí)框架一哥?2022 年,PyTorch 和 TensorFlow 再爭(zhēng)霸

          共 4189字,需瀏覽 9分鐘

           ·

          2022-01-13 20:47

          來(lái)自于點(diǎn)擊下方卡片,關(guān)注“新機(jī)器視覺(jué)”公眾號(hào)

          視覺(jué)/圖像重磅干貨,第一時(shí)間送達(dá)

          來(lái)源:機(jī)器學(xué)習(xí)研究組訂閱


          用PyTorch還是TensorFlow,對(duì)于大部分深度學(xué)習(xí)從業(yè)者來(lái)說(shuō)真是一個(gè)頭疼的問(wèn)題。最近Reddit上有個(gè)帖子從三個(gè)方面對(duì)比了兩個(gè)框架,結(jié)果竟然是平手?


          你用PyTorch還是用TensorFlow?

           

          對(duì)于不同人群可能有不同的答案,科研人員可能更偏愛(ài)PyTorch,因其簡(jiǎn)單易用,能夠快速驗(yàn)證idea來(lái)?yè)屨枷葯C(jī)發(fā)論文。

           

          雖然TensorFlow的差評(píng)如海,甚至有用戶專門注冊(cè)一個(gè)GitHub賬號(hào)開個(gè)issue來(lái)罵TensorFlow,但TensorFlow在工業(yè)界大哥的地位PyTorch仍然無(wú)法撼動(dòng)。

           

           

          所以,進(jìn)入2022年,你決定用PyTorch還是TensorFlow?

           

          曠日持久的甜咸之爭(zhēng)


          早在2015年11月9日,TensorFlow依據(jù)阿帕奇授權(quán)協(xié)議(Apache 2.0 open source license)就開放了源代碼,其前身是谷歌的神經(jīng)網(wǎng)絡(luò)算法庫(kù)DistBelief。TensorFlow是一個(gè)基于數(shù)據(jù)流編程(dataflow programming)的符號(hào)數(shù)學(xué)系統(tǒng),被廣泛應(yīng)用于各類機(jī)器學(xué)習(xí)(machine learning)算法的編程實(shí)現(xiàn)。

           

          到了2017年1月,由Facebook人工智能研究院(FAIR,現(xiàn)在是MAIR)基于Torch推出了PyTorch,主要提供兩個(gè)高級(jí)功能:


          1. 具有強(qiáng)大的GPU加速的張量計(jì)算(如NumPy)

          2. 包含自動(dòng)求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)

           

          最近Reddit上關(guān)于TensorFlow和PyTorch的討論又引起了網(wǎng)友的關(guān)注。

           

           

          題主表示,兩個(gè)框架和他們對(duì)應(yīng)的兩種生態(tài)系統(tǒng)發(fā)展的都是如此迅速,每個(gè)陣營(yíng)都有自己的狂熱支持者,也許是時(shí)候分析一下他們到底有什么不同了。

           

          目前來(lái)說(shuō),PyTorch仍然是「研究型」框架,TensorFlow仍然是「工業(yè)型」框架,他們之間的爭(zhēng)論主要可以歸結(jié)為三個(gè)因素:模型可用性、模型部署、軟件生態(tài)。

           

          模型可用性


          隨著深度學(xué)習(xí)領(lǐng)域的逐年擴(kuò)大,模型也變得越來(lái)越大,從頭開始訓(xùn)練sota模型的成本太高,微調(diào)已經(jīng)成為新主流。所以公開的sota模型采用什么框架對(duì)于后續(xù)的社區(qū)生態(tài)來(lái)說(shuō)很重要。

           

          在模型可用性方面,PyTorch 和 TensorFlow 分歧很大,PyTorch 和 TensorFlow 都有自己的官方模型存儲(chǔ)庫(kù),但從業(yè)者可能希望利用多個(gè)來(lái)源的模型。

           

          目前,PyTorch明顯在研究領(lǐng)域已經(jīng)贏麻了,大部分科研人員都在用,并且大多數(shù)出版論文和開源模型都在使用 PyTorch。

           

          將過(guò)去幾年八種頂級(jí)研究期刊的數(shù)據(jù)匯總以后可以看到,PyTorch越來(lái)越普遍,并且在短短幾年內(nèi),論文中的使用率從大約 7% 增長(zhǎng)到近 80%。

           

           

          雖然2019 年發(fā)布的 TensorFlow 2 中解決了大部分TensorFlow殘存的問(wèn)題,但 PyTorch 的發(fā)展勢(shì)頭足以讓它維持自己在研究領(lǐng)域的地位,至少?gòu)纳鐓^(qū)的角度來(lái)看是這樣。

           

           

          在Papers with Code網(wǎng)站上的論文中,大部分都使用的是PyTorch框架,并且還在逐漸上升,TensorFlow的市場(chǎng)份額在逐年下降。在過(guò)去的三個(gè)月里,總共創(chuàng)建了 4,500 個(gè)存儲(chǔ)庫(kù)中,其中60%使用 PyTorch 實(shí)現(xiàn),只有11%使用 TensorFlow。

           

           

          雖然研究主流是PyTorch,但也有例外,Google、DeepMind顯然都用TensorFlow來(lái)進(jìn)行研究,OpenAI的一些舊的baseline也都是TensorFlow,直到2020年才全換到PyTorch。

           

          模型部署


          如果不能投入生產(chǎn)使用,那訓(xùn)練性能再好的模型都毫無(wú)意義。

           

          所以,如何更有效率地完成模型部署至關(guān)重要,尤其是隨著微服務(wù)業(yè)務(wù)模型的日益普及,高效的部署有可能決定以AI為核心競(jìng)爭(zhēng)力的公司的成敗問(wèn)題。

           

          TensorFlow 自成立以來(lái)一直是面向部署的應(yīng)用程序的首選框架,TensorFlow Serving和TensorFlow Lite可讓用戶輕松地在云、服務(wù)器、移動(dòng)設(shè)備和 IoT 設(shè)備上進(jìn)行部署。

           

          各大公司在招聘深度學(xué)習(xí)工程師時(shí),大部分都要求掌握TensorFlow框架。

           

           

          從部署的角度來(lái)看,PyTorch 過(guò)去非常乏善可陳,但近年來(lái)它也一直致力于縮小這一差距,例如接連推出的TorchServe和PyTorch Live提供了本地部署工具,但仍然只針對(duì)移動(dòng)端,許多部署工具還處于起步階段。

           

          所以部署便捷性上,TensorFlow完勝。

           

          生態(tài)系統(tǒng)


          目前深度學(xué)習(xí)已不再局限于高度受控環(huán)境中的特定用例,也就是說(shuō),AI可能應(yīng)用在任何環(huán)境,移動(dòng)端、手機(jī)端、網(wǎng)頁(yè)端都有可能,因此一個(gè)具有更大生態(tài)系統(tǒng)的框架就顯得很重要,它可以促進(jìn)移動(dòng)、本地和服務(wù)器應(yīng)用程序的開發(fā)。

           

          此外,專用機(jī)器學(xué)習(xí)硬件,例如 Google 的Edge TPU的出現(xiàn)則意味著從業(yè)者需要使用可以與該硬件很好地集成的框架。

           

           

          PyTorch和TensorFlow的相關(guān)生態(tài)都做得很好。

           

          PyTorch的Hub除了HuggingFace,還有官方的PyTorch Hub,包括用于音頻、視覺(jué)和 NLP 的模型。它還有一些生成模型,包括用于生成名人面孔的高質(zhì)量圖像的GAN。

           

           

          SpeechBrain是 PyTorch 的官方開源語(yǔ)音工具包,支持 ASR、說(shuō)話人識(shí)別、驗(yàn)證和分類等。如果您不想構(gòu)建任何模型,而是想要一個(gè)具有自動(dòng)章節(jié)、情感分析、實(shí)體檢測(cè)等功能的即插即用工具,也是十分方便!

           

          PyTorch Lightning有時(shí)被稱為 PyTorch 的 Keras,可以簡(jiǎn)化 PyTorch 中模型工程和訓(xùn)練過(guò)程,自 2019 年首次發(fā)布以來(lái),已經(jīng)逐漸成熟。Lightning 以面向?qū)ο蟮姆绞教幚斫_^(guò)程,定義了一些可重用和可跨項(xiàng)目使用的共享組件。

           

          還有分布式訓(xùn)練工具TorchElastic,可管理工作進(jìn)程并協(xié)調(diào)重啟行為,以便用戶可以在計(jì)算節(jié)點(diǎn)集群上訓(xùn)練模型,這些節(jié)點(diǎn)可以動(dòng)態(tài)變化而不會(huì)影響訓(xùn)練,還可防止因服務(wù)器維護(hù)事件或網(wǎng)絡(luò)問(wèn)題等問(wèn)題而導(dǎo)致的宕機(jī),并且不會(huì)因此丟失訓(xùn)練進(jìn)度。

           

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

           

           

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

           

           

          TensorFlow Extended是 TensorFlow 用于模型部署的端到端平臺(tái),用戶可以加載、驗(yàn)證、分析和轉(zhuǎn)換數(shù)據(jù);訓(xùn)練和評(píng)估模型;使用 Serving 或 Lite 部署模型;然后跟蹤工件及其依賴項(xiàng)。TFX 可以與 Jupyter 或 Colab 一起使用,并且可以使用 Apache Airflow / Beam或 Kubernetes 進(jìn)行編排。TFX 與Google Cloud緊密集成,可與 Vertex AI Pipelines 一起使用。

           

          MediaPipe是用于構(gòu)建多模式、跨平臺(tái)應(yīng)用機(jī)器學(xué)習(xí)管道的框架,可用于人臉檢測(cè)、多手跟蹤、對(duì)象檢測(cè)等。該項(xiàng)目是開源的,并綁定了多種語(yǔ)言,包括 Python、C++ 和 JavaScript。

           

           

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

           

          TensorFlow Cloud可讓用戶將本地環(huán)境連接到 Google Cloud。提供的 API 能夠彌補(bǔ)從本地機(jī)器上的模型構(gòu)建和調(diào)試到 GCP 上的分布式訓(xùn)練和超參數(shù)調(diào)整之間的差距,而無(wú)需使用 Cloud Console。

           

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

           

          三項(xiàng)對(duì)此完,這兩個(gè)框架可以說(shuō)是神仙打架了,各有優(yōu)劣。

           

          但評(píng)論區(qū)也有網(wǎng)友表示,我一只腳踏入工業(yè)界,但另一只腳還在學(xué)術(shù)界,不過(guò)我在教課的時(shí)候還是選擇PyTorch,因?yàn)門F太不可靠了,接口總是變,尤其是從TF1遷移到TF2的時(shí)候。

           

          并且在公司也同樣使用PyTorch,因?yàn)殪`活性更重要。

           

           

          如果看完上面的討論,你還不知道怎么選擇適合自己的框架,那英雄聯(lián)盟中的一位英雄臺(tái)詞或許能對(duì)這場(chǎng)甜咸之爭(zhēng)帶來(lái)終極答案。

           

          要問(wèn)我更喜歡什么工具,未免太幼稚了,但我的錘子是我最喜歡的。


          參考資料:

          https://www.reddit.com/r/MachineLearning/comments/rga91a/d_are_you_using_PyTorch_or_TensorFlow_going_into/

          本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。
          —THE END—
          瀏覽 29
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  日本人妻与黑人XXX | 肏逼婷婷丁香免费国产 | 果冻传媒性爱操逼电影三级片 | 福利操逼| 久在线视频 |