From aeb33ad9a1bbf3e3e02f7df749388537a1cdc37d Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 27 Jul 2018 08:51:01 -0700 Subject: [PATCH 1/7] new toctrees and index pages to reduce sphinx warnings and errors --- docs/api/clojure/index.md | 11 ++ docs/api/index.md | 14 +++ docs/api/python/index.md | 100 +++++++++++------- docs/api/scala/index.md | 14 +++ docs/architecture/index.md | 18 ++-- docs/community/index.md | 11 ++ docs/faq/index.md | 8 ++ docs/index.md | 27 ++--- docs/tutorials/basic/index.md | 8 ++ docs/tutorials/c++/index.md | 8 ++ docs/tutorials/embedded/index.md | 8 ++ docs/tutorials/gluon/index.md | 8 ++ docs/tutorials/index.md | 19 ++++ docs/tutorials/nlp/index.md | 8 ++ docs/tutorials/onnx/index.md | 8 ++ docs/tutorials/python/index.md | 8 ++ docs/tutorials/r/index.md | 13 +-- docs/tutorials/sparse/index.md | 8 ++ docs/tutorials/speech_recognition/index.md | 8 ++ docs/tutorials/unsupervised_learning/index.md | 8 ++ docs/tutorials/vision/index.md | 8 ++ 21 files changed, 252 insertions(+), 71 deletions(-) create mode 100644 docs/api/index.md create mode 100644 docs/community/index.md create mode 100644 docs/tutorials/basic/index.md create mode 100644 docs/tutorials/c++/index.md create mode 100644 docs/tutorials/embedded/index.md create mode 100644 docs/tutorials/gluon/index.md create mode 100644 docs/tutorials/nlp/index.md create mode 100644 docs/tutorials/onnx/index.md create mode 100644 docs/tutorials/python/index.md create mode 100644 docs/tutorials/sparse/index.md create mode 100644 docs/tutorials/speech_recognition/index.md create mode 100644 docs/tutorials/unsupervised_learning/index.md create mode 100644 docs/tutorials/vision/index.md diff --git a/docs/api/clojure/index.md b/docs/api/clojure/index.md index 3eeffff0a4e6..32abbe06ad79 100644 --- a/docs/api/clojure/index.md +++ b/docs/api/clojure/index.md @@ -1,9 +1,20 @@ # MXNet - Clojure API + MXNet supports the Clojure programming language. The MXNet Clojure package brings flexible and efficient GPU computing and state-of-art deep learning to Clojure. It enables you to write seamless tensor/matrix computation with multiple GPUs in Clojure. It also lets you construct and customize the state-of-art deep learning models in Clojure, and apply them to tasks, such as image classification and data science challenges. See the [MXNet Clojure API Documentation](docs/index.html) for detailed API information. +```eval_rst +.. toctree:: + :maxdepth: 1 + + kvstore.md + module.md + ndarray.md + symbol_in_pictures.md + symbol.md +``` ## Tensor and Matrix Computations You can perform tensor or matrix computation in pure Clojure: diff --git a/docs/api/index.md b/docs/api/index.md new file mode 100644 index 000000000000..eff6807678ea --- /dev/null +++ b/docs/api/index.md @@ -0,0 +1,14 @@ +# MXNet APIs + +```eval_rst +.. toctree:: + :maxdepth: 1 + + c++/index.md + clojure/index.md + julia/index.md + perl/index.md + python/index.md + r/index.md + scala/index.md +``` diff --git a/docs/api/python/index.md b/docs/api/python/index.md index 420f4c9b72f6..42c4af9e46b5 100644 --- a/docs/api/python/index.md +++ b/docs/api/python/index.md @@ -17,58 +17,41 @@ Code examples are placed throughout the API documentation and these can be run a ```eval_rst .. note:: A convenient way to execute code examples is using the ``%doctest_mode`` mode of - Jupyter notebook, which allows for pasting multi-line examples containing - ``>>>`` while preserving indentation. Run ``%doctest_mode?`` in Jupyter notebook - for more details. + Jupyter notebook, which allows for pasting multi-line examples containing + ``>>>`` while preserving indentation. Run ``%doctest_mode?`` in Jupyter notebook + for more details. ``` \* Some old references to Model API may exist, but this API has been deprecated. -## NDArray API - -```eval_rst -.. toctree:: - :maxdepth: 1 - - ndarray/ndarray.md - ndarray/random.md - ndarray/linalg.md - ndarray/sparse.md - ndarray/contrib.md -``` - -## Symbol API +## Autograd API ```eval_rst .. toctree:: :maxdepth: 1 - symbol/symbol.md - symbol/random.md - symbol/linalg.md - symbol/sparse.md - symbol/contrib.md - symbol/rnn.md + autograd/autograd.md ``` -## Module API +## Callback API ```eval_rst .. toctree:: :maxdepth: 1 - module/module.md - executor/executor.md + callback/callback.md ``` -## Autograd API +## Contrib Package ```eval_rst .. toctree:: :maxdepth: 1 - autograd/autograd.md + contrib/contrib.md + contrib/text.md + contrib/onnx.md ``` ## Gluon API @@ -86,6 +69,15 @@ Code examples are placed throughout the API documentation and these can be run a gluon/contrib.md ``` +## Image API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + image/image.md +``` + ## IO API ```eval_rst @@ -95,40 +87,54 @@ Code examples are placed throughout the API documentation and these can be run a io/io.md ``` -## Image API +## KV Store API ```eval_rst .. toctree:: :maxdepth: 1 - image/image.md + kvstore/kvstore.md ``` -## Optimization API +## Metric API ```eval_rst .. toctree:: :maxdepth: 1 - optimization/optimization.md + metric/metric.md ``` -## Callback API +## Module API ```eval_rst .. toctree:: :maxdepth: 1 - callback/callback.md + module/module.md + executor/executor.md ``` -## Metric API +## NDArray API ```eval_rst .. toctree:: :maxdepth: 1 - metric/metric.md + ndarray/ndarray.md + ndarray/random.md + ndarray/linalg.md + ndarray/sparse.md + ndarray/contrib.md +``` + +## Optimization API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + optimization/optimization.md ``` ## Profiler API @@ -144,18 +150,30 @@ Code examples are placed throughout the API documentation and these can be run a ```eval_rst .. toctree:: - :maxdepth 1 + :maxdepth: 1 rtc/rtc.md ``` -## Contrib Package +## Symbol API ```eval_rst .. toctree:: :maxdepth: 1 - contrib/contrib.md - contrib/text.md - contrib/onnx.md + symbol/symbol.md + symbol/random.md + symbol/linalg.md + symbol/sparse.md + symbol/contrib.md + symbol/rnn.md +``` + +## Symbol in Pictures API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + symbol_in_pictures/symbol_in_pictures.md ``` diff --git a/docs/api/scala/index.md b/docs/api/scala/index.md index e96892b58003..8b32c9fe9e22 100644 --- a/docs/api/scala/index.md +++ b/docs/api/scala/index.md @@ -1,9 +1,23 @@ # MXNet - Scala API + MXNet supports the Scala programming language. The MXNet Scala package brings flexible and efficient GPU computing and state-of-art deep learning to Scala. It enables you to write seamless tensor/matrix computation with multiple GPUs in Scala. It also lets you construct and customize the state-of-art deep learning models in Scala, and apply them to tasks, such as image classification and data science challenges. See the [MXNet Scala API Documentation](docs/index.html#org.apache.mxnet.package) for detailed API information. +```eval_rst +.. toctree:: + :maxdepth: 1 + + infer.md + io.md + kvstore.md + model.md + module.md + ndarray.md + symbol_in_pictures.md + symbol.md +``` ## Image Classification with the Scala Infer API The Infer API can be used for single and batch image classification. More information can be found at the following locations: diff --git a/docs/architecture/index.md b/docs/architecture/index.md index 91fb5f51d7b2..189e76e62fa5 100644 --- a/docs/architecture/index.md +++ b/docs/architecture/index.md @@ -15,9 +15,15 @@ Mainly, they focus on the following 3 areas: abstraction, optimization, and trade-offs between efficiency and flexibility. Additionally, we provide an overview of the complete MXNet system. -* [MXNet System Overview](http://mxnet.io/architecture/overview.html) -* [Deep Learning Programming Style: Symbolic vs Imperative](http://mxnet.io/architecture/program_model.html) -* [Dependency Engine for Deep Learning](http://mxnet.io/architecture/note_engine.html) -* [Optimizing the Memory Consumption in Deep Learning](http://mxnet.io/architecture/note_memory.html) -* [Efficient Data Loading Module for Deep Learning](http://mxnet.io/architecture/note_data_loading.html) -* [Exception Handling in MXNet](http://mxnet.io/architecture/exception_handling.html) +```eval_rst +.. toctree:: + :maxdepth: 1 + + overview.md + program_model.md + note_engine.md + note_memory.md + note_data_loading.md + exception_handling.md + rnn_interface.md +``` diff --git a/docs/community/index.md b/docs/community/index.md new file mode 100644 index 000000000000..7bdb1c213503 --- /dev/null +++ b/docs/community/index.md @@ -0,0 +1,11 @@ +# MXNet Community + +```eval_rst +.. toctree:: + :maxdepth: 1 + + contribute.md + ecosystem.md + powered_by.md + mxnet_channels.md +``` diff --git a/docs/faq/index.md b/docs/faq/index.md index c351bc90dba1..ce26b67a8066 100644 --- a/docs/faq/index.md +++ b/docs/faq/index.md @@ -1,5 +1,13 @@ # MXNet FAQ +```eval_rst +.. toctree:: + :hidden: + :glob: + + * +``` + This section addresses common questions about how to use _MXNet_. These include performance issues, e.g., how to train with multiple GPUs. They also include workflow questions, e.g., how to visualize a neural network computation graph. These answers are fairly focused. For more didactic, self-contained introductions to neural networks diff --git a/docs/index.md b/docs/index.md index 7e251131fee3..ab6a95dc0ddd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,14 +1,15 @@ -Contents --------- -These are used to generate the indexes for search functionality. +# MXNet -- [Python Documents](api/python/index.md) -- [R Documents](api/r/index.md) -- [Julia Documents](api/julia/index.md) -- [C++ Documents](api/c++/index.md) -- [Scala Documents](api/scala/index.md) -- [Perl Documents](api/perl/index.md) -- [HowTo Documents](faq/index.md) -- [System Documents](architecture/index.md) -- [Tutorials](tutorials/index.md) -- [Community](community/contribute.md) +```eval_rst +.. toctree:: + :maxdepth: 1 + + api/index.md + architecture/index.md + community/index.md + faq/index.md + gluon/index.md + install/index.md + model_zoo/index.md + tutorials/index.md +``` diff --git a/docs/tutorials/basic/index.md b/docs/tutorials/basic/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/basic/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/c++/index.md b/docs/tutorials/c++/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/c++/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/embedded/index.md b/docs/tutorials/embedded/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/embedded/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/gluon/index.md b/docs/tutorials/gluon/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/gluon/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index 57bfec7cddda..3f552a998382 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -1,5 +1,24 @@ # Tutorials +```eval_rst +.. toctree:: + :hidden: + + basic/index.md + c++/index.md + embedded/index.md + gluon/index.md + nlp/index.md + onnx/index.md + python/index.md + r/index.md + scala/index.md + sparse/index.md + speech_recognition/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, 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. diff --git a/docs/tutorials/nlp/index.md b/docs/tutorials/nlp/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/nlp/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/onnx/index.md b/docs/tutorials/onnx/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/onnx/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/python/index.md b/docs/tutorials/python/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/python/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/r/index.md b/docs/tutorials/r/index.md index 4692e7adce7e..fbc8911f2a6d 100644 --- a/docs/tutorials/r/index.md +++ b/docs/tutorials/r/index.md @@ -4,18 +4,9 @@ These tutorials introduce a few fundamental concepts in deep learning and how to ```eval_rst .. toctree:: - :maxdepth: 1 + :glob: - ndarray - symbol - fiveMinutesNeuralNetwork - classifyRealImageWithPretrainedModel - mnistCompetition - CatsDogsFinetune - CharRnnModel - CallbackFunction - CustomIterator - CustomLossFunction + * ```
diff --git a/docs/tutorials/sparse/index.md b/docs/tutorials/sparse/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/sparse/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/speech_recognition/index.md b/docs/tutorials/speech_recognition/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/speech_recognition/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/unsupervised_learning/index.md b/docs/tutorials/unsupervised_learning/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/unsupervised_learning/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/vision/index.md b/docs/tutorials/vision/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/vision/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` From f1656844ce87633b59305cfef09b313d5ff2d865 Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 27 Jul 2018 08:58:12 -0700 Subject: [PATCH 2/7] exclude depricated and working dirs; update config add title, fix render errors, fix inaccurate text --- docs/conf.py | 8 ++++---- docs/gluon/index.md | 14 ++++++++------ 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index d018408d455a..0d82221755bc 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -33,13 +33,13 @@ # -- General configuration ----------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. -needs_sphinx = '1.2' +needs_sphinx = '1.5.6' # General information about the project. project = u'mxnet' author = u'%s developers' % project -copyright = u'2015-2017, %s' % author -github_doc_root = 'https://github.com/dmlc/mxnet/tree/master/docs/' +copyright = u'2015-2018, %s' % author +github_doc_root = 'https://github.com/apache/incubator-mxnet/tree/master/docs/' doc_root = 'http://mxnet.io/' # add markdown parser @@ -107,7 +107,7 @@ # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. -exclude_patterns = ['virtualenv'] +exclude_patterns = ['build_version_doc', 'install', 'virtualenv', 'api/python/model.md', 'README.md'] # The reST default role (used for this markup: `text`) to use for all documents. #default_role = None diff --git a/docs/gluon/index.md b/docs/gluon/index.md index 4bea06edcabf..c0d9053cd2c1 100644 --- a/docs/gluon/index.md +++ b/docs/gluon/index.md @@ -1,9 +1,11 @@ -![](https://github.com/dmlc/web-data/blob/master/mxnet/image/image-gluon-logo.png?raw=true) +# About Gluon + +![gluon logo](https://github.com/dmlc/web-data/blob/master/mxnet/image/image-gluon-logo.png?raw=true) Based on the [the Gluon API specification](https://github.com/gluon-api/gluon-api), the new Gluon library in Apache MXNet provides a clear, concise, and simple API for deep learning. It makes it easy to prototype, build, and train deep learning models without sacrificing training speed. Install the latest version of MXNet to get access to Gluon by either following these easy steps or using this simple command: -```python - pip install mxnet --pre --user +```bash + pip install mxnet ```
@@ -39,8 +41,8 @@ Use plug-and-play neural network building blocks, including predefined layers, o ```python net = gluon.nn.Sequential() -# When instantiated, Sequential stores a chain of neural network layers. -# Once presented with data, Sequential executes each layer in turn, using +# When instantiated, Sequential stores a chain of neural network layers. +# Once presented with data, Sequential executes each layer in turn, using # the output of one layer as the input for the next with net.name_scope(): net.add(gluon.nn.Dense(256, activation="relu")) # 1st layer (256 nodes) @@ -81,7 +83,7 @@ def forward(self, F, inputs, tree):
**__High Performance__** -Easily cache the neural network to achieve high performance by defining your neural network with ``HybridSequential`` and calling the ``hybridize`` method: +Easily cache the neural network to achieve high performance by defining your neural network with ``HybridSequential`` and calling the ``hybridize`` method: ```python net = nn.HybridSequential() From 1be9655054b2cbf4de781b45b0894f6b58744613 Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 27 Jul 2018 08:51:01 -0700 Subject: [PATCH 3/7] new toctrees and index pages to reduce sphinx warnings and errors --- docs/api/clojure/index.md | 11 ++ docs/api/index.md | 14 +++ docs/api/python/index.md | 100 +++++++++++------- docs/api/scala/index.md | 14 +++ docs/architecture/index.md | 18 ++-- docs/community/index.md | 11 ++ docs/faq/index.md | 8 ++ docs/index.md | 27 ++--- docs/tutorials/basic/index.md | 8 ++ docs/tutorials/c++/index.md | 8 ++ docs/tutorials/embedded/index.md | 8 ++ docs/tutorials/gluon/index.md | 8 ++ docs/tutorials/index.md | 19 ++++ docs/tutorials/nlp/index.md | 8 ++ docs/tutorials/onnx/index.md | 8 ++ docs/tutorials/python/index.md | 8 ++ docs/tutorials/r/index.md | 13 +-- docs/tutorials/sparse/index.md | 8 ++ docs/tutorials/speech_recognition/index.md | 8 ++ docs/tutorials/unsupervised_learning/index.md | 8 ++ docs/tutorials/vision/index.md | 8 ++ 21 files changed, 252 insertions(+), 71 deletions(-) create mode 100644 docs/api/index.md create mode 100644 docs/community/index.md create mode 100644 docs/tutorials/basic/index.md create mode 100644 docs/tutorials/c++/index.md create mode 100644 docs/tutorials/embedded/index.md create mode 100644 docs/tutorials/gluon/index.md create mode 100644 docs/tutorials/nlp/index.md create mode 100644 docs/tutorials/onnx/index.md create mode 100644 docs/tutorials/python/index.md create mode 100644 docs/tutorials/sparse/index.md create mode 100644 docs/tutorials/speech_recognition/index.md create mode 100644 docs/tutorials/unsupervised_learning/index.md create mode 100644 docs/tutorials/vision/index.md diff --git a/docs/api/clojure/index.md b/docs/api/clojure/index.md index 3eeffff0a4e6..32abbe06ad79 100644 --- a/docs/api/clojure/index.md +++ b/docs/api/clojure/index.md @@ -1,9 +1,20 @@ # MXNet - Clojure API + MXNet supports the Clojure programming language. The MXNet Clojure package brings flexible and efficient GPU computing and state-of-art deep learning to Clojure. It enables you to write seamless tensor/matrix computation with multiple GPUs in Clojure. It also lets you construct and customize the state-of-art deep learning models in Clojure, and apply them to tasks, such as image classification and data science challenges. See the [MXNet Clojure API Documentation](docs/index.html) for detailed API information. +```eval_rst +.. toctree:: + :maxdepth: 1 + + kvstore.md + module.md + ndarray.md + symbol_in_pictures.md + symbol.md +``` ## Tensor and Matrix Computations You can perform tensor or matrix computation in pure Clojure: diff --git a/docs/api/index.md b/docs/api/index.md new file mode 100644 index 000000000000..eff6807678ea --- /dev/null +++ b/docs/api/index.md @@ -0,0 +1,14 @@ +# MXNet APIs + +```eval_rst +.. toctree:: + :maxdepth: 1 + + c++/index.md + clojure/index.md + julia/index.md + perl/index.md + python/index.md + r/index.md + scala/index.md +``` diff --git a/docs/api/python/index.md b/docs/api/python/index.md index 420f4c9b72f6..42c4af9e46b5 100644 --- a/docs/api/python/index.md +++ b/docs/api/python/index.md @@ -17,58 +17,41 @@ Code examples are placed throughout the API documentation and these can be run a ```eval_rst .. note:: A convenient way to execute code examples is using the ``%doctest_mode`` mode of - Jupyter notebook, which allows for pasting multi-line examples containing - ``>>>`` while preserving indentation. Run ``%doctest_mode?`` in Jupyter notebook - for more details. + Jupyter notebook, which allows for pasting multi-line examples containing + ``>>>`` while preserving indentation. Run ``%doctest_mode?`` in Jupyter notebook + for more details. ``` \* Some old references to Model API may exist, but this API has been deprecated. -## NDArray API - -```eval_rst -.. toctree:: - :maxdepth: 1 - - ndarray/ndarray.md - ndarray/random.md - ndarray/linalg.md - ndarray/sparse.md - ndarray/contrib.md -``` - -## Symbol API +## Autograd API ```eval_rst .. toctree:: :maxdepth: 1 - symbol/symbol.md - symbol/random.md - symbol/linalg.md - symbol/sparse.md - symbol/contrib.md - symbol/rnn.md + autograd/autograd.md ``` -## Module API +## Callback API ```eval_rst .. toctree:: :maxdepth: 1 - module/module.md - executor/executor.md + callback/callback.md ``` -## Autograd API +## Contrib Package ```eval_rst .. toctree:: :maxdepth: 1 - autograd/autograd.md + contrib/contrib.md + contrib/text.md + contrib/onnx.md ``` ## Gluon API @@ -86,6 +69,15 @@ Code examples are placed throughout the API documentation and these can be run a gluon/contrib.md ``` +## Image API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + image/image.md +``` + ## IO API ```eval_rst @@ -95,40 +87,54 @@ Code examples are placed throughout the API documentation and these can be run a io/io.md ``` -## Image API +## KV Store API ```eval_rst .. toctree:: :maxdepth: 1 - image/image.md + kvstore/kvstore.md ``` -## Optimization API +## Metric API ```eval_rst .. toctree:: :maxdepth: 1 - optimization/optimization.md + metric/metric.md ``` -## Callback API +## Module API ```eval_rst .. toctree:: :maxdepth: 1 - callback/callback.md + module/module.md + executor/executor.md ``` -## Metric API +## NDArray API ```eval_rst .. toctree:: :maxdepth: 1 - metric/metric.md + ndarray/ndarray.md + ndarray/random.md + ndarray/linalg.md + ndarray/sparse.md + ndarray/contrib.md +``` + +## Optimization API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + optimization/optimization.md ``` ## Profiler API @@ -144,18 +150,30 @@ Code examples are placed throughout the API documentation and these can be run a ```eval_rst .. toctree:: - :maxdepth 1 + :maxdepth: 1 rtc/rtc.md ``` -## Contrib Package +## Symbol API ```eval_rst .. toctree:: :maxdepth: 1 - contrib/contrib.md - contrib/text.md - contrib/onnx.md + symbol/symbol.md + symbol/random.md + symbol/linalg.md + symbol/sparse.md + symbol/contrib.md + symbol/rnn.md +``` + +## Symbol in Pictures API + +```eval_rst +.. toctree:: + :maxdepth: 1 + + symbol_in_pictures/symbol_in_pictures.md ``` diff --git a/docs/api/scala/index.md b/docs/api/scala/index.md index e96892b58003..8b32c9fe9e22 100644 --- a/docs/api/scala/index.md +++ b/docs/api/scala/index.md @@ -1,9 +1,23 @@ # MXNet - Scala API + MXNet supports the Scala programming language. The MXNet Scala package brings flexible and efficient GPU computing and state-of-art deep learning to Scala. It enables you to write seamless tensor/matrix computation with multiple GPUs in Scala. It also lets you construct and customize the state-of-art deep learning models in Scala, and apply them to tasks, such as image classification and data science challenges. See the [MXNet Scala API Documentation](docs/index.html#org.apache.mxnet.package) for detailed API information. +```eval_rst +.. toctree:: + :maxdepth: 1 + + infer.md + io.md + kvstore.md + model.md + module.md + ndarray.md + symbol_in_pictures.md + symbol.md +``` ## Image Classification with the Scala Infer API The Infer API can be used for single and batch image classification. More information can be found at the following locations: diff --git a/docs/architecture/index.md b/docs/architecture/index.md index 91fb5f51d7b2..189e76e62fa5 100644 --- a/docs/architecture/index.md +++ b/docs/architecture/index.md @@ -15,9 +15,15 @@ Mainly, they focus on the following 3 areas: abstraction, optimization, and trade-offs between efficiency and flexibility. Additionally, we provide an overview of the complete MXNet system. -* [MXNet System Overview](http://mxnet.io/architecture/overview.html) -* [Deep Learning Programming Style: Symbolic vs Imperative](http://mxnet.io/architecture/program_model.html) -* [Dependency Engine for Deep Learning](http://mxnet.io/architecture/note_engine.html) -* [Optimizing the Memory Consumption in Deep Learning](http://mxnet.io/architecture/note_memory.html) -* [Efficient Data Loading Module for Deep Learning](http://mxnet.io/architecture/note_data_loading.html) -* [Exception Handling in MXNet](http://mxnet.io/architecture/exception_handling.html) +```eval_rst +.. toctree:: + :maxdepth: 1 + + overview.md + program_model.md + note_engine.md + note_memory.md + note_data_loading.md + exception_handling.md + rnn_interface.md +``` diff --git a/docs/community/index.md b/docs/community/index.md new file mode 100644 index 000000000000..7bdb1c213503 --- /dev/null +++ b/docs/community/index.md @@ -0,0 +1,11 @@ +# MXNet Community + +```eval_rst +.. toctree:: + :maxdepth: 1 + + contribute.md + ecosystem.md + powered_by.md + mxnet_channels.md +``` diff --git a/docs/faq/index.md b/docs/faq/index.md index 07dd9b9d7ca3..1b4a95d3f331 100644 --- a/docs/faq/index.md +++ b/docs/faq/index.md @@ -1,5 +1,13 @@ # MXNet FAQ +```eval_rst +.. toctree:: + :hidden: + :glob: + + * +``` + This section addresses common questions about how to use _MXNet_. These include performance issues, e.g., how to train with multiple GPUs. They also include workflow questions, e.g., how to visualize a neural network computation graph. These answers are fairly focused. For more didactic, self-contained introductions to neural networks diff --git a/docs/index.md b/docs/index.md index 7e251131fee3..ab6a95dc0ddd 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,14 +1,15 @@ -Contents --------- -These are used to generate the indexes for search functionality. +# MXNet -- [Python Documents](api/python/index.md) -- [R Documents](api/r/index.md) -- [Julia Documents](api/julia/index.md) -- [C++ Documents](api/c++/index.md) -- [Scala Documents](api/scala/index.md) -- [Perl Documents](api/perl/index.md) -- [HowTo Documents](faq/index.md) -- [System Documents](architecture/index.md) -- [Tutorials](tutorials/index.md) -- [Community](community/contribute.md) +```eval_rst +.. toctree:: + :maxdepth: 1 + + api/index.md + architecture/index.md + community/index.md + faq/index.md + gluon/index.md + install/index.md + model_zoo/index.md + tutorials/index.md +``` diff --git a/docs/tutorials/basic/index.md b/docs/tutorials/basic/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/basic/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/c++/index.md b/docs/tutorials/c++/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/c++/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/embedded/index.md b/docs/tutorials/embedded/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/embedded/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/gluon/index.md b/docs/tutorials/gluon/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/gluon/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/index.md b/docs/tutorials/index.md index ae0851425be0..82e8ac9e41bd 100644 --- a/docs/tutorials/index.md +++ b/docs/tutorials/index.md @@ -1,5 +1,24 @@ # Tutorials +```eval_rst +.. toctree:: + :hidden: + + basic/index.md + c++/index.md + embedded/index.md + gluon/index.md + nlp/index.md + onnx/index.md + python/index.md + r/index.md + scala/index.md + sparse/index.md + speech_recognition/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, 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. diff --git a/docs/tutorials/nlp/index.md b/docs/tutorials/nlp/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/nlp/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/onnx/index.md b/docs/tutorials/onnx/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/onnx/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/python/index.md b/docs/tutorials/python/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/python/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/r/index.md b/docs/tutorials/r/index.md index 4692e7adce7e..fbc8911f2a6d 100644 --- a/docs/tutorials/r/index.md +++ b/docs/tutorials/r/index.md @@ -4,18 +4,9 @@ These tutorials introduce a few fundamental concepts in deep learning and how to ```eval_rst .. toctree:: - :maxdepth: 1 + :glob: - ndarray - symbol - fiveMinutesNeuralNetwork - classifyRealImageWithPretrainedModel - mnistCompetition - CatsDogsFinetune - CharRnnModel - CallbackFunction - CustomIterator - CustomLossFunction + * ```
diff --git a/docs/tutorials/sparse/index.md b/docs/tutorials/sparse/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/sparse/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/speech_recognition/index.md b/docs/tutorials/speech_recognition/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/speech_recognition/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/unsupervised_learning/index.md b/docs/tutorials/unsupervised_learning/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/unsupervised_learning/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` diff --git a/docs/tutorials/vision/index.md b/docs/tutorials/vision/index.md new file mode 100644 index 000000000000..87d72894424f --- /dev/null +++ b/docs/tutorials/vision/index.md @@ -0,0 +1,8 @@ +# Tutorials + +```eval_rst +.. toctree:: + :glob: + + * +``` From 2006cfe3d3576a44337b9ec66b9df2394296ec15 Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 27 Jul 2018 08:58:12 -0700 Subject: [PATCH 4/7] exclude depricated and working dirs; update config add title, fix render errors, fix inaccurate text --- docs/gluon/index.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/gluon/index.md b/docs/gluon/index.md index 4bea06edcabf..c0d9053cd2c1 100644 --- a/docs/gluon/index.md +++ b/docs/gluon/index.md @@ -1,9 +1,11 @@ -![](https://github.com/dmlc/web-data/blob/master/mxnet/image/image-gluon-logo.png?raw=true) +# About Gluon + +![gluon logo](https://github.com/dmlc/web-data/blob/master/mxnet/image/image-gluon-logo.png?raw=true) Based on the [the Gluon API specification](https://github.com/gluon-api/gluon-api), the new Gluon library in Apache MXNet provides a clear, concise, and simple API for deep learning. It makes it easy to prototype, build, and train deep learning models without sacrificing training speed. Install the latest version of MXNet to get access to Gluon by either following these easy steps or using this simple command: -```python - pip install mxnet --pre --user +```bash + pip install mxnet ```
@@ -39,8 +41,8 @@ Use plug-and-play neural network building blocks, including predefined layers, o ```python net = gluon.nn.Sequential() -# When instantiated, Sequential stores a chain of neural network layers. -# Once presented with data, Sequential executes each layer in turn, using +# When instantiated, Sequential stores a chain of neural network layers. +# Once presented with data, Sequential executes each layer in turn, using # the output of one layer as the input for the next with net.name_scope(): net.add(gluon.nn.Dense(256, activation="relu")) # 1st layer (256 nodes) @@ -81,7 +83,7 @@ def forward(self, F, inputs, tree):
**__High Performance__** -Easily cache the neural network to achieve high performance by defining your neural network with ``HybridSequential`` and calling the ``hybridize`` method: +Easily cache the neural network to achieve high performance by defining your neural network with ``HybridSequential`` and calling the ``hybridize`` method: ```python net = nn.HybridSequential() From 1a14ad303effab4297f393e28c75cbf6bdd3288e Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 27 Jul 2018 09:11:41 -0700 Subject: [PATCH 5/7] removing unused and unnecessary files (that cause sphinx warnings) --- docs/architecture/release_note_0_9.md | 49 --------------------------- docs/get_started/index.md | 8 ----- 2 files changed, 57 deletions(-) delete mode 100644 docs/architecture/release_note_0_9.md delete mode 100644 docs/get_started/index.md diff --git a/docs/architecture/release_note_0_9.md b/docs/architecture/release_note_0_9.md deleted file mode 100644 index afcc091d7ccb..000000000000 --- a/docs/architecture/release_note_0_9.md +++ /dev/null @@ -1,49 +0,0 @@ -# MXNet 0.9 (NNVM) Release Note - -Version 0.9 brings a number of important features and changes, including a back-end refactor to adopt the [NNVM](https://github.com/dmlc/nnvm) framework, a profiler for analyzing performance, a fast image IO and augmentation module that bypasses GIL, and various other changes. - -## NNVM Refactor - -NNVM is a library for neural network graph construction, optimization, and operator registration. It serves as an intermediary layer between the front-end (MXNet user API) and the back-end (computation on the device). After version 0.9, MXNet fully adopts the NNVM framework. Now it's easier to create operators. You can also register "pass"es that process and optimizes the graph when `bind` is called on the symbol. For more discussion on how to create operators with NNVM, please refer to [How to Create New Operators](../faq/new_op.md) - -Other changes brought by NNVM include: -- Backward shape inference is now supported -- All operators can now be used with both symbolic and ndarray API. For example, `mx.nd.Activation(x, act_type='relu')` works now. -- Optional cython API for mx.symbol and mx.ndarray is now available. Use `make cython` to activate it for accelerated communication with the back-end. - -## Profiler - -![MLP Profile](https://cloud.githubusercontent.com/assets/17693755/18035938/0a43484a-6d93-11e6-80d4-241c6ca552ea.png) - -MXNet now provides a native profiler for analyzing the performance of operators. This feature compliments general profiling tools like nvprof and gprof by summarizing at the operator level, instead of function, kernel, or instruction level. - -To use this feature, first set `USE_PROFILER = 1` in `config.mk` and rebuild mxnet. Then add three lines at the beginning and end of the section of your program you want to profile: -```python -mx.profiler.profiler_set_config(mode=scope, filename=fname) -profiler.profiler_set_state('run') - -# do computation ... - -profiler.profiler_set_state('stop') -``` -`scope` can be 'symbolic' (to only include symbolic operations) or 'all' (to include all operations), and `fname` is the path to save profiler output. - -After program finishes, navigate to [chrome://tracing](chrome://tracing) in a Chrome browser and load profiler output to see the results. - -## Image IO - -MXNet already has `mx.io.ImageRecordIter` for loading and preprocessing images. However, some tasks need more flexible image processing API. Detection, for example, requires transforming labels together with images. Usually, people write custom data iterators in python to handle this. But due to the infamous Global Interpreter Lock (GIL), python scripts cannot use multithreading to speed up processing. - -`mx.image` provides a set of fast image processing API that leverage MXNet Engine to automatically parallelize processing. You can write -```python -imgs = [mx.image.imdecode(open(f).read()) for f in img_paths] -``` -and decoding will be automatically run in parallel. - -## Miscellaneous - -- sgd and adam optimizer are now implemented with a single imperative call. They should be as fast and memory efficient as cc optimizers. ccsgd is now deprecated and redirects to sgd. -- Layout support is added. Use `mx.io.DataDesc(..., layout='NHWC')` in provide_data to specify data layout. use `mx.sym.YourSymbol(..., __layout__='NHWC')` to specify output layout. `layout` option is now available for Convolution layer. -- element_mask is removed. Please use src*mask.reshape((mask.size, 1, 1, ..., 1)) directly as binary ops now support broadcasting. -- sum_axis, max_axis, and min_axis are deprecated. Please use mx.nd.max(src, axis=n) instead. -- symbol attributes are now limited to ctx_group, lr_mult, wd_mult, force_mirroring. All other custom attributes need to be in __xxx__ format (start and end with double underscore) or an error will be triggered during attribute parsing. diff --git a/docs/get_started/index.md b/docs/get_started/index.md deleted file mode 100644 index a743930b33dd..000000000000 --- a/docs/get_started/index.md +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - Page Redirection - - From 0b9e67c61d24eac7d4d3db42b24dc3a71b44a67f Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 24 Aug 2018 17:19:02 -0700 Subject: [PATCH 6/7] add c++ index to whitelist --- tests/tutorials/test_sanity_tutorials.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/tutorials/test_sanity_tutorials.py b/tests/tutorials/test_sanity_tutorials.py index f87e98e92126..a3f5cd8946dc 100644 --- a/tests/tutorials/test_sanity_tutorials.py +++ b/tests/tutorials/test_sanity_tutorials.py @@ -25,6 +25,7 @@ # Rules to be in the whitelist: # - not a python tutorial whitelist = ['c++/basics.md', + 'c++/index.md', 'embedded/wine_detector.md', 'r/CallbackFunction.md', 'r/charRnnModel.md', From 78f83a768022220d18d5eb17d0f56472b0a639c6 Mon Sep 17 00:00:00 2001 From: Aaron Markham Date: Fri, 24 Aug 2018 18:05:14 -0700 Subject: [PATCH 7/7] add more index to whitelist --- tests/tutorials/test_sanity_tutorials.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/tutorials/test_sanity_tutorials.py b/tests/tutorials/test_sanity_tutorials.py index a3f5cd8946dc..e59521f27044 100644 --- a/tests/tutorials/test_sanity_tutorials.py +++ b/tests/tutorials/test_sanity_tutorials.py @@ -24,9 +24,15 @@ # automated test suite. # Rules to be in the whitelist: # - not a python tutorial -whitelist = ['c++/basics.md', +whitelist = ['basic/index.md', + 'c++/basics.md', 'c++/index.md', + 'embedded/index.md', 'embedded/wine_detector.md', + 'gluon/index.md', + 'nlp/index.md', + 'onnx/index.md', + 'python/index.md', 'r/CallbackFunction.md', 'r/charRnnModel.md', 'r/classifyRealImageWithPretrainedModel.md', @@ -40,7 +46,11 @@ 'scala/char_lstm.md', 'scala/mnist.md', 'scala/index.md', - 'scala/mxnet_scala_on_intellij.md'] + 'scala/mxnet_scala_on_intellij.md', + 'sparse/index.md', + 'speech_recognition/index.md', + 'unsupervised_learning/index.md', + 'vision/index.md'] whitelist_set = set(whitelist) def test_tutorial_downloadable():