tensorflow2.0是否值得跟進,還是繼續使用pytorch?
一直使用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,歡迎關注我的專欄
值得,方便很多
推薦閱讀: