MXNet

简介

1.mxnet 是五大主流深度学习框架之一, 是其中唯一支持所有R函数的架构。允许在多台物理设备(包括移动设备)上去定义、训练、开发深度神经网络。mxnet 是构建在动态的、可依赖的调度上,能并行(快速)处理符号和命令操作。其顶层优化后的图层使得符号操作更加快速,内存利用更高效。

2.由深度学习社区开发的开源的分布式深度学习框架,是多所大学与公司联合开发的,不属于某一家产品。主要开发者与赞助商:

  • Amazon
  • Baidu
  • Microsoft
  • ...

3.特性/优点

  • Flexible:灵活,同时支持命令式编程、符号式编程
  • Portable:轻量级,可以运行在CPU/GPU/Clusters/Servers/Desktop/Mobile Phone
  • Multiple Language:多语言支持,如 Java, Python, C++, JS, R
  • Auto-Differentiation:自动演进,可根据训练模型,自动计算演进
  • Distributed On Cloud可扩展、分布式,支持在云平台(AWS,Azure,YarnGCE)上的CPU/GPU主机上进行分布式训练

    MXNet 的分布式训练特性是由 parameter server 提供支持的

  • Performance:高效,其C++后端引擎可以实现并行IO与计算

4.缺点

  • API文档差,太少,不够全面

5.与其他深度学习框架的对比

框架 主语言 从语言 硬件支持 分布式支持 命令式编程 符号式编程
Caffe C++ Python/Matalab CPU/GPU X X V
Torch Lua - CPU/GPU/FPGA X V X
Theano Python - CPU/GPU X X V
Tensorflow C++ Python CPU/GPU/Mobile V X V
MXNet C++ Pthon/R/Go CPU/GPU/Mobile V V V

参考文献

1.官网:http://mxnet.io/index.html

2.五大主流深度学习框架对比:http://synchuman.baijia.baidu.com/article/579597

3.MXNet设计笔记之深度学习的编程模式比较:http://www.csdn.net/article/2015-10-11/2825883

4.MXNet设计和实现简介:http://blog.csdn.net/isuker/article/details/52450749

5.CUDA官网:http://www.nvidia.cn/object/cuda-toolkit-cn.html

6.CUDA博文:http://bbs.csdn.net/topics/390798229

7.官网-深度学习程序模型:http://mxnet.io/architecture/program_model.html

results matching ""

    No results matching ""