Apache MXNet

Last updated
Apache MXNet
Developer(s) Apache Software Foundation
Stable release
1.9.1 [1] / 10 May 2022;18 months ago (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.apache.org

Apache MXNet is an open-source deep learning software framework that trains and deploys deep neural networks. It is 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 [2] and machines. It was co-developed by Carlos Guestrin at the University of Washington (along with GraphLab). [3]

Contents

As of September 2023, it is no longer actively developed. [4]

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 [5] ). With multiple GPUs or CPUs, the framework approaches 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

Supports deployment of a trained model to low-end devices for inference, such as mobile devices (using Amalgamation [6] ), 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) [7] and Microsoft Azure. [8] Amazon has chosen MXNet as its deep learning framework of choice at AWS. [9] [10] 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. [11]

See also

Related Research Articles

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

<span class="mw-page-title-main">Redis</span> Open-source in-memory key–value database

Redis is an open-source in-memory storage, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. Because it holds all data in memory and because of its design, Redis offers low-latency reads and writes, making it particularly suitable for use cases that require a cache. Redis is the most popular NoSQL database, and one of the most popular databases overall. Redis is used in companies like Twitter, Airbnb, Tinder, Yahoo, Adobe, Hulu, Amazon and OpenAI.

A cloud database is a database that typically runs on a cloud computing platform and access to the database is provided as-a-service. There are two common deployment models: users can run databases on the cloud independently, using a virtual machine image, or they can purchase access to a database service, maintained by a cloud database provider. Of the databases available on the cloud, some are SQL-based and some use a NoSQL data model.

Cloud analytics is a marketing term for businesses to carry out analysis using cloud computing. It uses a range of analytical tools and techniques to help companies extract information from massive data and present it in a way that is easily categorised and readily available via a web browser.

In computing, Hazelcast is a unified real-time data platform based on Java that combines a fast data store with stream processing. It is also the name of the company developing the product. The Hazelcast company is funded by venture capital and headquartered in Palo Alto, California.

<span class="mw-page-title-main">Deeplearning4j</span> Open-source deep learning library

Eclipse Deeplearning4j is a programming library written in Java for the Java virtual machine (JVM). It is a framework with wide support for deep learning algorithms. Deeplearning4j includes implementations of the restricted Boltzmann machine, deep belief net, deep autoencoder, stacked denoising autoencoder and recursive neural tensor network, word2vec, doc2vec, and GloVe. These algorithms all include distributed parallel versions that integrate with Apache Hadoop and Spark.

<span class="mw-page-title-main">TensorFlow</span> Machine learning software library

TensorFlow is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

Serverless computing is a cloud computing execution model in which the cloud provider allocates machine resources on demand, taking care of the servers on behalf of their customers. "Serverless" is a misnomer in the sense that servers are still used by cloud service providers to execute code for developers. However, developers of serverless applications are not concerned with capacity planning, configuration, management, maintenance, fault tolerance, or scaling of containers, VMs, or physical servers. Serverless computing does not hold resources in volatile memory; computing is rather done in short bursts with the results persisted to storage. When an app is not in use, there are no computing resources allocated to the app. Pricing is based on the actual amount of resources consumed by an application. It can be a form of utility computing.

Function as a service (FaaS) is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage application functionalities without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. Building an application following this model is one way of achieving a "serverless" architecture, and is typically used when building microservices applications.

Mongoose OS is an Internet of Things (IoT) Firmware Development Framework available under Apache License Version 2.0. It supports low power, connected microcontrollers such as: ESP32, ESP8266, TI CC3200, TI CC3220, STM32. Its purpose is to be a complete environment for prototyping, development and managing connected devices.

<span class="mw-page-title-main">Apache Ignite</span>

Apache Ignite is a distributed database management system for high-performance computing.

Deep Learning Studio is a software tool that aims to simplify the creation of deep learning models used in artificial intelligence. It is compatible with a number of open-source programming frameworks popularly used in artificial neural networks, including MXNet and Google's TensorFlow.

SqueezeNet is the name of a deep neural network for computer vision that was released in 2016. SqueezeNet was developed by researchers at DeepScale, University of California, Berkeley, and Stanford University. In designing SqueezeNet, the authors' goal was to create a smaller neural network with fewer parameters that can more easily fit into computer memory and can more easily be transmitted over a computer network.

Amazon SageMaker is a cloud based machine-learning platform that allows the creation, training, and deployment by developers of machine-learning (ML) models on the cloud. It can be used to deploy ML models on embedded systems and edge-devices. SageMaker was launched in November 2017.

<span class="mw-page-title-main">IBM Cloud</span> Cloud computing services provided by IBM

IBM Cloud is a set of cloud computing services for business offered by the information technology company IBM.

References

  1. "Release 1.9.1". 10 May 2022. Retrieved 30 June 2022.
  2. "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.
  3. "Carlos Guestrin". guestrin.su.domains. Archived from the original on September 22, 2023.
  4. "Apache MXNet - Apache Attic".
  5. "Scaling Distributed Machine Learning with the Parameter Server" (PDF). Archived (PDF) from the original on August 13, 2023. Retrieved 2014-10-08.
  6. "Amalgamation". Archived from the original on 2018-08-08. Retrieved 2018-05-08.
  7. "Apache MXNet on AWS - Deep Learning on the Cloud". Amazon Web Services, Inc. Retrieved 13 May 2017.
  8. "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.
  9. "MXNet - Deep Learning Framework of Choice at AWS - All Things Distributed". www.allthingsdistributed.com. 22 November 2016. Retrieved 13 May 2017.
  10. "Amazon Has Chosen This Framework to Guide Deep Learning Strategy". Fortune. Retrieved 13 May 2017.
  11. "MXNet, Amazon's deep learning framework, gets accepted into Apache Incubator" . Retrieved 2017-03-08.