Skip to content

Commit

Permalink
Adding description to How To links and Tutorials. (apache#4284)
Browse files Browse the repository at this point in the history
  • Loading branch information
sandeep-krishnamurthy authored and piiswrong committed Dec 19, 2016
1 parent d187d14 commit 1036277
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 39 deletions.
2 changes: 1 addition & 1 deletion docs/get_started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Parallelizes both I/O and computation with an optimized C++ backend engine, and

 

**Extensive Library of Reference Examples** – Build on sample tutorials (with code), such as image classification, language modeling, neural Art, and Speech speech recognition, and more.
**Extensive Library of Reference Examples** – Build on sample tutorials (with code), such as image classification, language modeling, neural art, and speech recognition, and more.


 
Expand Down
74 changes: 56 additions & 18 deletions docs/how_to/index.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,62 @@
# MXNet How To

This topic provides links to guidelines for using MXNet.

## Use MXNet on Specific Tasks
- [How to use pre-trained models](http://mxnet.io/tutorials/python/predict_imagenet.html)
- [How to use Fine-tune with Pre-trained Models](http://mxnet.io/how_to/finetune.html)
- [How to visualize Neural Networks as computation graph](http://mxnet.io/how_to/visualize_graph.html)
- [How to train with multiple CPU/GPUs with data parallelism](multi_devices.md)
- [How to train with multiple GPUs in model parallelism - train LSTM](model_parallel_lstm.md)
- [How to run MXNet on smart or mobile devices](smart_device.md)
- [How to set up MXNet on the AWS Cloud using Amazon EC2 and Amazon S3](cloud.md)
- [How to use MXNet on variable input length/size (bucketing)](bucketing.md)
- [How to improve MXNet performance](perf.md)
- [How to use MXNet within a Matlab environment](https://github.com/dmlc/mxnet/tree/master/matlab)
- [How to use MXNet in a browser using Java Script](https://github.com/dmlc/mxnet.js/)
The How-tos provide a range of information from basic concepts and general guidance to demos complete with pre-trained models, instructions, and commands.


 

The following topics explain basic concepts and provide procedures for specific tasks. Some include demos complete with pre-trained models.

## Use MXNet to Perform Specific Tasks
* [How to use pre-trained models](http://mxnet.io/tutorials/python/predict_imagenet.html)
*Provides step-by-step instructions on loading, customizing, and predicting image classes with the provided pre-trained image classification model.*

* [How to use Fine-tune with Pre-trained Models](http://mxnet.io/how_to/finetune.html)
*Provides instructions for tuning a pre-trained neural network for use with a new, smaller data set. It describes preparing the data, training a new final layer, and evaluating the results. For comparison, it uses two pre-trained models.*

* [How to visualize Neural Networks as computation graph](http://mxnet.io/how_to/visualize_graph.html)
*Provides commands and instructions to visualize neural networks on a Jupyter notebook.*

* [How to train with multiple CPU/GPUs with data parallelism](http://mxnet.io/how_to/multi_devices.html)
*Provides the MXNet defaults for using multiple GPUs. It also provides instructions and commands for customizing GPU data parallelism setting (such as the number of GPUs and individual GPU workload), training a model with multiple GPUs, setting GPU communication options, synchronizing directories between GPUs, choosing a network interface, and debugging connections.*

* [How to train with multiple GPUs in model parallelism - train LSTM](http://mxnet.io/how_to/model_parallel_lstm.html)
*Discusses the basic practices of model parallelism, such as using each GPU for a layer of a multi-layer model, and how to balance and organize model layers among multiple GPUs to reduce data transmission and bottlenecks.*


* [How to run MXNet on smart or mobile devices](http://mxnet.io/how_to/smart_device.html)
*Provides general guidance on porting software to other systems and languages. It also describes the trade-offs that you need to consider when running a model on a mobile device. Provides basic pre-trained image recognition models for use with a mobile device.*

* [How to set up MXNet on the AWS Cloud using Amazon EC2 and Amazon S3](http://mxnet.io/how_to/cloud.html)
*Provides step-by-step instructions on using MXNet on AWS. It describes the prerequisites for using Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2) and the libraries that MXNet depends on in this environment. Instructions explain how to set up, build, install, test, and run MXNet, and how to run MXNet on multiple GPUs in the Cloud.*

* [How to use MXNet on variable input length/size (bucketing)](http://mxnet.io/how_to/bucketing.html)
*Explains the basic concepts and reasoning behind using bucketing for models that have different architectures, gives an example of how to modify models to use buckets, and provides instructions on how to create and iterate over buckets.*

* [How to improve MXNet performance](http://mxnet.io/how_to/perf.html)
*Explains how to improve MXNet performance by using the recommended data format, storage locations, batch sizes, libraries, and parameters, and more.*

* [How to use MXNet within a Matlab environment](https://github.com/dmlc/mxnet/tree/master/matlab)
*Provides the commands to load a model and data, get predictions, and do feature extraction in Matlab using the MXNet library. It includes an implementation difference between the two that can cause issues, and some basic troubleshooting.*

* [How to use MXNet in a browser using Java Script](https://github.com/dmlc/mxnet.js/)
*Provides a JavaScript port of MXNet, along with some basic commands to set it up and run it on a server for use in a browser. It includes browser comparisons, instructions on using your own model, and the library code.*


## Develop and Hack MXNet
- [Create new operators](new_op.md)
- [Use Torch from MXNet](torch.md)
- [Set environment variables for MXNet](env_var.md)

* [Create new operators](new_op.md)
*Provides an example of a custom layer along with the steps required to define each part of the layer. It includes a breakdown of the parameters involved, calls out possible optimizations, and provides a link to the complete code for the example.*

* [Use Torch from MXNet](torch.md)
*Describes how to install and build MXNet for use with a Torch frontend. It also provides a list of supported Torch mathematical functions and neural network modules, and instructions on how to use them.*


* [Set Environment Variables for MXNet](env_var.md)

Provides a list of default MXNet environment variables, along with a short description of what each controls.

## Frequently Asked Questions
- [FAQ](faq.md)

* [FAQ](faq.md)
*The FAQ provides debugging and optimization information for MXNet, along with links to additional resources.*
45 changes: 25 additions & 20 deletions docs/tutorials/index.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
# Tutorials

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.

## Example Applications

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.

### Computer Vision

Applications that intelligently modify, classify and segment images and video.
The following tutorials explain how to develop applications that use machine learning to modify, classify, and segment images and video.

#### Python

- [Handwritten Digit Classification](http://mxnet.io/tutorials/python/mnist.html)
*A simple example of classifying handwritten digits from the MNIST dataset using a MLP and convolutional network*

- [Image Classification](http://mxnet.io/tutorials/computer_vision/image_classification.html)
- [Image Classification](http://mxnet.io/tutorials/computer_vision/image_classification.html)
*An example of classifying various images of real-world objects using a convolutional neural network.*

- [Image Segmentation](http://mxnet.io/tutorials/computer_vision/segmentation.html)
Expand All @@ -32,10 +38,10 @@ Applications that intelligently modify, classify and segment images and video.
#### R

- [Handwritten Digit Classification](http://mxnet.io/tutorials/r/mnistCompetition.html)
*A simple example of classifying handwritten digits from the MNIST data set using a MLP and convolutional network*
*An example of classifying handwritten digits from the MNIST dataset using an MLP and convolutional network*

- [Classify Real-World Images with Pre-trained Model](http://mxnet.io/tutorials/r/classifyRealImageWithPretrainedModel.html)
*An advanced example of using a large pre-trained model to classify the ImageNet data set*
*An advanced example of using a large pre-trained model to classify the ImageNet dataset*

#### Scala

Expand All @@ -44,27 +50,27 @@ Applications that intelligently modify, classify and segment images and video.

### Natural Language Processing

Applications that summarize, generate and understand text based data
The following tutorials explain how to develop applications that understand, generate, and summarize text-based data.

#### Python

- [Character Level LSTM](http://mxnet.io/tutorials/python/char_lstm.html)
*A simple example using an LSTM network to generate text, character by character, in the style of Barack Obama's speeches*
*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](http://mxnet.io/tutorials/nlp/cnn.html)
*A simple example of using a convolutional network to classify sentiment in text reviews*
*An example of using a convolutional network to classify sentiment in text reviews*

- [NCE Loss](http://mxnet.io/tutorials/nlp/nce_loss.html)
*An advanced example of using nce loss to speed up text classification with an LSTM model*
*An advanced example of using NCE loss to speed up text classification with an LSTM model*

#### R

- [Character Language Model using RNN](http://mxnet.io/tutorials/r/charRnnModel.html)
*A simple example using an LSTM network to generate text, character by character, in the style of Shakespeare*
*An example using an LSTM network to generate text, character by character, in the style of Shakespeare*

### Speech Recognition

Applications that map natural speech to text
The following tutorials explain how to develop applications that map natural speech to text.

#### Python

Expand All @@ -76,39 +82,38 @@ Applications that map natural speech to text

### Generative Networks

Applications that generate novel data sets, such as images, text, music etc.
The following tutorial explains how to develop applications that generate content as data sets, such as images, text, music, and more.

#### Python

- [Generative Adversarial Network](http://mxnet.io/tutorials/unsupervised_learning/gan.html)
*A simple example of using a GAN trained on the MNIST dataset on generate handwritten digits*
*An example of using a GAN trained on the MNIST dataset on generate handwritten digits*

### Unsupervised Machine Learning

Applications to uncover existing structure in data sets
The following tutorials explain how to develop applications for discovering existing structures and relationships in datasets.

#### Python

- [Matrix Factorization](http://mxnet.io/tutorials/python/matrix_factorization.html)
*A simple example using matrix factorization to discover user preferences in the MovieLens dataset*
*An example using matrix factorization to discover user preferences in the MovieLens dataset*

- [Auto Encoders](http://mxnet.io/tutorials/unsupervised_learning/auto_encoders.html)
*An example using a non-linear deep autoencoder to find low dimensional representations for the MNIST dataset*

- [Recommendation Systems](http://mxnet.io/tutorials/general_ml/recommendation_systems.html)
*An example of using an autoencoder and matrix factorization to make a full end to end reccomender system*
*An example of using an autoencoder and matrix factorization to make a complete end to end recommendation system*


### Supervised Machine Learning

Applications using traditional methods to model classification and regression problems
Applications that use traditional methods to model classification and regression problems.

#### R

- [Neural Networks with MXNet in Five Minutes](http://mxnet.io/tutorials/r/fiveMinutesNeuralNetwork.html)
*Using a simple multi-layer perceptron to do classification and regression tasks on the mlbench dataset*
*Using a multi-layer perceptron to do classification and regression tasks on the mlbench dataset*

## Other Resources
- Collection of [MXNet Code Examples](https://github.com/dmlc/mxnet/tree/master/example)
- Collection of MXNet Tutorials for NVidia GTC 2016. [MXNet GTC 15 Tutorials](https://github.com/dmlc/mxnet-gtc-tutorial)

- [MXNet Code Examples](https://github.com/dmlc/mxnet/tree/master/example)
- [MXNet Tutorials for NVidia GTC 2016](https://github.com/dmlc/mxnet-gtc-tutorial)

0 comments on commit 1036277

Please sign in to comment.