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 将主要关注以下四个方向:
- 支持更多的硬件
- 更加完善的操作子
- 更多编程语言
- 更多的应用
感谢刘志勇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
公众号推荐:
跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。
评论