diff --git a/docs/conf.py b/docs/conf.py
index 4a0455214db3..56506482bc55 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -197,11 +197,43 @@ def git_describe_version(original_version):
from sphinx_gallery.sorting import ExplicitOrder
-examples_dirs = ["../tutorials/", "../vta/tutorials/"]
-gallery_dirs = ["tutorials", "vta/tutorials"]
+# This variable specifices where splinx gallery should look
+# for gallery files.
+examples_dirs = ["../gallery/user_tutorial",
+ "../gallery/user_how_tos/compile_models",
+ "../gallery/user_how_tos/deploy_models",
+ "../gallery/user_how_tos/work_with_relay",
+ "../gallery/user_how_tos/work_with_te_schedules",
+ "../gallery/user_how_tos/optimize_tensor_operators",
+ "../gallery/user_how_tos/tune_with_templates_autotvm",
+ "../gallery/user_how_tos/tune_with_autoscheduler",
+ "../gallery/user_how_tos/work_with_microtvm",
+ "../gallery/dev_how_tos",
+ "../tutorials/",
+ "../vta/tutorials/"]
+
+# This variable specifies where sphinx gallery should place
+# output from gallery generation, relative to the top level
+# docd directory. The output will be mapped as an ordered
+# tuple to the example_dirs. For example, the output
+# from ../gallery/user_tutorials will be rendered
+# in tvm/docs/user_tutorials.
+gallery_dirs = ["user_tutorial",
+ "user_how_tos/compile_models",
+ "user_how_tos/deploy_models",
+ "user_how_tos/work_with_relay",
+ "user_how_tos/work_with_te_schedules",
+ "user_how_tos/optimize_tensor_operators",
+ "user_how_tos/tune_with_templates_autotvm",
+ "user_how_tos/tune_with_autoscheduler",
+ "user_how_tos/work_with_microtvm",
+ "dev_how_tos",
+ "tutorials",
+ "vta/tutorials"]
subsection_order = ExplicitOrder(
[
+ "../gallery/user_tutorial",
"../tutorials/get_started",
"../tutorials/frontend",
"../tutorials/language",
@@ -223,7 +255,7 @@ def git_describe_version(original_version):
# The unlisted files are sorted by filenames.
# The unlisted files always appear after listed files.
within_subsection_order = {
- "get_started": [
+ "user_tutorial": [
"introduction.py",
"install.py",
"tvmc_command_line_driver.py",
@@ -232,9 +264,10 @@ def git_describe_version(original_version):
"autotvm_matmul_x86.py",
"auto_scheduler_matmul_x86.py",
"cross_compilation_and_rpc.py",
- "relay_quick_start.py",
+ "intro_topi.py",
+ "relay_quick_start.py"
],
- "frontend": [
+ "compile_models": [
"from_pytorch.py",
"from_tensorflow.py",
"from_mxnet.py",
@@ -245,7 +278,17 @@ def git_describe_version(original_version):
"from_darknet.py",
"from_caffe2.py",
],
- "language": [
+ "deploy_models": [
+ "deploy_object_detection_pytorch.py",
+ "deploy_model_on_rasp.py",
+ "deploy_sparse.py",
+ "deploy_quantized.py",
+ "deploy_prequantized.py",
+ "deploy_prequantized_tflite.py",
+ "deploy_model_on_android.py",
+ "deploy_ssd_gluoncv.py"
+ ],
+ "work_with_te_schedules": [
"schedule_primitives.py",
"reduction.py",
"intrin_math.py",
@@ -255,12 +298,12 @@ def git_describe_version(original_version):
"tuple_inputs.py",
"tedd.py",
],
- "optimize": [
+ "optimize_tensor_operators": [
"opt_gemm.py",
"opt_conv_cuda.py",
"opt_conv_tensorcore.py",
],
- "autotvm": [
+ "tune_with_templates_autotvm": [
"tune_simple_template.py",
"tune_conv2d_cuda.py",
"tune_relay_cuda.py",
@@ -268,13 +311,13 @@ def git_describe_version(original_version):
"tune_relay_arm.py",
"tune_relay_mobile_gpu.py",
],
- "auto_scheduler": [
+ "tune_with_autoscheduler": [
"tune_matmul_x86.py",
"tune_conv2d_layer_cuda.py",
"tune_network_x86.py",
"tune_network_cuda.py",
],
- "dev": [
+ "dev_how_tos": [
"low_level_custom_pass.py",
"use_pass_infra.py",
"use_pass_instrument.py",
diff --git a/docs/dev_deep_dive/index.rst b/docs/dev_deep_dive/index.rst
new file mode 100644
index 000000000000..41189226b8c1
--- /dev/null
+++ b/docs/dev_deep_dive/index.rst
@@ -0,0 +1,25 @@
+.. 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.
+
+.. _deep_dive:
+
+Deep Dive
+=========
+TVM Developer Deep Dives
+
+Refactor placeholder
+
diff --git a/docs/dev_how_tos/index.rst b/docs/dev_how_tos/index.rst
new file mode 100644
index 000000000000..a578a206cd0d
--- /dev/null
+++ b/docs/dev_how_tos/index.rst
@@ -0,0 +1,104 @@
+:orphan:
+
+
+
+.. _sphx_glr_dev_how_tos:
+
+How To
+------
+This gallery includes a number of how-tos on how to accomplish common
+develpment tasks in TVM.
+
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /dev_how_tos/images/thumb/sphx_glr_low_level_custom_pass_thumb.png
+
+ :ref:`sphx_glr_dev_how_tos_low_level_custom_pass.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /dev_how_tos/low_level_custom_pass
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /dev_how_tos/images/thumb/sphx_glr_use_pass_infra_thumb.png
+
+ :ref:`sphx_glr_dev_how_tos_use_pass_infra.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /dev_how_tos/use_pass_infra
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /dev_how_tos/images/thumb/sphx_glr_use_pass_instrument_thumb.png
+
+ :ref:`sphx_glr_dev_how_tos_use_pass_instrument.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /dev_how_tos/use_pass_instrument
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /dev_how_tos/images/thumb/sphx_glr_bring_your_own_datatypes_thumb.png
+
+ :ref:`sphx_glr_dev_how_tos_bring_your_own_datatypes.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /dev_how_tos/bring_your_own_datatypes
+.. raw:: html
+
+
+
+
+
+.. only:: html
+
+ .. rst-class:: sphx-glr-signature
+
+ `Gallery generated by Sphinx-Gallery `_
diff --git a/docs/dev_reference/index.rst b/docs/dev_reference/index.rst
new file mode 100644
index 000000000000..8a118d442e0b
--- /dev/null
+++ b/docs/dev_reference/index.rst
@@ -0,0 +1,24 @@
+.. 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.
+
+.. _reference:
+
+Reference
+=========
+TVM Developer Reference
+
+Placeholder for docs refactor
diff --git a/docs/contribute/code_guide.rst b/docs/dev_tutorial/code_guide.rst
similarity index 100%
rename from docs/contribute/code_guide.rst
rename to docs/dev_tutorial/code_guide.rst
diff --git a/docs/contribute/code_review.rst b/docs/dev_tutorial/code_review.rst
similarity index 100%
rename from docs/contribute/code_review.rst
rename to docs/dev_tutorial/code_review.rst
diff --git a/docs/contribute/committer_guide.rst b/docs/dev_tutorial/committer_guide.rst
similarity index 100%
rename from docs/contribute/committer_guide.rst
rename to docs/dev_tutorial/committer_guide.rst
diff --git a/docs/contribute/community.rst b/docs/dev_tutorial/community.rst
similarity index 100%
rename from docs/contribute/community.rst
rename to docs/dev_tutorial/community.rst
diff --git a/docs/contribute/document.rst b/docs/dev_tutorial/document.rst
similarity index 100%
rename from docs/contribute/document.rst
rename to docs/dev_tutorial/document.rst
diff --git a/docs/contribute/error_handling.rst b/docs/dev_tutorial/error_handling.rst
similarity index 100%
rename from docs/contribute/error_handling.rst
rename to docs/dev_tutorial/error_handling.rst
diff --git a/docs/contribute/git_howto.rst b/docs/dev_tutorial/git_howto.rst
similarity index 100%
rename from docs/contribute/git_howto.rst
rename to docs/dev_tutorial/git_howto.rst
diff --git a/docs/contribute/index.rst b/docs/dev_tutorial/index.rst
similarity index 96%
rename from docs/contribute/index.rst
rename to docs/dev_tutorial/index.rst
index e3e4119d803e..960071b189cb 100644
--- a/docs/contribute/index.rst
+++ b/docs/dev_tutorial/index.rst
@@ -15,8 +15,8 @@
specific language governing permissions and limitations
under the License.
-Contribute to TVM
-=================
+Tutorial: Contributing to TVM
+=============================
TVM has been developed by community members.
Everyone is welcomed to contribute.
diff --git a/docs/contribute/pull_request.rst b/docs/dev_tutorial/pull_request.rst
similarity index 100%
rename from docs/contribute/pull_request.rst
rename to docs/dev_tutorial/pull_request.rst
diff --git a/docs/contribute/release_process.rst b/docs/dev_tutorial/release_process.rst
similarity index 100%
rename from docs/contribute/release_process.rst
rename to docs/dev_tutorial/release_process.rst
diff --git a/docs/index.rst b/docs/index.rst
index 491c42712e9a..09f1e0ca727c 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -34,57 +34,30 @@ For Developers
architecture of TVM and/or actively develop on the project.
- :doc:`dev/how_to` gives quick development tips on various topics.
-
-.. toctree::
- :maxdepth: 1
- :caption: How to
- :hidden:
-
- install/index
- contribute/index
- deploy/index
- dev/how_to
- microtvm/index
- errors
- faq
-
-.. toctree::
- :maxdepth: 1
- :caption: Tutorials
- :hidden:
-
- tutorials/index
-
-
.. toctree::
- :maxdepth: 2
- :caption: References
+ :maxdepth: 3
+ :caption: TVM User Guide
:hidden:
- langref/index
- api/python/index
- api/links
+ user_tutorial/index
+ user_how_tos/index
+ user_deep_dive/index
+ user_reference/index
.. toctree::
- :maxdepth: 2
+ :maxdepth: 3
+ :caption: TVM Developer Guide
:hidden:
- :caption: Deep Dive
-
- dev/index
-
-.. toctree::
- :maxdepth: 2
- :hidden:
- :caption: MISC
-
- vta/index
- profiling/index
+ dev_tutorial/index
+ dev_how_tos/index
+ dev_deep_dive/index
+ dev_reference/index
Index
-----
-
.. toctree::
:maxdepth: 1
+ :caption: Index
genindex
diff --git a/docs/user_deep_dive/index.rst b/docs/user_deep_dive/index.rst
new file mode 100644
index 000000000000..2e116ddbcc70
--- /dev/null
+++ b/docs/user_deep_dive/index.rst
@@ -0,0 +1,24 @@
+.. 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.
+
+.. _user_guide:
+
+Deep Dive
+=========
+TVM User Deep Dives
+
+refactor placeholder until content is in place
diff --git a/docs/user_how_tos/index.rst b/docs/user_how_tos/index.rst
new file mode 100644
index 000000000000..8684a9e729c5
--- /dev/null
+++ b/docs/user_how_tos/index.rst
@@ -0,0 +1,35 @@
+.. 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.
+
+.. _user_how_tos:
+
+How To
+=======
+TVM How Tos
+
+.. toctree::
+ :maxdepth: 2
+
+ install/index
+ compile_models/index
+ deploy_models/index
+ work_with_relay/index
+ work_with_te_schedules/index
+ optimize_tensor_operators/index
+ tune_with_templates_autotvm/index
+ tune_with_autoscheduler/index
+ work_with_microtvm/index
diff --git a/docs/install/docker.rst b/docs/user_how_tos/install/docker.rst
similarity index 100%
rename from docs/install/docker.rst
rename to docs/user_how_tos/install/docker.rst
diff --git a/docs/install/from_source.rst b/docs/user_how_tos/install/from_source.rst
similarity index 100%
rename from docs/install/from_source.rst
rename to docs/user_how_tos/install/from_source.rst
diff --git a/docs/install/index.rst b/docs/user_how_tos/install/index.rst
similarity index 98%
rename from docs/install/index.rst
rename to docs/user_how_tos/install/index.rst
index 5f739418add3..3d1a06a74be7 100644
--- a/docs/install/index.rst
+++ b/docs/user_how_tos/install/index.rst
@@ -17,7 +17,7 @@
.. _installation:
-Installation
+Install TVM
============
To install TVM, please read :ref:`install-from-source`.
If you are interested in deploying to mobile/embedded devices,
diff --git a/docs/install/nnpack.rst b/docs/user_how_tos/install/nnpack.rst
similarity index 100%
rename from docs/install/nnpack.rst
rename to docs/user_how_tos/install/nnpack.rst
diff --git a/docs/user_reference/index.rst b/docs/user_reference/index.rst
new file mode 100644
index 000000000000..1f715217b2a1
--- /dev/null
+++ b/docs/user_reference/index.rst
@@ -0,0 +1,23 @@
+.. 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.
+
+.. _user_guide:
+
+User Reference
+==============
+TVM User Reference
+
diff --git a/docs/user_tutorial/index.rst b/docs/user_tutorial/index.rst
new file mode 100644
index 000000000000..d239fc6a459d
--- /dev/null
+++ b/docs/user_tutorial/index.rst
@@ -0,0 +1,223 @@
+:orphan:
+
+
+
+.. _sphx_glr_user_tutorial:
+
+Tutorial
+--------
+
+Within this gallery is an introduction to TVM.
+
+
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_introduction_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_introduction.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/introduction
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_install_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_install.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/install
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_tvmc_command_line_driver_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_tvmc_command_line_driver.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/tvmc_command_line_driver
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_autotvm_relay_x86_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_autotvm_relay_x86.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/autotvm_relay_x86
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_tensor_expr_get_started_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_tensor_expr_get_started.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/tensor_expr_get_started
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_autotvm_matmul_x86_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_autotvm_matmul_x86.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/autotvm_matmul_x86
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_auto_scheduler_matmul_x86_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_auto_scheduler_matmul_x86.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/auto_scheduler_matmul_x86
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_cross_compilation_and_rpc_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_cross_compilation_and_rpc.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/cross_compilation_and_rpc
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_intro_topi_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_intro_topi.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/intro_topi
+
+.. raw:: html
+
+
+
+.. only:: html
+
+ .. figure:: /user_tutorial/images/thumb/sphx_glr_relay_quick_start_thumb.png
+
+ :ref:`sphx_glr_user_tutorial_relay_quick_start.py`
+
+.. raw:: html
+
+
+
+
+.. toctree::
+ :hidden:
+
+ /user_tutorial/relay_quick_start
+.. raw:: html
+
+
+
+
+
+.. only:: html
+
+ .. rst-class:: sphx-glr-signature
+
+ `Gallery generated by Sphinx-Gallery `_
diff --git a/gallery/dev_how_tos/README.txt b/gallery/dev_how_tos/README.txt
new file mode 100644
index 000000000000..10c824a554f4
--- /dev/null
+++ b/gallery/dev_how_tos/README.txt
@@ -0,0 +1,5 @@
+How To
+------
+This gallery includes a number of how-tos on how to accomplish common
+develpment tasks in TVM.
+
diff --git a/tutorials/dev/bring_your_own_datatypes.py b/gallery/dev_how_tos/bring_your_own_datatypes.py
similarity index 100%
rename from tutorials/dev/bring_your_own_datatypes.py
rename to gallery/dev_how_tos/bring_your_own_datatypes.py
diff --git a/tutorials/dev/low_level_custom_pass.py b/gallery/dev_how_tos/low_level_custom_pass.py
similarity index 100%
rename from tutorials/dev/low_level_custom_pass.py
rename to gallery/dev_how_tos/low_level_custom_pass.py
diff --git a/tutorials/dev/use_pass_infra.py b/gallery/dev_how_tos/use_pass_infra.py
similarity index 100%
rename from tutorials/dev/use_pass_infra.py
rename to gallery/dev_how_tos/use_pass_infra.py
diff --git a/tutorials/dev/use_pass_instrument.py b/gallery/dev_how_tos/use_pass_instrument.py
similarity index 100%
rename from tutorials/dev/use_pass_instrument.py
rename to gallery/dev_how_tos/use_pass_instrument.py
diff --git a/gallery/user_how_tos/compile_models/README.txt b/gallery/user_how_tos/compile_models/README.txt
new file mode 100644
index 000000000000..871d975ab68d
--- /dev/null
+++ b/gallery/user_how_tos/compile_models/README.txt
@@ -0,0 +1,4 @@
+Compile Deep Learning Models
+============================
+
+How to compile models from a variety of different frameworks
diff --git a/tutorials/frontend/from_caffe2.py b/gallery/user_how_tos/compile_models/from_caffe2.py
similarity index 100%
rename from tutorials/frontend/from_caffe2.py
rename to gallery/user_how_tos/compile_models/from_caffe2.py
diff --git a/tutorials/frontend/from_coreml.py b/gallery/user_how_tos/compile_models/from_coreml.py
similarity index 100%
rename from tutorials/frontend/from_coreml.py
rename to gallery/user_how_tos/compile_models/from_coreml.py
diff --git a/tutorials/frontend/from_darknet.py b/gallery/user_how_tos/compile_models/from_darknet.py
similarity index 100%
rename from tutorials/frontend/from_darknet.py
rename to gallery/user_how_tos/compile_models/from_darknet.py
diff --git a/tutorials/frontend/from_keras.py b/gallery/user_how_tos/compile_models/from_keras.py
similarity index 100%
rename from tutorials/frontend/from_keras.py
rename to gallery/user_how_tos/compile_models/from_keras.py
diff --git a/tutorials/frontend/from_mxnet.py b/gallery/user_how_tos/compile_models/from_mxnet.py
similarity index 100%
rename from tutorials/frontend/from_mxnet.py
rename to gallery/user_how_tos/compile_models/from_mxnet.py
diff --git a/tutorials/frontend/from_onnx.py b/gallery/user_how_tos/compile_models/from_onnx.py
similarity index 100%
rename from tutorials/frontend/from_onnx.py
rename to gallery/user_how_tos/compile_models/from_onnx.py
diff --git a/tutorials/frontend/from_pytorch.py b/gallery/user_how_tos/compile_models/from_pytorch.py
similarity index 100%
rename from tutorials/frontend/from_pytorch.py
rename to gallery/user_how_tos/compile_models/from_pytorch.py
diff --git a/tutorials/frontend/from_tensorflow.py b/gallery/user_how_tos/compile_models/from_tensorflow.py
similarity index 100%
rename from tutorials/frontend/from_tensorflow.py
rename to gallery/user_how_tos/compile_models/from_tensorflow.py
diff --git a/tutorials/frontend/from_tflite.py b/gallery/user_how_tos/compile_models/from_tflite.py
similarity index 100%
rename from tutorials/frontend/from_tflite.py
rename to gallery/user_how_tos/compile_models/from_tflite.py
diff --git a/gallery/user_how_tos/deploy_models/README.txt b/gallery/user_how_tos/deploy_models/README.txt
new file mode 100644
index 000000000000..cf8abf4662ff
--- /dev/null
+++ b/gallery/user_how_tos/deploy_models/README.txt
@@ -0,0 +1,4 @@
+Deploy Deep Learning Models
+============================
+
+How to deploy models from a variety of different frameworks
diff --git a/tutorials/frontend/deploy_model_on_android.py b/gallery/user_how_tos/deploy_models/deploy_model_on_android.py
similarity index 100%
rename from tutorials/frontend/deploy_model_on_android.py
rename to gallery/user_how_tos/deploy_models/deploy_model_on_android.py
diff --git a/tutorials/frontend/deploy_model_on_rasp.py b/gallery/user_how_tos/deploy_models/deploy_model_on_rasp.py
similarity index 100%
rename from tutorials/frontend/deploy_model_on_rasp.py
rename to gallery/user_how_tos/deploy_models/deploy_model_on_rasp.py
diff --git a/tutorials/frontend/deploy_object_detection_pytorch.py b/gallery/user_how_tos/deploy_models/deploy_object_detection_pytorch.py
similarity index 100%
rename from tutorials/frontend/deploy_object_detection_pytorch.py
rename to gallery/user_how_tos/deploy_models/deploy_object_detection_pytorch.py
diff --git a/tutorials/frontend/deploy_prequantized.py b/gallery/user_how_tos/deploy_models/deploy_prequantized.py
similarity index 100%
rename from tutorials/frontend/deploy_prequantized.py
rename to gallery/user_how_tos/deploy_models/deploy_prequantized.py
diff --git a/tutorials/frontend/deploy_prequantized_tflite.py b/gallery/user_how_tos/deploy_models/deploy_prequantized_tflite.py
similarity index 100%
rename from tutorials/frontend/deploy_prequantized_tflite.py
rename to gallery/user_how_tos/deploy_models/deploy_prequantized_tflite.py
diff --git a/tutorials/frontend/deploy_quantized.py b/gallery/user_how_tos/deploy_models/deploy_quantized.py
similarity index 100%
rename from tutorials/frontend/deploy_quantized.py
rename to gallery/user_how_tos/deploy_models/deploy_quantized.py
diff --git a/tutorials/frontend/deploy_sparse.py b/gallery/user_how_tos/deploy_models/deploy_sparse.py
similarity index 100%
rename from tutorials/frontend/deploy_sparse.py
rename to gallery/user_how_tos/deploy_models/deploy_sparse.py
diff --git a/tutorials/frontend/deploy_ssd_gluoncv.py b/gallery/user_how_tos/deploy_models/deploy_ssd_gluoncv.py
similarity index 100%
rename from tutorials/frontend/deploy_ssd_gluoncv.py
rename to gallery/user_how_tos/deploy_models/deploy_ssd_gluoncv.py
diff --git a/tutorials/optimize/README.txt b/gallery/user_how_tos/optimize_tensor_operators/README.txt
similarity index 53%
rename from tutorials/optimize/README.txt
rename to gallery/user_how_tos/optimize_tensor_operators/README.txt
index b051548c5351..a4a3c84c2018 100644
--- a/tutorials/optimize/README.txt
+++ b/gallery/user_how_tos/optimize_tensor_operators/README.txt
@@ -1,2 +1,4 @@
Optimize Tensor Operators
-------------------------
+
+How to optimize tensor operators using TVM.
diff --git a/tutorials/optimize/opt_conv_cuda.py b/gallery/user_how_tos/optimize_tensor_operators/opt_conv_cuda.py
similarity index 100%
rename from tutorials/optimize/opt_conv_cuda.py
rename to gallery/user_how_tos/optimize_tensor_operators/opt_conv_cuda.py
diff --git a/tutorials/optimize/opt_conv_tensorcore.py b/gallery/user_how_tos/optimize_tensor_operators/opt_conv_tensorcore.py
similarity index 100%
rename from tutorials/optimize/opt_conv_tensorcore.py
rename to gallery/user_how_tos/optimize_tensor_operators/opt_conv_tensorcore.py
diff --git a/tutorials/optimize/opt_gemm.py b/gallery/user_how_tos/optimize_tensor_operators/opt_gemm.py
similarity index 100%
rename from tutorials/optimize/opt_gemm.py
rename to gallery/user_how_tos/optimize_tensor_operators/opt_gemm.py
diff --git a/gallery/user_how_tos/tune_with_autoscheduler/README.txt b/gallery/user_how_tos/tune_with_autoscheduler/README.txt
new file mode 100644
index 000000000000..6f69d8aa6f61
--- /dev/null
+++ b/gallery/user_how_tos/tune_with_autoscheduler/README.txt
@@ -0,0 +1,4 @@
+How to use AutoScheduler for Template-Free Auto Scheduling
+----------------------------------------------------------
+
+How to use the TVM AutoScheduler to automatically tune a schedule, template-free.
diff --git a/tutorials/auto_scheduler/ci_logs/conv2d.json b/gallery/user_how_tos/tune_with_autoscheduler/ci_logs/conv2d.json
similarity index 100%
rename from tutorials/auto_scheduler/ci_logs/conv2d.json
rename to gallery/user_how_tos/tune_with_autoscheduler/ci_logs/conv2d.json
diff --git a/tutorials/auto_scheduler/ci_logs/matmul.json b/gallery/user_how_tos/tune_with_autoscheduler/ci_logs/matmul.json
similarity index 100%
rename from tutorials/auto_scheduler/ci_logs/matmul.json
rename to gallery/user_how_tos/tune_with_autoscheduler/ci_logs/matmul.json
diff --git a/tutorials/auto_scheduler/ci_logs/resnet-18-NHWC-B1-cuda.json b/gallery/user_how_tos/tune_with_autoscheduler/ci_logs/resnet-18-NHWC-B1-cuda.json
similarity index 100%
rename from tutorials/auto_scheduler/ci_logs/resnet-18-NHWC-B1-cuda.json
rename to gallery/user_how_tos/tune_with_autoscheduler/ci_logs/resnet-18-NHWC-B1-cuda.json
diff --git a/tutorials/auto_scheduler/ci_logs/resnet-50-NHWC-B1-llvm.json b/gallery/user_how_tos/tune_with_autoscheduler/ci_logs/resnet-50-NHWC-B1-llvm.json
similarity index 100%
rename from tutorials/auto_scheduler/ci_logs/resnet-50-NHWC-B1-llvm.json
rename to gallery/user_how_tos/tune_with_autoscheduler/ci_logs/resnet-50-NHWC-B1-llvm.json
diff --git a/tutorials/auto_scheduler/ci_logs/sparse_dense.json b/gallery/user_how_tos/tune_with_autoscheduler/ci_logs/sparse_dense.json
similarity index 100%
rename from tutorials/auto_scheduler/ci_logs/sparse_dense.json
rename to gallery/user_how_tos/tune_with_autoscheduler/ci_logs/sparse_dense.json
diff --git a/tutorials/auto_scheduler/tune_conv2d_layer_cuda.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_conv2d_layer_cuda.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_conv2d_layer_cuda.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_conv2d_layer_cuda.py
diff --git a/tutorials/auto_scheduler/tune_network_arm.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_network_arm.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_network_arm.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_network_arm.py
diff --git a/tutorials/auto_scheduler/tune_network_cuda.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_network_cuda.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_network_cuda.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_network_cuda.py
diff --git a/tutorials/auto_scheduler/tune_network_mali.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_network_mali.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_network_mali.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_network_mali.py
diff --git a/tutorials/auto_scheduler/tune_network_x86.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_network_x86.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_network_x86.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_network_x86.py
diff --git a/tutorials/auto_scheduler/tune_sparse_x86.py b/gallery/user_how_tos/tune_with_autoscheduler/tune_sparse_x86.py
similarity index 100%
rename from tutorials/auto_scheduler/tune_sparse_x86.py
rename to gallery/user_how_tos/tune_with_autoscheduler/tune_sparse_x86.py
diff --git a/gallery/user_how_tos/tune_with_templates_autotvm/README.txt b/gallery/user_how_tos/tune_with_templates_autotvm/README.txt
new file mode 100644
index 000000000000..99d844fef2d9
--- /dev/null
+++ b/gallery/user_how_tos/tune_with_templates_autotvm/README.txt
@@ -0,0 +1,4 @@
+How to Auto-Tune with Templates and AutoTVM
+-------------------------------------------
+
+How to write schedule templates and auto-tune with AutoTVM
diff --git a/tutorials/autotvm/tune_conv2d_cuda.py b/gallery/user_how_tos/tune_with_templates_autotvm/tune_conv2d_cuda.py
similarity index 100%
rename from tutorials/autotvm/tune_conv2d_cuda.py
rename to gallery/user_how_tos/tune_with_templates_autotvm/tune_conv2d_cuda.py
diff --git a/tutorials/autotvm/tune_relay_arm.py b/gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_arm.py
similarity index 100%
rename from tutorials/autotvm/tune_relay_arm.py
rename to gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_arm.py
diff --git a/tutorials/autotvm/tune_relay_cuda.py b/gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_cuda.py
similarity index 100%
rename from tutorials/autotvm/tune_relay_cuda.py
rename to gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_cuda.py
diff --git a/tutorials/autotvm/tune_relay_mobile_gpu.py b/gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_mobile_gpu.py
similarity index 100%
rename from tutorials/autotvm/tune_relay_mobile_gpu.py
rename to gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_mobile_gpu.py
diff --git a/tutorials/autotvm/tune_relay_x86.py b/gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_x86.py
similarity index 100%
rename from tutorials/autotvm/tune_relay_x86.py
rename to gallery/user_how_tos/tune_with_templates_autotvm/tune_relay_x86.py
diff --git a/gallery/user_how_tos/work_with_microtvm/README.txt b/gallery/user_how_tos/work_with_microtvm/README.txt
new file mode 100644
index 000000000000..c77817dd9b7e
--- /dev/null
+++ b/gallery/user_how_tos/work_with_microtvm/README.txt
@@ -0,0 +1,3 @@
+How to Work With microTVM
+--------
+How to work with microTVM
diff --git a/tutorials/micro/micro_reference_vm.py b/gallery/user_how_tos/work_with_microtvm/micro_reference_vm.py
similarity index 100%
rename from tutorials/micro/micro_reference_vm.py
rename to gallery/user_how_tos/work_with_microtvm/micro_reference_vm.py
diff --git a/tutorials/micro/micro_tflite.py b/gallery/user_how_tos/work_with_microtvm/micro_tflite.py
similarity index 100%
rename from tutorials/micro/micro_tflite.py
rename to gallery/user_how_tos/work_with_microtvm/micro_tflite.py
diff --git a/gallery/user_how_tos/work_with_relay/README.txt b/gallery/user_how_tos/work_with_relay/README.txt
new file mode 100644
index 000000000000..20f7a076e397
--- /dev/null
+++ b/gallery/user_how_tos/work_with_relay/README.txt
@@ -0,0 +1,4 @@
+Work With Relay
+===============
+
+How tos describing advanced compilation and deployment techniques with Relay
diff --git a/tutorials/frontend/build_gcn.py b/gallery/user_how_tos/work_with_relay/build_gcn.py
similarity index 100%
rename from tutorials/frontend/build_gcn.py
rename to gallery/user_how_tos/work_with_relay/build_gcn.py
diff --git a/tutorials/frontend/using_external_lib.py b/gallery/user_how_tos/work_with_relay/using_external_lib.py
similarity index 100%
rename from tutorials/frontend/using_external_lib.py
rename to gallery/user_how_tos/work_with_relay/using_external_lib.py
diff --git a/gallery/user_how_tos/work_with_te_schedules/README.txt b/gallery/user_how_tos/work_with_te_schedules/README.txt
new file mode 100644
index 000000000000..12499aebc720
--- /dev/null
+++ b/gallery/user_how_tos/work_with_te_schedules/README.txt
@@ -0,0 +1,4 @@
+Work with Tensor Expression and Schedules
+-------------------------------
+
+How to work with Tensor Expressions and Schedules
diff --git a/tutorials/language/extern_op.py b/gallery/user_how_tos/work_with_te_schedules/extern_op.py
similarity index 100%
rename from tutorials/language/extern_op.py
rename to gallery/user_how_tos/work_with_te_schedules/extern_op.py
diff --git a/tutorials/language/intrin_math.py b/gallery/user_how_tos/work_with_te_schedules/intrin_math.py
similarity index 100%
rename from tutorials/language/intrin_math.py
rename to gallery/user_how_tos/work_with_te_schedules/intrin_math.py
diff --git a/tutorials/language/reduction.py b/gallery/user_how_tos/work_with_te_schedules/reduction.py
similarity index 100%
rename from tutorials/language/reduction.py
rename to gallery/user_how_tos/work_with_te_schedules/reduction.py
diff --git a/tutorials/language/scan.py b/gallery/user_how_tos/work_with_te_schedules/scan.py
similarity index 100%
rename from tutorials/language/scan.py
rename to gallery/user_how_tos/work_with_te_schedules/scan.py
diff --git a/tutorials/language/schedule_primitives.py b/gallery/user_how_tos/work_with_te_schedules/schedule_primitives.py
similarity index 100%
rename from tutorials/language/schedule_primitives.py
rename to gallery/user_how_tos/work_with_te_schedules/schedule_primitives.py
diff --git a/tutorials/language/tedd.py b/gallery/user_how_tos/work_with_te_schedules/tedd.py
similarity index 100%
rename from tutorials/language/tedd.py
rename to gallery/user_how_tos/work_with_te_schedules/tedd.py
diff --git a/tutorials/language/tensorize.py b/gallery/user_how_tos/work_with_te_schedules/tensorize.py
similarity index 100%
rename from tutorials/language/tensorize.py
rename to gallery/user_how_tos/work_with_te_schedules/tensorize.py
diff --git a/tutorials/language/tuple_inputs.py b/gallery/user_how_tos/work_with_te_schedules/tuple_inputs.py
similarity index 100%
rename from tutorials/language/tuple_inputs.py
rename to gallery/user_how_tos/work_with_te_schedules/tuple_inputs.py
diff --git a/gallery/user_tutorial/README.txt b/gallery/user_tutorial/README.txt
new file mode 100644
index 000000000000..ee90cd68eefc
--- /dev/null
+++ b/gallery/user_tutorial/README.txt
@@ -0,0 +1,4 @@
+Tutorial
+--------
+
+Within this gallery is an introduction to TVM.
diff --git a/tutorials/get_started/auto_scheduler_matmul_x86.py b/gallery/user_tutorial/auto_scheduler_matmul_x86.py
similarity index 100%
rename from tutorials/get_started/auto_scheduler_matmul_x86.py
rename to gallery/user_tutorial/auto_scheduler_matmul_x86.py
diff --git a/tutorials/get_started/autotvm_matmul_x86.py b/gallery/user_tutorial/autotvm_matmul_x86.py
similarity index 100%
rename from tutorials/get_started/autotvm_matmul_x86.py
rename to gallery/user_tutorial/autotvm_matmul_x86.py
diff --git a/tutorials/get_started/autotvm_relay_x86.py b/gallery/user_tutorial/autotvm_relay_x86.py
similarity index 100%
rename from tutorials/get_started/autotvm_relay_x86.py
rename to gallery/user_tutorial/autotvm_relay_x86.py
diff --git a/tutorials/get_started/cross_compilation_and_rpc.py b/gallery/user_tutorial/cross_compilation_and_rpc.py
similarity index 100%
rename from tutorials/get_started/cross_compilation_and_rpc.py
rename to gallery/user_tutorial/cross_compilation_and_rpc.py
diff --git a/tutorials/get_started/install.py b/gallery/user_tutorial/install.py
similarity index 100%
rename from tutorials/get_started/install.py
rename to gallery/user_tutorial/install.py
diff --git a/tutorials/topi/intro_topi.py b/gallery/user_tutorial/intro_topi.py
similarity index 100%
rename from tutorials/topi/intro_topi.py
rename to gallery/user_tutorial/intro_topi.py
diff --git a/tutorials/get_started/introduction.py b/gallery/user_tutorial/introduction.py
similarity index 100%
rename from tutorials/get_started/introduction.py
rename to gallery/user_tutorial/introduction.py
diff --git a/tutorials/get_started/relay_quick_start.py b/gallery/user_tutorial/relay_quick_start.py
similarity index 100%
rename from tutorials/get_started/relay_quick_start.py
rename to gallery/user_tutorial/relay_quick_start.py
diff --git a/tutorials/get_started/tensor_expr_get_started.py b/gallery/user_tutorial/tensor_expr_get_started.py
similarity index 100%
rename from tutorials/get_started/tensor_expr_get_started.py
rename to gallery/user_tutorial/tensor_expr_get_started.py
diff --git a/tutorials/get_started/tvmc_command_line_driver.py b/gallery/user_tutorial/tvmc_command_line_driver.py
similarity index 100%
rename from tutorials/get_started/tvmc_command_line_driver.py
rename to gallery/user_tutorial/tvmc_command_line_driver.py
diff --git a/tutorials/auto_scheduler/README.txt b/tutorials/auto_scheduler/README.txt
deleted file mode 100644
index 75986679f0bd..000000000000
--- a/tutorials/auto_scheduler/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-AutoScheduler : Template-free Auto Scheduling
----------------------------------------------
diff --git a/tutorials/autotvm/README.txt b/tutorials/autotvm/README.txt
deleted file mode 100644
index a1d33ba088cc..000000000000
--- a/tutorials/autotvm/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-.. _tutorials-autotvm-sec:
-
-AutoTVM : Template-based Auto Tuning
-------------------------------------
diff --git a/tutorials/dev/README.txt b/tutorials/dev/README.txt
deleted file mode 100644
index a358280640de..000000000000
--- a/tutorials/dev/README.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Developer Tutorials
--------------------
-
diff --git a/tutorials/frontend/README.txt b/tutorials/frontend/README.txt
deleted file mode 100644
index 319506d21f8f..000000000000
--- a/tutorials/frontend/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-.. _tutorial-frontend:
-
-Compile Deep Learning Models
-----------------------------
diff --git a/tutorials/get_started/README.txt b/tutorials/get_started/README.txt
deleted file mode 100644
index aa6c559c1b38..000000000000
--- a/tutorials/get_started/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Getting Started With TVM
-------------------------
diff --git a/tutorials/language/README.txt b/tutorials/language/README.txt
deleted file mode 100644
index 6da8e3c57c1f..000000000000
--- a/tutorials/language/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-Tensor Expression and Schedules
--------------------------------
diff --git a/tutorials/micro/README.txt b/tutorials/micro/README.txt
deleted file mode 100644
index 70a5e580ecd1..000000000000
--- a/tutorials/micro/README.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-.. _tutorial-micro:
-
-microTVM
---------
diff --git a/tutorials/topi/README.txt b/tutorials/topi/README.txt
deleted file mode 100644
index eae0aafafc02..000000000000
--- a/tutorials/topi/README.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-TOPI: TVM Operator Inventory
-----------------------------