piiswrong commented on a change in pull request #10621: Updated tutorials page. URL: https://github.com/apache/incubator-mxnet/pull/10621#discussion_r183117310
########## File path: docs/tutorials/index.md ########## @@ -1,269 +1,153 @@ # Tutorials -MXNet has two primary high-level interfaces for its deep learning engine: the Gluon API and the Module API. Tutorials for each are provided below. +MXNet tutorials can be found in this section. A variety of language bindings are available for MXNet (including Python, Scala, C++ and R) and we have a different tutorial section for each language. -`TL;DR:` If you are new to deep learning or MXNet, you should start with the Gluon tutorials. +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. -The difference between the two is an imperative versus symbolic programming style. Gluon makes it easy to prototype, build, and train deep learning models without sacrificing training speed by enabling both (1) intuitive imperative Python code development and (2) faster execution by automatically generating a symbolic execution graph using the hybridization feature. +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. -The Gluon and Module tutorials are in Python, but you can also find a variety of other MXNet tutorials, such as R, Scala, and C++ in the [Other Languages API Tutorials](#other-mxnet-api-tutorials) section below. +<hr> -[Example scripts and applications](#example-scripts-and-applications) as well as [contribution](#contributing-tutorials) info is below. +## Python Tutorials -<script type="text/javascript" src='../_static/js/options.js'></script> +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 [The Straight Dope](http://gluon.mxnet.io/). 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. -## Python API Tutorials +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> - - -<!-- Levels --> -<div class="gluon module"> -<div class="btn-group opt-group" role="group"> - <button type="button" class="btn btn-default opt active">Introduction</button> - <button type="button" class="btn btn-default opt">Applications</button> -</div> -</div> - - -<!-- introduction Topics --> -<div class="introduction"> -<div class="btn-group opt-group" role="group"> - <button type="button" class="btn btn-default opt active">Basics</button> - <button type="button" class="btn btn-default opt">Neural Networks</button> - <button type="button" class="btn btn-default opt">Advanced</button> -</div> -</div> - - -<!-- Intermediate Topics -<div class="intermediate"> -<div class="btn-group opt-group" role="group"> - <button type="button" class="btn btn-default opt active">Image Recognition</button> - <button type="button" class="btn btn-default opt">Human Language</button> - <button type="button" class="btn btn-default opt">Recommender Systems</button> - <button type="button" class="btn btn-default opt">Customization</button> -</div> -</div> ---> - -<!-- Advanced Topics -<div class="advanced"> -<div class="btn-group opt-group" role="group"> - <button type="button" class="btn btn-default opt active">Distributed Training</button> - <button type="button" class="btn btn-default opt">Optimization</button> - <button type="button" class="btn btn-default opt">Adversarial Networks</button> -</div> -</div> ---> <!-- END - Main Menu --> -<hr> - +<br> <div class="gluon"> -<div class="introduction"> - - -<div class="basics"> - -- [Manipulate data the MXNet way with ndarray](http://gluon.mxnet.io/chapter01_crashcourse/ndarray.html) - -- [Automatic differentiation with autograd](http://gluon.mxnet.io/chapter01_crashcourse/autograd.html) - -- [Linear regression with gluon](http://gluon.mxnet.io/chapter02_supervised-learning/linear-regression-gluon.html) - -- [Serialization - saving, loading and checkpointing](http://gluon.mxnet.io/chapter03_deep-neural-networks/serialization.html) - -- [Gluon Datasets and DataLoaders](http://mxnet.incubator.apache.org/tutorials/gluon/datasets.html) - -</div> - - -<div class="neural-networks"> - -- [Multilayer perceptrons in gluon](http://gluon.mxnet.io/chapter03_deep-neural-networks/mlp-gluon.html) - -- [Multi-class object detection using CNNs in gluon](http://gluon.mxnet.io/chapter04_convolutional-neural-networks/cnn-gluon.html) - -- [Advanced RNNs with gluon](http://gluon.mxnet.io/chapter05_recurrent-neural-networks/rnns-gluon.html) - -</div> - - -<div class="advanced"> - -- [Plumbing: A look under the hood of gluon](http://gluon.mxnet.io/chapter03_deep-neural-networks/plumbing.html) - -- [Designing a custom layer with gluon](http://gluon.mxnet.io/chapter03_deep-neural-networks/custom-layer.html) - -- [Block and Parameter naming](/tutorials/gluon/naming.html) - -- [Fast, portable neural networks with Gluon HybridBlocks](http://gluon.mxnet.io/chapter07_distributed-learning/hybridize.html) - -- [Training on multiple GPUs with gluon](http://gluon.mxnet.io/chapter07_distributed-learning/multiple-gpus-gluon.html) - -- [Applying data augmentation](/tutorials/gluon/data_augmentation.html) - -</div> - -</div> <!--end of introduction--> - - -<div class="applications"> - -- [Creating custom operators with numpy](/tutorials/gluon/customop.html) - -- [Handwritten digit recognition (MNIST)](/tutorials/gluon/mnist.html) - -- [Hybrid network example](/tutorials/gluon/hybrid.html) - -- [Neural network building blocks with gluon](/tutorials/gluon/gluon.html) - -- [Simple autograd example](/tutorials/gluon/autograd.html) - -- [Data Augmentation with Masks (for Object Segmentation)](/tutorials/python/data_augmentation_with_masks.html) - -- [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) - -</div> <!--end of applications--> +* 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 + * [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;"/> + * [MNIST Handwritten Digit Classification](/tutorials/gluon/mnist.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;"/> +* Practitioner Guides + * [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)](http://gluon.mxnet.io/chapter03_deep-neural-networks/serialization.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;"/> + * [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) +* API Guides + * Core APIs + * NDArray + * [NDArray API](/tutorials/gluon/ndarray.html) + * [NDArray API](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;"/> Review comment: I don't think we should list two versions for each. We should either merge them or pick the better one ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services