TensorFlow or PyTorch

既然你已經讀到了這篇文章,我就判定你已經開始了你的深度學習之旅了,而且對人造神經網絡的研究已經有一段時間了;或者也許你正打算開始你的學習之旅。不管是哪種狀況,你都是由於發現你陷入了困惑中,才找到了這篇文章。你可能查詢瀏覽了各類各樣的深度學習的框架和庫,可是其中有兩個比較突出,他們是兩個最流行的深度學習庫:TensorFlow 和 PyTorch。你沒有辦法指出這兩個庫有什麼本質的不一樣,不用擔憂!我將在這網絡上無休止的存儲空間中添加一篇新的文章,也許能夠幫你弄清楚一些問題。我將簡要的快速的給出你五點內容。僅僅是五點,那麼,讓咱們開始吧!瀏覽器

第一點:儘管 TensorFlow 和 PyTorch 都是開源的,可是他們是由兩個不一樣的公司建立的。TensorFlow 是由 Google 基於 Theano 開發的,而 PyTorch 是由 Facebook 基於 Torch 開發的。網絡

第二點:這兩個框架最大的不一樣是他們定義計算圖的方式不一樣。TensorFlow 定義一個靜態圖,而 PyTorch 定義動態圖,這是什麼意思呢?意思就是在 TensorFlow 中,你必須首先定義整個計算圖,而後運行你的機器學習模型。可是在 PyTorch 中,你能夠在運行的過程當中,定義或控制你的圖,當在神經網絡中使用變長的輸入時,這是很是有用的。session

第三點:TensorFlow 比 PyTorch 有更加陡峭的學習曲線。PyTorch 更具備 Python 風格,且在構建機器學習模型時更加直觀。另外一方面,爲了學習 TensorFlow,你必須先學習一些他的工做機制(例如 sessions、placeholders 等),所以學習 TensorFlow 比學習 PyTorch 更難一點。框架

第四點:相比 PyTorch 來講,TensorFlow 背後有更大的社區,這意味着找到資源去學習 TensorFlow,或者是尋找問題的解決辦法都會更容易一些。許多的教程和 MOOC(公開課)上面也都使用的是 TensorFlow 而不是 PyTorch,這是由於相比 TensorFlow 來講,PyTorch 是很新的東西。所以在資源方面,相比 PyTorch 來講,你會找到更多的 TensorFlow 的內容。機器學習

第五點:若是不討論 TensorBoard,這個對比就是不完整的。TensorBoard 是一個出色的工具,你能夠用它在瀏覽器中直接可視化你的機器學習模型。PyTorch 沒有這個工具,儘管你可使用相似於 Matplotlib 這樣的工具。儘管你可使用一些方法集成一些東西來讓你在使用 PyTorch 時可使用 TensorBoard,可是它本事是不原生支持的。工具

最後,TensorFlow 在生產模型和伸縮性上更好,它就是爲了生產環境準備的。鑑於 PyTorch 是更容易學習,使用起來也更輕鬆,所以對於激情項目和快速原型製做來講,它相對更好。學習

好吧,夠了!告訴我哪個更好?翻譯

沒有正確答案。(我知道,別人這麼說的話我也很討厭)教程

真實狀況就是一些人發現使用 PyTorch 更好,而另一些人發現使用 TensorFlow 更好。它們都是很好的框架,有很好的社區和支持,它們均可以完成工做,它們都是神器的魔杖,均可以作一些機器學習的魔術。資源

我但願我能夠幫助你更清楚一些你的困惑(一點點,也許吧)。若是你是真的很困惑而且都沒有使用過,那就隨便選擇一個開始學習,隨着你的學習,你會有更多的直覺去幫你作決定。

最後想說的是,他們都是工具,你能夠選擇任何一個,開始學習機器學習科學和藝術!

翻譯自 Tensorflow or PyTorch : The force is strong with which one?— Yashwardhan Jain,在保證原意不變狀況下,略有潤色和修改。

http://bit.ly/2rOpl7Z

相關文章
相關標籤/搜索