當前位置:
首頁 > 新聞 > PyTorch vs. TensorFlow月度使用體驗總結

PyTorch vs. TensorFlow月度使用體驗總結

PyTorch vs. TensorFlow月度使用體驗總結

雷鋒網 AI科技評論按:日前,英偉達深度學習項目實習生Dominic Monn在medium上發文總結了他使用PyTorch和TensorFlow的一些體會,在文章中,他從安裝、使用、文件、社群等方面簡單對比了這兩種框架。

他曾是TensorFlow用戶,加入英偉達後開始使用PyTorch,下面是的他的一些使用體驗:

安裝

PyTorch安裝起來很容易,也很直接,大家可以通過PIP來安裝,也可以直接選擇源碼安裝。PyTorch也提供Docker圖,大家可以在項目中把Docker圖用作base image。

PyTorch並不像TensorFlow一樣已經指定好CPU和GPU,雖然它的這一特徵可以讓安裝更加簡單,但如果在項目中想要同時支持GPU和CPU,將會產生更多代碼。

使用

PyTorch提供非常Python化的API介面,這與TensorFlow有很大差別,TensorFlow需要先定義所有的張量和圖,然後再執行相應的會話操作。雖然PyTorch的這一特性使得代碼變多了,但會更加清晰。

PyTorch圖必須定義在從PyTorch nn.Module類繼承過來的類中,運行圖的時候會調用forward函數,通過這種「約定優於配置」(convention over configuration)的方式,圖的位置一直處於可知狀態,也不會在餘下的代碼中定義變數。

你可能會需要一段時間來適應PyTorch中的這種「新」方法,不過如果你以前在深度學習的研究之外用過Python,這種方法對你來說會很直觀。

也有一些人這樣評價——與TensorFlow相比,PyTorch在許多模型上都有更加優秀的表現。

文件

PyTorch的大部分文檔都是完整的,我每次都能成功找到函數或模塊的定義。TensorFlow所有的函數都在一個頁面,而PyTorch不同於TensorFlow,每個模塊只用一個頁面。如果你要用Google找一個函數,這會有點困難。

社群

很明顯,PyTorch社群不像TensorFlow那麼龐大,但很多人都喜歡在業餘時間用PyTorch,即使他們工作時使用的是TensorFlow。我認為,一旦PyTorch發布正式版,PyTorch社群會變得更大。在目前,仍然很難找到非常精通PyTorch的人。

不過它的社群也足夠大了,如果在官方論壇上提出問題,通常很快就能得到解答。許多優秀神經網路模型也有PyTorch的操作樣例了。

工具和輔助功能

雖然PyTorch能提供相當多的工具,但仍然缺少一些非常有用的部分。例如它沒有類似於TensorBoard這種非常有用的工具,這會導致很難進行可視化。

此外它也缺失一些常用的輔助功能,比起TensorFlow來說需要我們自己寫更多的代碼。

總結

PyTorch是TensorFlow之外一個非常好的選擇,雖然 PyTorch仍在測試階段,我希望在可用性、文件和性能方面它能有更多的改變和進步。PyTorch非常Python化,用起來很容易。它的社群活躍,文件齊全,據稱它比TensorFlow更快。然而,它的社群比起TensorFlow來說,仍然只是九牛一毛,並且缺失了諸如 TensorBoard等一些非常有用的工具。

雷鋒網 AI科技評論注,除了Dominic Monn近日對這兩種框架的對比, 斯坦福大學計算機科學博士生Awni Hannun也曾發文撰寫了這兩個框架之間的主要差異,詳情可以參見用PyTorch還是TensorFlow?斯坦福大學CS博士生帶來全面解答。

雷鋒網 AI科技評論編譯整理。

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

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


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

馬雲自嘲唱歌后網友評論讓其「絕望」;開房要謹慎:中國18家酒店數據遭泄露;一加承認收集用戶隱私數據 | 雷鋒早報
如何理解Nvidia英偉達的Multi-GPU多卡通信框架NCCL?
華為宣布與法國創業公司 Chronocam 簽訂 Face ID 技術合作
前亞馬遜首席科學家薄列峰加盟京東金融,領銜AI實驗室
ARKit應用安裝量超300萬次,AR遊戲類應用最受歡迎

TAG:雷鋒網 |