乾明 發自 凹非寺
量子位 報導 | 公眾號 QbitAI
道友留步!TensorFlow已重獲新生。
在“PyTorch真香”的潮流中,有人站出來為TensorFlow說話了。
這次來自谷歌的工程師Cassie Kozyrkov。她發表博文稱,TensorFlow升級到2.0版本後有了翻天覆地的變化, 對新手更加友好了。
引發這一變化的,是Keras。
在TensorFlow 2.0中,Keras API將成為TensorFlow中構建和訓練模型的核心高級API。
在TensorFlow啟動項目將變得更簡單。
Kozyrkov說, 與TensorFlow 1.X的版本相比,這就是脫胎換骨的變化。
難用的TensorFlow1.X
想要掌握TensorFlow1.X,需要花費不少力氣,學習曲線非常陡峭,普通用戶只能遠遠看著。
背後的原因在於,Tensorflow是為從研究到生產的大規模模型而設計的,核心是性能。雖然難學,但只要堅持下去,就能進入機器學習從業者行列了。
然後,就可以用機器學習做一些不可思議的事情了,比如說發現新的恆星,推動醫學進步…..
但很可惜,這太難用了,只有少數人能夠掌握這種力量。
很多新的AI研究人員,以及不少Tensorflow用戶,都喊著“真香”,轉投PyTorch,畢竟隔壁家的不需要花太多力氣。
還好有Keras,讓不少人感受到了一些安慰。
Keras,是一個用於逐層構建模型的框架,可以與多個機器學習框架一起工作,它從一開始就是Pythonic的,設計靈活,易於學習,吸引了不少人的使用和支持。
雖然它是一個從TensorFlow 內部訪問的高級 API,但它跟TF沒啥關係。
開發者得在好用的Keras和性能強大的TensorFlow之間做出選擇。
這就很容易給人一種“PyTorch”真香的感覺。
在TensorFlow2.0中,解決了這個問題。
TensorFlow2.0的變化
谷歌TF工程負責人Karmel Alliso表示,開發者不應該在簡單的 API 和可伸縮的 API 之間做出選擇,要有一個高級的API,不論是研究MNIST還是研究行星,都能搞定。
於是,Keras成了TensorFlow的高級 API,而且是可擴展的,可以直接從tf.keras使用 TensorFlow的所有高級功能。
而且Keras的簡單性,也帶到了TensorFlow上。
這種結合,會大幅度減少學習TensorFlow的門檻,對於初學者來說,是非常友好的。
現在,TensorFlow2.0已經推出了Alpha版,如果你有想法, 可以收好下面的教程傳送門:
https://www.tensorflow.org/alpha
教程分成了初學者版和老司機版:
初學者版,用的是Keras Sequential API,最簡單的入門大法;
老司機版,展示了怎樣用命令式來寫正向傳播、怎樣用GradientTape來寫自定義訓練loop,以及怎樣用tf.function一行代碼自動編譯。
網友:我還是用PyTorch
這篇博文發表了之後,Medium上獲得了3K多的“鼓掌”,在Reddit上有了近百條討論。
TensorFlow和Keras更好地結合起來,讓一些人感覺挺好。但在討論中,有不少網友依舊心心念著“PyTorch”。
有人評價稱,這還是沒有PyTorch好用,PyTorch感覺就像NumPy,可以在一天內學會,然後它就能正常工作。而學習TF(甚至2.0)會讓人感覺自己很笨。
有人說,只要我們有PyTorch,誰會關心TF。
甚至還有“脫粉”的現象:
好吧,至少現在我有足夠的動力離開TensorFlow並切換到PyTorch。
你呢?
TensorFlow 2.0還是PyTorch?
—完—
量子位AI+系列沙龍--智慧城市
加入社群
量子位AI社群開始招募啦,量子位社群分:AI討論群、AI+行業群、AI技術群;
歡迎對AI感興趣的同學,在量子位公眾號(QbitAI)對話界面回復關鍵字“微信群”,獲取入群方式。(技術群與AI+行業群需經過審核,審核較嚴,敬請諒解)
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復“招聘”兩個字。
喜歡就點這裡吧 !