一直使用pytorch,在工程產品部署上效率一直不高,2.0在易用性上是否會達到pytorch的水平?


你原本是 tf boys的話, 當然值得跟進, 你本來就是 pytorch的話, 有遇到什麼不能解決的問題而正好TF能解決, 還是別人源代碼都TF寫的, 又或是你真覺得 PYTORCH在部署上效率不高,而你又經常要部署? 不然真不用跟進TF。

我試過 tf 1.12/1.10 的 eager 模式, 比原本的 static 模式簡單不要太多, 確實比較接近 pytorch 了, 封裝後的keras 更抽象, 確實比 PyTorch 更簡單, 一個 compile/fit 就行, 而PyTorch 沒封裝到這一層。

我寫了幾個notebook, 在圖像分類問題上, PyTorch/TF 獲取相同輸入、生成相同模型和權重參數、 能得到非常相似的輸出和分類結果 sndnyang/DeepLearningCMP DeepLearningFrameworks Compare

但 tf 2.0 還是體驗版, 可能還存在更多的BUG, 我上週就提交了一個 tf batch normalization 的BUG


TF 2.0 還是 Pytorch 1.0 呢?科研工程怎麼辦?我選擇MXNet

LOL.


值得更進。

首先tf2.0算是一次徹頭徹尾的自我否定和改革了。摒棄了以前的很多窠臼。迎來的肯定是易用性。

仔細看devmit2019你會發現,tf2.0著重強調了api的可持續性,因此可以遇見未來基於tf2.0開發的模型不會有太大的變化,更重要的是統一化了層的編寫方法。以前的什麼slim,tflearn,keras,tflayers真的令人頭大,現在官方統一化了。不會再百花齊放了,不是說百花齊放不好,而是沒有意義,實現都一樣只是改了一個namespace有意義嗎?

說到部署,我預計未來可能會出現一個libtf,現在c++介面太難用了。你別看pytorch有libtorch,那個效率是真的低。

除此之外你還可以選擇swift for tf,據說可以seemless地導入python代碼。

至於嵌入式,tflite always promising

最後,在廣告裡面插播一條重點內容:

國內最大的AI交流社區上線了,歡迎大家來討論交流,提問

奇點AI社區?

talk.strangeai.pro


然而企業級部署 大都還是會選擇tensorflow


看完這個新加坡國立大學的TF2教程你就知道了,

這是我找到的唯一的中文TF2的教程,拿走不謝!

全網唯一中文TF2!

深度學習與TensorFlow 2入門實戰 - 網易雲課堂?

study.163.com


事實證明當年的我還是太年輕了。。。

要搞部署的,比如移動端或者其他設備的,通通都給我用tensorflow!!用torch做移植,你就會留下和我一樣的淚水。tensorflow的部署生態是非常的完善的。

如果是做玩具demo的話,用pytorch或者keras都可以,開發起來比較方便。


以下是原答案

TensorFlow,mxnet, caffe等是靜態框架,pytorch,dynet等是動態框架,如果是做NLP,更推薦使用動態框架。

當然MXNet Gluon 和Tensorflow eager也開始像動態圖靠攏了,所以這也是一個趨勢吧。

理論上靜態框架應該是更快,動態框架更靈活,但是也不好說哦,在某些任務下pytorch的實現我覺得比tf要快的,比如mask rcnn開源的pytorch比keras要快呢。


NLP的話推薦pytorch,更推薦pytorch基礎上的AllenNLP框架,說道AllenNLP,不得不說起我的專欄,學習NLP,歡迎關注我的專欄


值得,方便很多


推薦閱讀:
相關文章