The tutorials provide step-by-step instructions for creating models for specific types of applications.
They explain what each step accomplishes and why, and some include related information to enrich your understanding. Instead of procedures for creating your own model, some of the tutorials provide fully trained models or examples of models that you can use to create your own output.
These tutorials cover use cases and applications of MXNet, organized by type and by language. To create your own applications, you can customize the commands provided.
The following tutorials walk you through the basic usage of MXNet, including manipulating arrays, building networks, loading and preprocessing data, etc.
CPU/GPU Array Manipulation How to use mxnet.ndarray (similar to numpy array but supports GPU) for tensor computation. Also explains MXNet's powerful automatic parallelization feature.
Neural Network Graphs How to use mxnet.symbol for building neural network graphs. Introduces usage of basic operators (layers) and shows how to build new ones.
Training and Inference with Module Train a simple deep neural network with the Module interface. The Module package provides intermediate-level and high-level interface for executing predefined networks.
Mixing Array and Graphs (Advanced) Show cases MXNet's signature support for mixing imperative and symbolic programming. Note that Module already provides a high-level interface by wrapping around these functionalities. So this tutorial is mainly for users who want to build things from scratches for extra flexibility.
Data Loading How to write a data iterator to feed your custom data to Module (and other interfaces)
Image IO How to prepare, load, and pre-process images for training image classification networks.
Record IO (Advanced) How to pack free format data into a single binary file using MXNet's RecordIO format for easy and efficient IO.
Custom Image IO (Advanced) How to use mxnet.image package to easily write high performance and flexible data pipeline. mxnet.image uses MXNet‘s dependency engine to bypass python’s slowness so you don't have to use multiprocessing.
The following tutorials explain how to develop applications that use machine learning to modify, classify, and segment images and video.
Handwritten Digit Classification A simple example of classifying handwritten digits from the MNIST dataset using an MLP and convolutional network
Image Classification An example of classifying various images of real-world objects using a convolutional neural network.
Image Segmentation An example of segmenting various object out of an image using a convolutional neural network.
Object Detection using Faster R-CNN An example of detecting object bounding boxes in an image using a region proposal network.
Neural Art: Adding Artistic Style to Images An example of transferring styles of famous artists onto an image using a convolutional neural network.
Large Scale Image Classification: Training With 14 Million Images on a Single Machine An advanced example of training a deep convolutional network on the large ImageNet dataset efficiently.
Classifying Real-World Images With a Pre-Trained Model An advanced example of using a large pre-trained model to classify the ImageNet data set
The following tutorials explain how to develop applications that understand, generate, and summarize text-based data.
Character Level LSTM An example using an LSTM network to generate text, character by character, in the style of Barack Obama's speeches
Text Classification using Convolutional Neural Network An example of using a convolutional network to classify sentiment in text reviews
NCE Loss An advanced example of using NCE loss to speed up text classification with an LSTM model
The following tutorials explain how to develop applications that map natural speech to text.
Speech LSTM An example of training an LSTM acoustic model on the TIMIT dataset to recognize speech
Baidu Warp CTC An advanced example to training an LSTM to recognize speech with Baidu's implementation of the Connectionist Temporal Classification loss function
The following tutorial explains how to develop applications that generate content as data sets, such as images, text, music, and more.
The following tutorials explain how to develop applications for discovering existing structures and relationships in datasets.
Matrix Factorization An example using matrix factorization to discover user preferences in the MovieLens dataset
Auto Encoders An example using a non-linear deep autoencoder to find low-dimensional representations for the MNIST dataset
Recommendation Systems An example of using an autoencoder and matrix factorization to make a complete end to end recommendation system
The following tutorials show how visualization helps us in daily work, and better understanding towards neural network.
The following tutorials explain how to develop machine learning applications running on embedded devices, such as the Raspberry Pi
The following tutorials explain how to develop applications that use machine learning to modify, classify, and segment images and video.
Handwritten Digit Classification An example of classifying handwritten digits from the MNIST dataset using an MLP and convolutional network
Classify Real-World Images with Pre-trained Model An advanced example of using a large pre-trained model to classify the ImageNet dataset
Dogs vs. Cats classification with mxnet and R End-to-end tutorial with an example of fine-tuning in R (source RMD)
The following tutorials explain how to develop applications that understand, generate, and summarize text-based data.
Applications that use traditional methods to model classification and regression problems.
Handwritten Digit Classification A simple example of classifying handwritten digits from the MNIST dataset using a multilayer perceptron.
Character Level LSTM An example using an LSTM network to generate text, character by character, in the style of Barack Obama's speeches
Want to contribute an MXNet tutorial? To get started, download the tutorial template.