天天看點

深度學習架構 MXNet 成為 Apache 孵化器項目

深度學習架構 MXNet 成為 Apache 孵化器項目

mxnet 是一個輕量級、可移植、靈活的分布式深度學習架構,2017 年 1 月 23 日,該項目進入 apache 基金會,成為 apache 的孵化器項目。

mxnet 項目由 dmlc(distributied (deep) machine learning community)建立,前期開發者主要是 cxxnet,minerva 和 purine2 的作者。mxnet 項目于 2015 年 9 月開源,目前項目代碼托管在 github 上,已經擁有 200 多位貢獻者。

mxnet 的初衷是想結合 minerva 和 cxxnet 兩者的功能:cxxnet 通過配置來定義和訓練神經網絡,是以在圖檔分類等使用卷積網絡的應用上很友善;而 minerva 提供類似 numpy 一樣的張量計算接口,更靈活。mxnet 就是這樣一個兩者功能都具備的系統,其名字來自 minerva 的 m 和 cxxnet 的 xnet,其中 symbol 的想法來自 cxxnet,而 ndarray 的想法來自 minerva。

目前主流的深度學習系統一般采用指令式程式設計(imperative programming,比如 torch)或聲明式程式設計(declarative programming,比如 caffe,theano 和 tensorflow)兩種程式設計模式中的一種,而 mxnet 嘗試将兩種模式結合起來,在指令式程式設計上 mxnet 提供張量運算,而聲明式程式設計中 mxnet 支援符号表達式。使用者可以根據需要自由選擇,同時,mxnet 支援多種語言的 api 接口,包括 python、c++(并支援在 android 和 ios 上編譯)、r、scala、julia、matlab 和 javascript。

繼上個月 amazon 宣布将 mxnet 作為 aws 的深度學習架構,号召開源社群為 mxnet 投入更多的努力(詳見之前infoq的報道)之後,成為 apache 孵化器項目是mxnet發展過程中的又一裡程碑,以後 mxnet 必将不斷優化完善,帶來進一步的性能提升。

繼續閱讀