Apache MXNet on AWS
Developer Guide

Getting Started

Depending on your application needs, you can set up MXNet on a single Amazon EC2 instance or set up a cluster of EC2 instances for distributed deep learning.

In both cases, you launch EC2 instances using the Deep Learning Amazon Machine Image (AMI), provided by AWS Marketplace. The AMI comes preinstalled with MXNet, CUDA, cuDNN, Python 2, and Python 3 so that you can begin writing code using MXNet soon after launching the EC2 instance. The resulting EC2 instance provides a stable, secure, and high-performance execution environment for deep learning applications.


The AMI also include other deep learning frameworks, such as TensorFlow, Caffe, and Keras. The AMI is available for Ubuntu, Amazon Linux and Windows. For more information, see Deep Learning AMI Developer Guide for AMI options.

When working with large amounts of data, you might choose to run MXNet on a cluster of EC2 instances to scale horizontally. This adds as many EC2 instances as required to scale up to the available compute and memory resources. To quickly set up a cluster, you use the predefined AWS CloudFormation template .

This guide provides the following step-by-step setup instructions.

Set Up Apache MXNet on an EC2 Instance

Set Up Apache MXNet on a Cluster of EC2 Instances

These exercises provide a complete end-to-end experience using MXNet. To set up MXNet, you need an AWS account. If you don't have one, use the following steps to sign up.

Sign up for an AWS account

  1. Open, and then choose Create an AWS Account.


    This might be unavailable in your browser if you previously signed into the AWS Management Console. In that case, choose Sign in to a different account, and then choose Create a new AWS account.

  2. Follow the online instructions.

    Part of the sign-up procedure involves receiving a phone call and entering a PIN using the phone keypad.