MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程

AI科技大本營發表於2018-12-25

MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程

作者 | 解浚源


經過3個月的開發,MXNet 0.11版釋出啦!0.11是MXNet正式加入Apache以後的第一個版本,官方網站搬到了Apache的伺服器(注意:要在最上方Version處選擇master才能看到包含Gluon的最新文件)。

MXNet 0.11原始碼地址

https://github.com/apache/incubator-mxnet/releases

MXNet 0.11官方網站

https://mxnet.incubator.apache.org/versions/master/

這次最大的改進是加入了動態圖介面Gluon。Gluon學習了Keras,Chainer,和Pytorch的優點,並加以改進。介面更簡單,且支援動態圖(Imperative)程式設計。相比TF,Caffe2等靜態圖(Symbolic)框架更加靈活易用。同時Gluon還繼承了MXNet速度快,省視訊記憶體,並行效率高的優點,並支援靜、動態圖混用,比Pytorch更快。

同時為了徹底解決MXNet文件不全的弱點,我們還特地邀請了前CMU知名教授Alex Smola和即將出任CMU教授的小網紅Zachary Lipton聯手為Gluon打造文件(http://gluon.mxnet.io/)!

介面更簡潔

Gluon採用Keras和Numpy風格API,並且Layer可以自動判斷輸入長度。用過Chainer和Pytorch的人想必都體會過每一層都要記住前一層輸出長度的麻煩,從卷積層到全聯接層過度時長度計算更是痛苦,往往要執行一遍才知道。在Gluon裡則沒有這種問題,每層只要指定輸出長度,輸入長度則可以由系統自動計算。

MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程

速度更快


深度學習框架大體分為兩類:以TensorFlow,caffe2為代表的靜態圖(Symbolic)框架和以Chainer,Pytorch為代表的動態圖(Imperative)框架。靜態圖的優勢在於速度快,省記憶體,便於線上部署。而動態圖框架的優勢是靈活,易用,debug方便,特別是在自然語言處理和增強學習等領域,比起靜態圖框架有顯著優勢。

Gluon同時支援靈活的動態圖和高效的靜態圖,讓你在享受動態程式設計的靈活易用的同時最小化效能的損失。而Gluon的HybridBlock和hybridize介面讓你可以在靜態動態間一鍵切換。0.11版Gluon比0.20版Pytorch快10%以上,在未來的一兩個月我們會加入更多優化,再提高10%以上的效能。

MXNet 0.11釋出,加入動態圖介面Gluon,還有兩位CMU教授的親筆教程

即是文件,又是教材

深度學習的教材和樣例雖多,但是教材往往重理論輕實踐,而樣例重實踐卻不繫統。為了填補理論和實踐之間的空白,並一舉解決MXNet文件不全的弱項,我們特邀兩位CMU教授Alex Smola和Zachary Lipton為Gluon撰寫一部兼顧深度學習理論,動手程式設計,和實戰應用的文件+教材(https://github.com/zackchase/mxnet-the-straight-dope)。

Gluon教程包括深度學習理論講解和程式碼實踐。前五章每個例子都包括了兩個版本。從零開始(from scratch)版本深入講解所有細節,Gluon版本則著重演示高階封裝的靈活高效。建議剛開始接觸深度學習的同學從頭開始順序閱讀,而已經有一定經驗的同學可以跳過基礎教程只看Gluon版。這套教程現在在Github上公開寫作,共計劃18章,已經完成了前五章。印刷出版和中文翻譯也在計劃中。我們保證每天更新,絕不棄坑,歡迎大家試讀,也歡迎參與創作!

Gluon與其他框架的對比

Tensorflow:Gluon同時支援靜態圖和動態圖,在靈活性和速度上都有優勢。但由於Gluon剛剛面市,在成熟度和線上部署方便還有不足。總的來說在做深度學習研究的同學不妨一試。

Pytorch:Gluon與Pytorch的相似度很高,而Gluon獨特的靜、動態圖混合功能可以在不犧牲靈活性的前提下提高效能。如果你喜歡pytorch的簡單易用又在乎效能,那麼強烈建議你試一試Gluon。

相關連結

Apache MXNet官方網站:

https://mxnet.incubator.apache.org/

0.11 新特性:

https://github.com/apache/incubator-mxnet/releases

安裝指南:

https://mxnet.incubator.apache.org/versions/master/get_started/install.html

Gluon教程:

http://gluon.mxnet.io/

Gluon講座PPT:

https://github.com/zackchase/mxnet-slides/blob/master/kdd-mxnet-slides.pdf

Gluon深度學習樣例:

https://github.com/apache/incubator-mxnet/tree/master/example/gluon

原文地址

https://zhuanlan.zhihu.com/p/28648399

相關文章