Apache MXNet

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Apache MXNet
Developer(s)Apache Software Foundation
Stable release
1.8.0[1] / 3 March 2021; 7 months ago (3 March 2021)
Written inC++, Python, R, Java, Julia, JavaScript, Scala, Go, Perl
Operating systemWindows, macOS, Linux
TypeLibrary for machine learning and deep learning
LicenseApache License 2.0

Apache MXNet is an open-source deep learning software framework, used to train, and deploy deep neural networks. It is scalable, allowing for fast model training, and supports a flexible programming model and multiple programming languages (including C++, Python, Java, Julia, Matlab, JavaScript, Go, R, Scala, Perl, and Wolfram Language.)

The MXNet library is portable and can scale to multiple GPUs[2] and multiple machines. MXNet is supported by public cloud providers including Amazon Web Services (AWS)[3] and Microsoft Azure.[4] Amazon has chosen MXNet as its deep learning framework of choice at AWS.[5][6] Currently, MXNet is supported by Intel, Baidu, Microsoft, Wolfram Research, and research institutions such as Carnegie Mellon, MIT, the University of Washington, and the Hong Kong University of Science and Technology.[7] It was co-developed by Carlos Guestrin at University of Washington (along with GraphLab).[8]


Apache MXNet is a lean, flexible, and ultra-scalable deep learning framework that supports state of the art in deep learning models, including convolutional neural networks (CNNs) and long short-term memory networks (LSTMs).


MXNet is designed to be distributed on dynamic cloud infrastructure, using a distributed parameter server (based on research at Carnegie Mellon University, Baidu, and Google[9]), and can achieve almost linear scale with multiple GPUs or CPUs.


MXNet supports both imperative and symbolic programming, which makes it easier for developers that are used to imperative programming to get started with deep learning. It also makes it easier to track, debug, save checkpoints, modify hyperparameters, such as learning rate or perform early stopping.

Multiple languages[edit]

Supports C++ for the optimized backend to get the most of the GPU or CPU available, and Python, R, Scala, Clojure, Julia, Perl, MATLAB and JavaScript for a simple frontend for the developers.


Supports an efficient deployment of a trained model to low-end devices for inference, such as mobile devices (using Amalgamation[10]), Internet of things devices (using AWS Greengrass), serverless computing (using AWS Lambda) or containers. These low-end environments can have only weaker CPU or limited memory (RAM), and should be able to use the models that were trained on a higher-level environment (GPU based cluster, for example).

See also[edit]


  1. ^ "Release 1.8.0". 3 March 2021. Retrieved 9 March 2021.
  2. ^ "Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server". Retrieved 13 May 2017.
  3. ^ "Apache MXNet on AWS - Deep Learning on the Cloud". Amazon Web Services, Inc. Retrieved 13 May 2017.
  4. ^ "Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server". Microsoft TechNet Blogs. Retrieved 6 September 2017.
  5. ^ "MXNet - Deep Learning Framework of Choice at AWS - All Things Distributed". www.allthingsdistributed.com. Retrieved 13 May 2017.
  6. ^ "Amazon Has Chosen This Framework to Guide Deep Learning Strategy". Fortune. Retrieved 13 May 2017.
  7. ^ "MXNet, Amazon's deep learning framework, gets accepted into Apache Incubator". Retrieved 2017-03-08.
  8. ^ https://homes.cs.washington.edu/~guestrin/open-source.html
  9. ^ "Scaling Distributed Machine Learning with the Parameter Server" (PDF). Retrieved 2014-10-08.
  10. ^ "Amalgamation". Archived from the original on 2018-08-08. Retrieved 2018-05-08.