1. 简单百科
  2. mxnet

mxnet

MXNet是一个开源的深度学习软件框架,用于训练和部署深度神经网络。它是亚马逊云计算服务和Microsoft Azure支持的,也是亚马逊云计算服务的首选深度学习框架。MXNet具有可扩展性,可以扩展到多GPU和多台机器,并且支持多种编程语言,包括C++Python、Java、Julia、MATLABECMAScript、Go、R、ScalaPerlWolfram。MXNet由Carlos Guestrin在美国华盛顿大学(与GraphLab一起)共同开发。MXNet受到英特尔、Dato、百度集团微软Wolfram Research以及卡耐基·梅隆大学麻省理工学院、华盛顿大学和香港科技大学等研究机构的支持。MXNet的可移植性和灵活性使其成为最优秀的深度学习库之一,可以快速训练模型。截至2023年9月,MXNet不再处于活跃开发状态。

概述

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

新特性

增强了sparse.dot运算符的性能。

MXNet现在自动设置OpenMP,以便在未设置NUM_OMP_THREADS时使用所有可用的CPU内核以最大限度地提高CPU利用率。

一元运算符和二元运算符现在可以避免在小型阵列上使用openmp,因为使用OpenMP实际上会损害多线程开销。

在CPU上显著提高了broadcast_add,broadcast_mul等的性能。

使用NCCL2.1版或更新版本时,建议将环境变量NCCL_LAUNCH_MODE设置为纬线

特点

Apache MXNet是一个可扩展的深度学习框架,支持卷积神经网络(CNN)和长短期记忆网络(LSTM)等深度学习模型。MXNet可以在动态云基础设施上使用分布式参数服务器进行分布式部署,基于卡耐基·梅隆大学百度集团谷歌的研究。使用多个GPU或CPU,该框架可以实现线性扩展。MXNet支持命令式和符号式编程,允许开发人员跟踪、调试、保存检查点、修改超参数并执行提前停止。MXNet支持Python、R、Scalaclojure、Julia、PerlMATLABECMAScript用于前端开发,以及C++用于后端优化。支持将训练好的模型部署到低端设备进行推断,例如手持移动设备(使用Amalgamation)、物联网设备(使用AWS Greengrass)、无服务器计算(使用AWS Lambda)或容器。MXNet得到亚马逊网络服务(AWS)和Microsoft Azure等公共云提供商的支持。

云支持和合作

MXNet得到了亚马逊网络服务(AWS)和微软Azure等公共云提供商的支持。亚马逊已选择MXNet作为其AWS上的深度学习框架。此外,MXNet也得到了英特尔百度集团微软、Wolfram Research以及卡耐基·梅隆大学麻省理工学院美国华盛顿大学香港科技大学等研究机构的支持。

参考资料