| <!--- Licensed to the Apache Software Foundation (ASF) under one --> |
| <!--- or more contributor license agreements. See the NOTICE file --> |
| <!--- distributed with this work for additional information --> |
| <!--- regarding copyright ownership. The ASF licenses this file --> |
| <!--- to you under the Apache License, Version 2.0 (the --> |
| <!--- "License"); you may not use this file except in compliance --> |
| <!--- with the License. You may obtain a copy of the License at --> |
| |
| <!--- http://www.apache.org/licenses/LICENSE-2.0 --> |
| |
| <!--- Unless required by applicable law or agreed to in writing, --> |
| <!--- software distributed under the License is distributed on an --> |
| <!--- "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY --> |
| <!--- KIND, either express or implied. See the License for the --> |
| <!--- specific language governing permissions and limitations --> |
| <!--- under the License. --> |
| |
| # Tutorials |
| |
| ```eval_rst |
| .. toctree:: |
| :hidden: |
| |
| basic/index.md |
| c++/index.md |
| control_flow/index.md |
| embedded/index.md |
| gluon/index.md |
| java/index.md |
| mkldnn/index.md |
| nlp/index.md |
| onnx/index.md |
| python/index.md |
| r/index.md |
| scala/index.md |
| sparse/index.md |
| speech_recognition/index.md |
| tensorrt/index.md |
| unsupervised_learning/index.md |
| vision/index.md |
| ``` |
| |
| MXNet tutorials can be found in this section. A variety of language bindings are available for MXNet (including Python, Scala, Java, Clojure, C++ and R) and we have a different tutorial section for each language. |
| |
| Are you new to MXNet, and don't have a preference on language? We currently recommend starting with Python, and specifically the Gluon APIs (versus Module APIs) as they're more flexible and easier to debug. |
| |
| Another great resource for learning MXNet is our [examples section](https://github.com/apache/incubator-mxnet/tree/master/example) which includes a wide variety of models (from basic to state-of-the-art) for a wide variety of tasks including: object detection, style transfer, reinforcement learning, and many others. |
| |
| **Contents:** |
| * [Python Tutorials](#python-tutorials) |
| * [Scala Tutorials](#scala-tutorials) |
| * [Java Tutorials](#java-tutorials) |
| * [Clojure Tutorials](#clojure-tutorials) |
| * [C++ Tutorials](#c---tutorials) |
| * [R Tutorials](#r-tutorials) |
| * [Perl Tutorials](#perl-tutorials) |
| * [Contributing Tutorials](#contributing-tutorials) |
| |
| <hr> |
| |
| ## Python Tutorials |
| |
| We have two types of API available for Python: Gluon APIs and Module APIs. [See here](/api/python/gluon/gluon.html) for a comparison. |
| |
| A comprehensive introduction to Gluon can be found at [Dive into Deep Learning](http://www.d2l.ai/). Structured like a book, it build up from first principles of deep learning and take a theoretical walkthrough of progressively more complex models using the Gluon API. Also check out the [60-Minute Gluon Crash Course](http://gluon-crash-course.mxnet.io/) if you're short on time or have used other deep learning frameworks before. |
| |
| Use the tutorial selector below to filter to the relevant tutorials. You might see a download link in the top right corner of some tutorials. Use this to download a Jupyter Notebook version of the tutorial, and re-run and adjust the code as you wish. |
| |
| <script type="text/javascript" src='../_static/js/options.js'></script> |
| <!-- Gluon vs Module --> |
| |
| Select API: |
| <div class="btn-group opt-group" role="group"> |
| <button type="button" class="btn btn-default opt active" style="font-size:22px">Gluon</button> |
| <button type="button" class="btn btn-default opt" style="font-size:22px">Module</button> |
| </div> |
| <!-- END - Main Menu --> |
| <br> |
| <div class="gluon"> |
| |
| * Getting Started |
| * [60-Minute Gluon Crash Course](http://gluon-crash-course.mxnet.io/) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [MNIST Handwritten Digit Classification](/tutorials/gluon/mnist.html) |
| * Models |
| * [Model Zoo: using pre-trained models](/tutorials/gluon/pretrained_models.html) |
| * [Linear Regression](http://gluon.mxnet.io/chapter02_supervised-learning/linear-regression-gluon.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [Logistic Regression](/tutorials/gluon/logistic_regression_explained.html) |
| * [Word-level text generation with RNN, LSTM and GRU](http://gluon.mxnet.io/chapter05_recurrent-neural-networks/rnns-gluon.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [Visual Question Answering](http://gluon.mxnet.io/chapter08_computer-vision/visual-question-answer.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [Image similiarity search with InfoGAN](/tutorials/gluon/info_gan.html) |
| * Practitioner Guides |
| * [Gotchas using NumPy](/tutorials/gluon/gotchas_numpy_in_mxnet.html) |
| * [Multi-GPU training](http://gluon.mxnet.io/chapter07_distributed-learning/multiple-gpus-gluon.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [Checkpointing and Model Serialization (a.k.a. saving and loading)](/tutorials/gluon/save_load_params.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> ([Alternative](http://gluon.mxnet.io/chapter03_deep-neural-networks/serialization.html)) |
| * [Distributed Training](https://github.com/apache/incubator-mxnet/tree/master/example/distributed_training) |
| * [Inference using an ONNX model](/tutorials/onnx/inference_on_onnx_model.html) |
| * [Fine-tuning an ONNX model on Gluon](/tutorials/onnx/fine_tuning_gluon.html) |
| * [Visualizing Decisions of Convolutional Neural Networks](/tutorials/vision/cnn_visualization.html) |
| * [Learning Rate Finder](/tutorials/gluon/learning_rate_finder.html) |
| * [Learning Rate Schedules](/tutorials/gluon/learning_rate_schedules.html) |
| * [Advanced Learning Rate Schedules](/tutorials/gluon/learning_rate_schedules_advanced.html) |
| * [Profiling MXNet Models](/tutorials/python/profiler.html) |
| * [Module to Gluon API](/tutorials/python/module_to_gluon.html)<span style="color:red"> (new!)</span> |
| * [Gluon end to end from training to inference](/tutorials/gluon/gluon_from_experiment_to_deployment.html) |
| |
| * API Guides |
| * Core APIs |
| * NDArray |
| * [NDArray API](/tutorials/gluon/ndarray.html) ([Alternative](http://gluon.mxnet.io/chapter01_crashcourse/ndarray.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/>) |
| * [Advanced NDArray API](/tutorials/basic/ndarray.html) |
| * [Difference between reshape and transpose](/tutorials/basic/reshape_transpose.html) |
| * [NDArray Indexing](https://mxnet.incubator.apache.org/tutorials/basic/ndarray_indexing.html) |
| * Sparse NDArray |
| * [Sparse Gradient Updates (RowSparseNDArray)](/tutorials/sparse/row_sparse.html) |
| * [Compressed Sparse Row Storage Format (CSRNDArray)](/tutorials/sparse/csr.html) |
| * [Linear Regression with Sparse Symbols](/tutorials/sparse/train.html) |
| * Symbol |
| * [Symbol API](/tutorials/basic/symbol.html) (Caution: written before Gluon existed) |
| * KVStore |
| * [Key-Value Store API](/tutorials/python/kvstore.html) |
| * Gluon APIs |
| * Blocks and Operators |
| * [Blocks](/tutorials/gluon/gluon.html) ([Alternative](http://gluon.mxnet.io/chapter03_deep-neural-networks/plumbing.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/>) |
| * [Custom Blocks](/tutorials/gluon/custom_layer.html) ([Alternative](http://gluon.mxnet.io/chapter03_deep-neural-networks/custom-layer.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/>) |
| * [HybridBlocks](/tutorials/gluon/hybrid.html) ([Alternative](http://gluon.mxnet.io/chapter07_distributed-learning/hybridize.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/>) |
| * [Block Naming](/tutorials/gluon/naming.html) |
| * [Custom Operators](/tutorials/gluon/customop.html) |
| * [Control Flow operators](/tutorials/control_flow/ControlFlowTutorial.html)<span style="color:red"> (new!)</span> |
| * Autograd |
| * [AutoGrad API](/tutorials/gluon/autograd.html) |
| * [AutoGrad API with chain rule](http://gluon.mxnet.io/chapter01_crashcourse/autograd.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * [AutoGrad API with Python control flow](http://gluon-crash-course.mxnet.io/autograd.html) <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/External_link_font_awesome.svg" alt="External link" height="15px" style="margin: 0px 0px 3px 3px;"/> |
| * Data |
| * [Datasets and DataLoaders](/tutorials/gluon/datasets.html) |
| * [Applying Data Augmentation](/tutorials/gluon/data_augmentation.html) |
| * [Data Augmentation with Masks (for Object Segmentation)](https://mxnet.incubator.apache.org/tutorials/python/data_augmentation_with_masks.html) |
| </div> <!--end of gluon--> |
| |
| <div class="module"> |
| |
| * Getting Started |
| * [Module API](/tutorials/basic/module.html) |
| * [MNIST Handwritten Digit Classification](/tutorials/python/mnist.html) |
| * Models |
| * [Linear Regression](/tutorials/python/linear-regression.html) |
| * [Linear Regression with Sparse Symbols](/tutorials/sparse/train.html) |
| * [MNIST Handwritten Digit Classification](/tutorials/python/mnist.html) |
| * [Movie Review Classification using Convolutional Networks](/tutorials/nlp/cnn.html) |
| * [Generative Adversarial Networks (GANs)](/tutorials/unsupervised_learning/gan.html) |
| * [Speech Recognition with Connectionist Temporal Classification Loss](/tutorials/speech_recognition/ctc.html) |
| * Practitioner Guides |
| * [Predicting on new images using a pre-trained ImageNet model](/tutorials/python/predict_image.html) |
| * [Fine-Tuning a pre-trained ImageNet model with a new dataset](/faq/finetune.html) |
| * [Large-Scale Multi-Host Multi-GPU Image Classification](/tutorials/vision/large_scale_classification.html) |
| * [Importing an ONNX model into MXNet](/tutorials/onnx/super_resolution.html) |
| * [Optimizing Deep Learning Computation Graphs with TensorRT](/tutorials/tensorrt/inference_with_trt.html) |
| * [How to build and install MXNet with MKL-DNN backend](/tutorials/mkldnn/MKLDNN_README.html) |
| * API Guides |
| * Core APIs |
| * NDArray |
| * [NDArray API](/tutorials/gluon/ndarray.html) |
| * [Advanced NDArray API](/tutorials/basic/ndarray.html) |
| * [NDArray Indexing](/tutorials/basic/ndarray_indexing.html) |
| * Sparse NDArray |
| * [Sparse Gradient Updates (RowSparseNDArray)](/tutorials/sparse/row_sparse.html) |
| * [Compressed Sparse Row Storage Format (CSRNDArray)](/tutorials/sparse/csr.html) |
| * [Linear Regression with Sparse Symbols](/tutorials/sparse/train.html) |
| * Symbol |
| * [Symbol API](/tutorials/basic/symbol.html) |
| * KVStore |
| * [Key-Value Store API](/tutorials/python/kvstore.html) |
| * Module APIs |
| * [Module API](/tutorials/basic/module.html) |
| * Data |
| * [Data Iterators](/tutorials/basic/data.html) |
| * [Applying Data Augmentation](/tutorials/python/data_augmentation.html) |
| * [Types of Data Augmentation](/tutorials/python/types_of_data_augmentation.html) |
| </div> <!--end of module--> |
| |
| <hr> |
| |
| ## Scala Tutorials |
| * [MXNet-Scala Tutorials Overview](/tutorials/scala/) |
| * Getting Started |
| * [MXNet and JetBrain's IntelliJ](/tutorials/scala/mxnet_scala_on_intellij.html) |
| * Models |
| * [MNIST Handwritten Digit Recognition with Fully Connected Network](/tutorials/scala/mnist.html) |
| * [Barack Obama speech generation with Character-level LSTM](/tutorials/scala/char_lstm.html) |
| * [MXNet-Scala Examples](https://github.com/apache/incubator-mxnet/tree/master/scala-package/examples/src/main/scala/org/apache/mxnetexamples) |
| <hr> |
| |
| ## Java Tutorials |
| * Getting Started |
| * [Developer Environment Setup on IntelliJ IDE](/tutorials/java/mxnet_java_on_intellij.html) |
| * [Multi Object Detection using pre-trained Single Shot Detector (SSD) Model](/tutorials/java/ssd_inference.html) |
| * [MXNet-Java Examples](https://github.com/apache/incubator-mxnet/tree/master/scala-package/examples/src/main/java/org/apache/mxnetexamples/javaapi/infer) |
| <hr> |
| |
| ## Clojure Tutorials |
| * [How to use the NDArray API to perform vector/matrix/tensor operations](../api/clojure/ndarray.html) |
| * [Multi-GPU and multi-host distributed training with the KVStore API](../api/clojure/kvstore.html) |
| * [How to use the Symbol API to assemble neural networks from layers](../api/clojure/symbol.html) |
| * [How to use the Module API](../api/clojure/module.html) (deprecated) |
| <hr> |
| |
| ## C++ Tutorials |
| |
| * Models |
| * [MNIST Handwritten Digit Recognition with Fully Connected Network](/tutorials/c%2B%2B/basics.html) |
| |
| * Backends |
| * [Subgraph API](/tutorials/c%2B%2B/subgraphAPI.html) |
| |
| * Inference |
| * [C++ Inference](/tutorials/c%2B%2B/mxnet_cpp_inference_tutorial.html) |
| |
| <hr> |
| |
| ## R Tutorials |
| |
| * Getting Started |
| * [Basic Classification & Regression](/tutorials/r/fiveMinutesNeuralNetwork.html) |
| * [Using a pre-trained model for Image Classification](/tutorials/r/classifyRealImageWithPretrainedModel.html) |
| * Models |
| * [MNIST Handwritten Digit Classification with Convolutional Network](/tutorials/r/mnistCompetition.html) |
| * [Shakespeare generation with Character-level RNN](/tutorials/r/charRnnModel.html) |
| * API Guides |
| * [NDArray API](/tutorials/r/ndarray.html) |
| * [Symbol API](/tutorials/r/symbol.html) |
| * [Callbacks](/tutorials/r/CallbackFunction.html) |
| * [Custom Data Iterators](/tutorials/r/CustomIterator.html) |
| * [Custom Loss Functions](/tutorials/r/CustomLossFunction.html) |
| |
| <hr> |
| |
| ## Perl Tutorials |
| |
| * Getting Started |
| * [Machine learning in Perl](http://blogs.perl.org/users/sergey_kolychev/2017/02/machine-learning-in-perl.html) |
| * [Calculator and Robo-Shakespeare](http://blogs.perl.org/users/sergey_kolychev/2017/04/machine-learning-in-perl-part2-a-calculator-handwritten-digits-and-roboshakespeare.html) |
| * Gluon |
| * [DCGAN](http://blogs.perl.org/users/sergey_kolychev/2017/10/machine-learning-in-perl-part3-deep-convolutional-generative-adversarial-network.html) |
| * [Image classification and Style transfer](http://blogs.perl.org/users/sergey_kolychev/2018/07/machine-learning-in-perl-kyuubi-goes-to-a-modelzoo-during-the-starry-night.html) |
| |
| <hr> |
| |
| ## Contributing Tutorials |
| |
| We really appreciate contributions, and tutorials are a great way to share your knowledge and help the community. After you have followed [these steps](https://github.com/apache/incubator-mxnet/tree/master/example#contributing), please submit a pull request on Github. |
| |
| And if you have any feedback on this section please raise an issue on Github. |