Apache MXNet
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] as well as multiple machines. It was co-developed by Carlos Guestrin at the University of Washington (along with GraphLab).[3]
Developer(s) | Apache Software Foundation |
---|---|
Stable release | 1.9.1[1]
/ 10 May 2022 |
Repository | |
Written in | C++, Python, R, Java, Julia, JavaScript, Scala, Go, Perl |
Operating system | Windows, macOS, Linux |
Type | Library for machine learning and deep learning |
License | Apache License 2.0 |
Website | mxnet |
Features
Apache MXNet is a scalable deep learning framework that supports deep learning models, such as: convolutional neural networks (CNNs) and long short-term memory networks (LSTMs).
Scalable
MXNet can be distributed on dynamic cloud infrastructure using a distributed parameter server (based on research at Carnegie Mellon University, Baidu, and Google[4]). With multiple GPUs or CPUs the framework approaches linear scale.
Flexible
MXNet supports both imperative and symbolic programming. The framework allows developers to track, debug, save checkpoints, modify hyperparameters, and perform early stopping.
Multiple languages
MXNet supports Python, R, Scala, Clojure, Julia, Perl, MATLAB and JavaScript for front-end development, and C++ for back-end optimization.
Portable
Supports deployment of a trained model to low-end devices for inference, such as mobile devices (using Amalgamation[5]), 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).
Cloud Support
MXNet is supported by public cloud providers including Amazon Web Services (AWS)[6] and Microsoft Azure.[7] Amazon has chosen MXNet as its deep learning framework of choice at AWS.[8][9] 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.[10]
References
- "Release 1.9.1". 10 May 2022. Retrieved 30 June 2022.
- "Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server". Microsoft. 15 September 2016. Archived from the original on August 15, 2023. Retrieved 13 May 2017.
- "Carlos Guestrin". guestrin.su.domains. Archived from the original on September 22, 2023.
- "Scaling Distributed Machine Learning with the Parameter Server" (PDF). Archived (PDF) from the original on August 13, 2023. Retrieved 2014-10-08.
- "Amalgamation". Archived from the original on 2018-08-08. Retrieved 2018-05-08.
- "Apache MXNet on AWS - Deep Learning on the Cloud". Amazon Web Services, Inc. Retrieved 13 May 2017.
- "Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server". Microsoft TechNet Blogs. 15 September 2016. Retrieved 6 September 2017.
- "MXNet - Deep Learning Framework of Choice at AWS - All Things Distributed". www.allthingsdistributed.com. 22 November 2016. Retrieved 13 May 2017.
- "Amazon Has Chosen This Framework to Guide Deep Learning Strategy". Fortune. Retrieved 13 May 2017.
- "MXNet, Amazon's deep learning framework, gets accepted into Apache Incubator". Retrieved 2017-03-08.