Reddit引爆框架決戰(zhàn)!TensorFlow遭吐槽
你用pyTorch還是用tensorflow?
對于不同人群可能有不同的答案,科研人員可能更偏愛pyTorch,因其簡單易用,能夠快速驗證idea來搶占先機發(fā)論文。
有從業(yè)人員預測,學術界pyTorch未來會一枝獨秀。

但對工業(yè)人員來說,tensorflow可能是更好的選擇,相關軟件生態(tài)更有利于部署,如高性能深度學習TensorRT、移動端tensorflow Lite、多種編程語言的API等。
在Keras的加持下,易用易學性得到了極大增強,未來可能會有更多TF boys的出現(xiàn)。

深度學習領域的各種框架總數(shù)超過了二十個,但是許多框架都缺乏維護,社區(qū)并不活躍。造就了部分框架壟斷的情況。
Reddit小哥發(fā)出疑問:我該學哪個框架?
社交媒體有很多宣傳pyTorch特別好用的帖子,
在社交媒體上看到了很多關于 pyTorch 有多棒的帖子,但是我只會用tensorflow。我覺得tensorflow非常強大,不管是科研還是工業(yè)部署上都有廣泛的應用。
我弄不明白,我應該轉到pyTorch上嗎?還是說都學習?他們到底有什么差別?為什么大家都吹捧pyTorch而貶低tensorflow?
我想知道,你用哪個框架,以及為什么不用另一個的原因。
pyTorch派的回答
這位小哥的靈魂拷問可以說是困擾AI從業(yè)新手的一個必經(jīng)難題。這可以類比為php是世界上最好的語言。
有pyTorch用戶的網(wǎng)友在下面回復,獲得最高贊。
我用tensorflow1.x幾年了,感覺自己是個專家。當我第一次嘗試pyTorch后,發(fā)現(xiàn)tensorflow無法實現(xiàn)的圖形操作,在pyTorch上非常容易實現(xiàn)。不到一個月,我就覺得我用pyTorch的水平和tensorflow一樣好了。
事實證明,tensorflow所謂的專業(yè)知識都是晦澀的API,而pyTorch則是為了構建一個深度學習模型。
tensorflow不懂設計。
知乎網(wǎng)友對tensorflow的態(tài)度也都是API過于混亂,并認為靜態(tài)圖和動態(tài)圖并不是他們之間最大的區(qū)別。


當然,最犀利的當屬Karpathy的評論:
用了pyTorch幾個月以后,腰不酸了,腿不疼了,皮膚光滑了,視力都變好了。(暗示tensorflow辣眼睛?)

也有pyTorch用戶覺得寫起來就像寫python代碼一樣,沒有額外的學習成本。
tensorflow派怎么說?
也有網(wǎng)友堅定地喜歡tensorflow,但也覺得tensorflow對新手太不友好了,如tf.Session,tf.Estimator,每個人都在寫自己的部分,沒有統(tǒng)一的官方高級API。
到了2021年,tf陣營有了TF 2.x,變得和Keras越來越像了。雖然tensorflow不是很完美,但是tf.keras是完美的。(人生苦短,我用Keras)
也有網(wǎng)友認為,pyTorch在生產(chǎn)環(huán)境的部署遠遠不如tensorflow,在移動端也沒有好的解決方案,只適合科學研究。
其他框架在默默流淚
在GitHub的排行榜上,tensorflow一騎絕塵,是Keras的三倍還多。
深度學習從業(yè)者的入門大多是從tensorflow起步,被合并的Keras也超越了pyTorch。







由此可見,工業(yè)部署對tensorflow還是十分依賴的,畢竟pyTorch也依賴tensorboard等。
國產(chǎn)框架飛漿還有很長的路要走。
結語
正所謂「形而上者謂之道,形而下者謂之器」。
當水平還處于比較低的時候,更關注于具體的實踐細節(jié)。隨著水平的提高,框架已是身外之物,創(chuàng)造出更好,更高性能的模型才是AI之道。