天天看点

DL框架之MXNet :深度学习框架之MXNet 的简介、安装、使用方法、应用案例之详细攻略(一)

目录

MXNet 的简介

1、优缺点

2、相关文章

3、相关链接

MXNet 的安装

MXNet 的使用方法

1、个人使用总结

2、经典模型集合—MXNet Model Zoo

3、模型分类

MXNet 的应用案例

       A flexible and efficient library for deep learning.

 MXNet 是亚马逊(Amazon)选择的深度学习库,并且也许是最优秀的库之一。它拥有类似于 Theano 和 TensorFlow 的数据流图,为多 GPU 配置提供了良好的配置,有着类似于 Lasagne 和 Blocks 更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行(包括手机)。对 Python 的支持只是其冰山一角—MXNet 同样提供了对 R、Julia、C++、Scala、Matlab,和 Javascript 的接口。

       MXNet 是一个旨在提高效率和灵活性的深度学习框架。像MXNet这样的加速库提供了强大的工具来帮助开发人员利用GPU和云计算的全部功能。虽然这些工具通常适用于任何数学计算,但MXNet特别强调加速大规模深度神经网络的开发和部署。特别是,我们提供以下功能:

设备放置:使用MXNet,可以轻松指定每个数据结构的生存位置。

多GPU培训:MXNet可以通过可用GPU的数量轻松扩展计算。

自动区分:MXNet自动执行曾经陷入神经网络研究的衍生计算。

优化的预定义图层:虽然您可以在MXNet中编写自己的图层,但预定义的图层会针对速度进行优化,优于竞争库。

       MXNet 官方自我评价:MXNet结合了高性能,干净的代码,高级API访问和低级控制,是深度学习框架中独一无二的选择。

优点:

速度的标杆

灵活的编程模型:非常灵活。支持命令式和符号式编程模型以最大化效率和性能。

从云端到客户端可移植:可运行于多CPU、多GPU、集群、服务器、工作站甚至移动智能手机。

多语言支持:支持七种主流编程语言,包括C++、Python、R、Scala、Julia、Matlab和JavaScript。事实上,它是唯一支持所有 R 函数的构架。

本地分布式训练:支持在多CPU/GPU设备上的分布式训练,使其可充分利用云计算的规模优势。

性能优化:使用一个优化的C++后端引擎并行I/O和计算,无论使用哪种语言都能达到最佳性能。

云端友好,可直接与S3,HDFS和Azure兼容

缺点:

最小的社区

比 Theano 学习更困难一点

MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems

       MXnet是一个多语言机器学习(ML)库,用于简化ML算法的开发,特别是对于深度神经网络。它嵌入在宿主语言中,将声明性符号表达式与命令式张量计算混合在一起。它提供自动微分来推导梯度。MXnet具有计算和内存效率高的特点,可以在各种异构系统上运行,从移动设备到分布式GPU集群。本文介绍了MXnet的API设计和系统实现,并解释了如何统一处理符号表达式和张量操作的嵌入。我们的初步实验表明,在使用多个GPU机器的大规模深度神经网络应用中,有着很好的结果。

官网地址:

http://mxnet.incubator.apache.org/

GitHub地址01:

https://github.com/dmlc/mxnet

GitHub地址02:

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

MXNet - Python API:

http://mxnet.incubator.apache.org/api/python/index.html#python-api-reference

PyPi地址:

https://pypi.org/project/mxnet/