图片 1

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
必将不断优化完善,带来进一步的性能提升。

未来,MXNet 将主要关注以下四个方向:

  1. 支持更多的硬件

  2. 更加完善的操作子

  3. 更多编程语言

  4. 更多的应用

来自:InfoQ

相关文章