Apache MXNet

{{Short description|Multi-language machine learning library}}

{{Advert|date=April 2020}}

{{Infobox software

| name = Apache MXNet

| logo =

| screenshot =

| caption =

| collapsible =

| author =

| developer = Apache Software Foundation

| released =

| latest release version = {{wikidata|property|reference|P348}}

| latest release date = {{start date and age|{{wikidata|qualifier|P348|P577}}}}

| programming language = C++, Python, R, Java, Julia, JavaScript, Scala, Go, Perl

| operating system = Windows, macOS, Linux

| platform =

| size =

| language =

| genre = Library for machine learning and deep learning

| license = Apache License 2.0

| website = {{URL|https://mxnet.apache.org/}}

}}

Apache MXNet is an open-source deep learning software framework that trains and deploys deep neural networks. It aims to be scalable, allows 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{{cite web |date=15 September 2016 |title=Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server |url=https://blogs.technet.microsoft.com/machinelearning/2016/09/15/building-deep-neural-networks-in-the-cloud-with-azure-gpu-vms-mxnet-and-microsoft-r-server/ |url-status=live |archive-url=https://web.archive.org/web/20230815192909/https://learn.microsoft.com/en-us/archive/blogs/machinelearning/building-deep-neural-networks-in-the-cloud-with-azure-gpu-vms-mxnet-and-microsoft-r-server |archive-date=August 15, 2023 |access-date=13 May 2017 |publisher=Microsoft}} and machines. It was co-developed by Carlos Guestrin at the University of Washington, along with GraphLab.{{Cite web |title=Carlos Guestrin |url=https://guestrin.su.domains/ |url-status=live |archive-url=https://web.archive.org/web/20230922010748/https://guestrin.su.domains/ |archive-date=September 22, 2023 |website=guestrin.su.domains}}

As of September 2023, it is no longer actively developed.{{cite web|title=Apache MXNet - Apache Attic|url=https://attic.apache.org/projects/mxnet.html}} Apache MXNet was effectively abandoned due to a combination of factors including lack of significant contributions, outdated builds, and a shift in focus by its major backer, Amazon, towards other frameworks like PyTorch. The project saw no new releases for over a year, and there were very few pull requests or updates from contributors, leading to its move to the Apache Attic in 2023. Additionally, the community began migrating to other frameworks that offered more robust support and development activity.{{Cite web |title=Apache MXNet - Apache Attic |url=https://attic.apache.org/projects/mxnet.html |access-date=2024-06-05 |website=attic.apache.org}}

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).

=Scalability=

MXNet can be distributed on dynamic cloud infrastructure using a distributed parameter server (based on research at Carnegie Mellon University, Baidu, and Google{{cite web |title=Scaling Distributed Machine Learning with the Parameter Server |url=https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf |url-status=live |archive-url=https://web.archive.org/web/20230813120204/https://www.cs.cmu.edu/~muli/file/parameter_server_osdi14.pdf |archive-date=August 13, 2023 |access-date=2014-10-08}}). With multiple GPUs or CPUs, the framework can approach linear scale.

=Flexibility=

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.

=Portability=

The framework supports deployment of a trained model to low-end devices for inference, such as mobile devices by using Amalgamation.{{Cite web |url=https://mxnet.incubator.apache.org/faq/smart_device.html |title=Amalgamation |access-date=2018-05-08 |archive-url=https://web.archive.org/web/20180808202721/https://mxnet.incubator.apache.org/faq/smart_device.html |archive-date=2018-08-08 |url-status=dead }} Other deployment targets include 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){{cite web|title=Apache MXNet on AWS - Deep Learning on the Cloud|url=https://aws.amazon.com/mxnet/|access-date=13 May 2017|website=Amazon Web Services, Inc.}} and Microsoft Azure.{{cite web|title=Building Deep Neural Networks in the Cloud with Azure GPU VMs, MXNet and Microsoft R Server.|url=https://blogs.technet.microsoft.com/machinelearning/2016/09/15/building-deep-neural-networks-in-the-cloud-with-azure-gpu-vms-mxnet-and-microsoft-r-server/|access-date=6 September 2017|website=Microsoft TechNet Blogs|date=15 September 2016 }} 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.{{Cite news|title=MXNet, Amazon's deep learning framework, gets accepted into Apache Incubator|language=en-US|url=http://techgenix.com/mxnet-amazon-apache-incubator/|access-date=2017-03-08}}

See also

References