深度學習框架之戰

by TibaMe小編
深度學習框架之戰

主要競爭者:PyTorch和TensorFlow

用TensorFlow還是PyTorch?從TensorFlow開始學起還是PyTorch?

在幾年前,這個問題毫無疑問,當然是TensorFlow,但時代不同,現在的情況也不一樣了。

深度學習框架(deep learning framework)為現階段人工智慧的競爭重點,其中,Google的TensorFlow雖在產業處於領先地位,但2017年初 Facebook推出了全新的深度學習框架-PyTorch其中,PyTorch具簡潔、快速開發能力,深受學術市場青睞。


隨著 PyTorch 的問世以及 ONNX (Open Neural Network Exchange) 深度學習開發生態的逐漸完整,Pytorch無疑成為許多深度學習架構中值得期待的明日之星。

PyTorch的前身 Torch是用Lua寫的機器學習架構,後來受到Facebook,NVIDIA,Uber等大公司的支援下漸漸發展起來,但現有的深度學習架構卻處處的簡化呢 ? 例如圖片固定的大小、句子固定的長度。

如果你對於這種束縛感到厭倦,那麼使用動態計算圖的PyTorch可能會是最好的選擇!


在人工智慧的時代,TensorFlow已經成為深度學習開發的主流程式庫,其功能強大,運算效率高,支援多個平台,已經開始廣泛的使用,不過TensorFlow 1.x版的學習門檻高,對剛入門的初學者相當難上手,這些問題,Google團隊在2019年初推出了TensorFlow 2.0版,TensorFlow 2.0 引入了 Eager Execution動態圖模式,Keras API及 tf.data等功能,不但讓學習門檻大幅降低,也變得更加親民。

現階段許多人正在放棄TensorFlow,並大量投向PyTorch的懷抱。

為什麼喜歡PyTorch?

簡單來說。它類似於numpy,非常具有python風格,並且可以輕鬆地與Python生態系統的做整合。

與TensorFlow的API相比,PyTorch的API更討喜。是因為PyTorch的設計更好,部分原因是TensorFlow通過多次切換API而損失了效能。儘管事實上PyTorch的動態圖提供的優化機會很少,但有許多傳聞稱PyTorch的速度甚至快於TensorFlow。目前能不清楚這是否真的成立,但至少,TensorFlow在這一領域還沒有較大的優勢。


儘管PyTorch現在在研究中處於主導地位,但產業界表明TensorFlow依然是主導框架。主要是能夠在較小的資料集上跟GPU執行的,另一方面,工業行業有很多限制要求。服務上來看 功能全面,例如無停機更新模型,在模型之間無縫切換,在預測時進行批次處理等。

TensorFlow是專門針對這些要求而構建的,爲所有這些問題提供了解決方案:圖形格式和執行引擎本來就不需要Python,現階段PyTorch未能滿足這些疑慮,因此大多數公司目前在工作中仍使用TensorFlow。因此,我們能了解框架的當前狀態。PyTorch擁有研究市場,並且正在嘗試將這一成功擴充套件到工業領域。TensorFlow試圖在不犧牲太多生產能力的情況下,在研究界中盡其所能。PyTorch對產業產生有意義的影響肯定需要很長時間 所以,不管你喜歡TensorFlow還是PyTorch,目的只有一個,就是想讓深度學習做到最好。

撰文者: TibaMe AI人工智慧課程總監 Ryan

分享這篇文章:
0 comment
0

您也許會喜歡

Leave a Comment

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料