Apache Mxnet 简明教程
Apache MXNet - Introduction
本章重点介绍了 Apache MXNet 的功能,并讨论了该深度学习软件框架的最新版本。
What is MXNet?
Apache MXNet 是一款功能强大的开源深度学习软件框架工具,旨在帮助开发人员构建、训练和部署深度学习模型。在过去的几年里,从医疗保健到交通再到制造业,事实上,在我们的日常生活各个方面,深度学习的影响都已得到广泛普及。如今,深度学习被公司用于解决一些难题,如人脸识别、物体检测、光学字符识别 (OCR)、语音识别和机器翻译。
这就是 Apache MXNet 受支持的原因:
-
英特尔、百度、微软、Wolfram Research 等一些大公司。
-
包括亚马逊网络服务 (AWS) 和 Microsoft Azure 在内的公共云提供商
-
卡内基梅隆大学、麻省理工学院、华盛顿大学和香港科技大学等一些大型研究机构。
Why Apache MXNet?
当时,已经存在各种深度学习平台,如 Torch7、Caffe、Theano、TensorFlow、Keras、Microsoft Cognitive Toolkit 等,您可能想知道为什么选择 Apache MXNet?我们来了解一下背后的原因:
-
Apache MXNet 解决了一个现有的深度学习平台中最大的问题。问题在于,为了使用深度学习平台,人们必须学习另一个系统以采用不同的编程风格。
-
借助 Apache MXNet,开发人员可以充分利用 GPU 和云计算的能力。
-
Apache MXNet 可以加速任何数值计算,并特别注重加快大规模 DNN(深度神经网络)的开发和部署。
-
它为用户提供了命令式和符号式编程的功能。
Various Features
如果您正在寻找一个灵活的深度学习库来快速开发前沿的深度学习研究,或者一个强大的平台来推动生产工作负载,那么 Apache MXNet 就是您搜索之旅的终点。这是因为它具有以下特点:
Distributed Training
无论是在具有近似线性缩放效率的多 GPU 或多主机训练中,Apache MXNet 都允许开发人员最大程度地利用其硬件。MXNet 也支持与 Horovod 集成,Horovod 是优步创建的一个开源分布式深度学习框架。
针对此次集成,以下是一些 Horovod 中定义的常见分布式 API:
-
horovod.broadcast()
-
horovod.allgather()
-
horovod.allgather()
在这方面,MXNet 为我们提供了以下功能:
-
Device Placement −借助 MXNet,我们可以轻松指定每个数据结构 (DS)。
-
Automatic Differentiation −Apache MXNet 自动完成微分,即衍生计算。
-
Multi-GPU training − MXNet 允许我们通过可用 GPU 数量来实现扩展效率。
-
Optimized Predefined Layers − 我们还可以在 MXNet 中对我们自己的层进行编码,以及针对速度对预定义层进行优化。
Latest version MXNet 1.6.0
Apache Software Foundation (ASF) 已于 2020 年 2 月 21 日根据 Apache License 2.0 发布了 Apache MXNet 的稳定版本 1.6.0。这是支持 Python 2 的最后一个 MXNet 版本,因为 MXNet 社区投票决定在以后的版本中不再支持 Python 2。让我们了解一下此版本为其用户带来的一些新特性。