eric-haibin-lin closed pull request #9575: replaced how_to with faq
URL: https://github.com/apache/incubator-mxnet/pull/9575
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/R-package/README.md b/R-package/README.md
index e21d6b17dc..78a6214ddc 100644
--- a/R-package/README.md
+++ b/R-package/README.md
@@ -24,7 +24,7 @@ options(repos = cran)
 install.packages("mxnet")
 ```
 
-To use the GPU version or to use it on Linux, please follow [Installation 
Guide](http://mxnet.io/get_started/install.html)
+To use the GPU version or to use it on Linux, please follow [Installation 
Guide](http://mxnet.io/install/index.html)
 
 License
 -------
diff --git a/README.md b/README.md
index 5dd5f02cbd..feff029142 100644
--- a/README.md
+++ b/README.md
@@ -36,13 +36,13 @@ What's New
 * [MKLDNN for Faster CPU Performance](./MKL_README.md)
 * [MXNet Memory Monger, Training Deeper Nets with Sublinear Memory 
Cost](https://github.com/dmlc/mxnet-memonger)
 * [Tutorial for NVidia GTC 2016](https://github.com/dmlc/mxnet-gtc-tutorial)
-* [Embedding Torch layers and functions in 
MXNet](https://mxnet.incubator.apache.org/how_to/torch.html)
+* [Embedding Torch layers and functions in 
MXNet](https://mxnet.incubator.apache.org/faq/torch.html)
 * [MXNet.js: Javascript Package for Deep Learning in Browser (without server)
 ](https://github.com/dmlc/mxnet.js/)
 * [Design Note: Design Efficient Deep Learning Data Loading 
Module](https://mxnet.incubator.apache.org/architecture/note_data_loading.html)
-* [MXNet on Mobile 
Device](https://mxnet.incubator.apache.org/how_to/smart_device.html)
-* [Distributed 
Training](https://mxnet.incubator.apache.org/how_to/multi_devices.html)
-* [Guide to Creating New Operators 
(Layers)](https://mxnet.incubator.apache.org/how_to/new_op.html)
+* [MXNet on Mobile 
Device](https://mxnet.incubator.apache.org/faq/smart_device.html)
+* [Distributed 
Training](https://mxnet.incubator.apache.org/faq/multi_devices.html)
+* [Guide to Creating New Operators 
(Layers)](https://mxnet.incubator.apache.org/faq/new_op.html)
 * [Go binding for inference](https://github.com/songtianyi/go-mxnet-predictor)
 * [Amalgamation and Go Binding for 
Predictors](https://github.com/jdeng/gomxnet/) - Outdated
 * [Large Scale Image 
Classification](https://github.com/apache/incubator-mxnet/tree/master/example/image-classification)
@@ -52,10 +52,10 @@ Contents
 * [Documentation](https://mxnet.incubator.apache.org/) and  
[Tutorials](https://mxnet.incubator.apache.org/tutorials/)
 * [Design Notes](https://mxnet.incubator.apache.org/architecture/index.html)
 * [Code Examples](https://github.com/dmlc/mxnet/tree/master/example)
-* [Installation](https://mxnet.incubator.apache.org/get_started/install.html)
+* [Installation](https://mxnet.incubator.apache.org/install/index.html)
 * [Pretrained Models](https://github.com/dmlc/mxnet-model-gallery)
 * [Contribute to 
MXNet](https://mxnet.incubator.apache.org/community/contribute.html)
-* [Frequent Asked 
Questions](https://mxnet.incubator.apache.org/how_to/faq.html)
+* [Frequent Asked Questions](https://mxnet.incubator.apache.org/faq/faq.html)
 
 Features
 --------
diff --git a/docs/architecture/release_note_0_9.md 
b/docs/architecture/release_note_0_9.md
index 61bad50ea6..afcc091d7c 100644
--- a/docs/architecture/release_note_0_9.md
+++ b/docs/architecture/release_note_0_9.md
@@ -4,7 +4,7 @@ Version 0.9 brings a number of important features and changes, 
including a back-
 
 ## 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](../how_to/new_op.md)
+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
diff --git a/docs/community/index.md b/docs/community/index.md
index 6d3f345dc9..ab98856e30 100644
--- a/docs/community/index.md
+++ b/docs/community/index.md
@@ -8,9 +8,9 @@ We track bugs and new feature requests in the MXNet Github repo 
in the issues fo
 ## Contributors
 MXNet has been developed and is used by a group of active community members. 
Contribute to improving it! For more information, see 
[contributions](http://mxnet.io/community/contribute.html).
 
-Please join the contributor mailing list. 
[subscribe]('mailto:[email protected]') 
[archive](https://lists.apache.org/[email protected])
+Please join the contributor mailing list. 
[subscribe](mailto://[email protected]) 
[archive](https://lists.apache.org/[email protected])
 
-To join the MXNet slack channel send request to the contributor mailing list. 
[subscribe]('mailto:[email protected]') 
[archive](https://the-asf.slackarchive.io/mxnet)
+To join the MXNet slack channel send request to the contributor mailing list. 
[subscribe](mailto://[email protected]) 
[archive](https://the-asf.slackarchive.io/mxnet)
 
 ## Roadmap
 
diff --git a/docs/faq/env_var.md b/docs/faq/env_var.md
index 7a4f8d568d..41b8bcabe3 100644
--- a/docs/faq/env_var.md
+++ b/docs/faq/env_var.md
@@ -24,7 +24,7 @@ export MXNET_GPU_WORKER_NTHREADS=3
   - The number of threads given to prioritized CPU jobs.
 * MXNET_CPU_NNPACK_NTHREADS
   - Values: Int ```(default=4)```
-  - The number of threads used for NNPACK. NNPACK package aims to provide 
high-performance implementations of some layers for multi-core CPUs. Checkout 
[NNPACK](http://mxnet.io/how_to/nnpack.html) to know more about it.
+  - The number of threads used for NNPACK. NNPACK package aims to provide 
high-performance implementations of some layers for multi-core CPUs. Checkout 
[NNPACK](http://mxnet.io/faq/nnpack.html) to know more about it.
 
 ## Memory Options
 
diff --git a/docs/faq/faq.md b/docs/faq/faq.md
index 0569963a79..668587ec68 100644
--- a/docs/faq/faq.md
+++ b/docs/faq/faq.md
@@ -48,10 +48,10 @@ copied_model =  mx.model.FeedForward(ctx=mx.gpu(), 
symbol=new_symbol,
                                      arg_params=old_arg_params, 
aux_params=old_aux_params,
                                      allow_extra_params=True);
 ```
-For information about copying model parameters from an existing 
```old_arg_params```, see this 
[notebook](https://github.com/dmlc/mxnet-notebooks/blob/master/python/how_to/predict.ipynb).
 More notebooks please refer to 
[dmlc/mxnet-notebooks](https://github.com/dmlc/mxnet-notebooks).
+For information about copying model parameters from an existing 
```old_arg_params```, see this 
[notebook](https://github.com/dmlc/mxnet-notebooks/blob/master/python/faq/predict.ipynb).
 More notebooks please refer to 
[dmlc/mxnet-notebooks](https://github.com/dmlc/mxnet-notebooks).
 
 #### How to Extract the Feature Map of a Certain Layer
-See this 
[notebook](https://github.com/dmlc/mxnet-notebooks/blob/master/python/how_to/predict.ipynb).
 More notebooks please refer to 
[dmlc/mxnet-notebooks](https://github.com/dmlc/mxnet-notebooks).
+See this 
[notebook](https://github.com/dmlc/mxnet-notebooks/blob/master/python/faq/predict.ipynb).
 More notebooks please refer to 
[dmlc/mxnet-notebooks](https://github.com/dmlc/mxnet-notebooks).
 
 
 #### What Is the Relationship Between MXNet and CXXNet, Minerva, and Purine2?
diff --git a/docs/faq/finetune.md b/docs/faq/finetune.md
index 533c3caf52..2c6c7e3402 100644
--- a/docs/faq/finetune.md
+++ b/docs/faq/finetune.md
@@ -15,7 +15,7 @@ with these pretrained weights when training on our new task. 
This process is
 commonly called _fine-tuning_. There are a number of variations of fine-tuning.
 Sometimes, the initial neural network is used only as a _feature extractor_.
 That means that we freeze every layer prior to the output layer and simply 
learn
-a new output layer. In [another 
document](https://github.com/dmlc/mxnet-notebooks/blob/master/python/how_to/predict.ipynb),
 we explained how to
+a new output layer. In [another 
document](https://github.com/dmlc/mxnet-notebooks/blob/master/python/faq/predict.ipynb),
 we explained how to
 do this kind of feature extraction. Another approach is to update all of
 the network's weights for the new task, and that's the approach we demonstrate 
in
 this document.
diff --git a/docs/faq/gradient_compression.md b/docs/faq/gradient_compression.md
index 4cd58f05d5..e2dbd3271d 100644
--- a/docs/faq/gradient_compression.md
+++ b/docs/faq/gradient_compression.md
@@ -85,7 +85,7 @@ A reference `gluon` implementation with a gradient 
compression option can be fou
 mod = mx.mod.Module(..., compression_params={'type?:'2bit', 'threshold':0.5})
 ```
 
-A `module` example is provided with [this guide for setting up MXNet with 
distributed 
training](https://mxnet.incubator.apache.org/versions/master/how_to/multi_devices.html#distributed-training-with-multiple-machines).
 It comes with the option of turning on gradient compression as an argument to 
the [train_mnist.py 
script](https://github.com/apache/incubator-mxnet/blob/master/example/image-classification/train_mnist.py).
+A `module` example is provided with [this guide for setting up MXNet with 
distributed 
training](https://mxnet.incubator.apache.org/versions/master/faq/multi_devices.html#distributed-training-with-multiple-machines).
 It comes with the option of turning on gradient compression as an argument to 
the [train_mnist.py 
script](https://github.com/apache/incubator-mxnet/blob/master/example/image-classification/train_mnist.py).
 
 ### Configuration Details
 
diff --git a/docs/faq/multi_devices.md b/docs/faq/multi_devices.md
index 9bd582c49f..5d538bca56 100644
--- a/docs/faq/multi_devices.md
+++ b/docs/faq/multi_devices.md
@@ -32,7 +32,7 @@ gradients are then summed over all GPUs before updating the 
model.
 
 > To use GPUs, we need to compile MXNet with GPU support. For
 > example, set `USE_CUDA=1` in `config.mk` before `make`. (see
-> [MXNet installation guide](http://mxnet.io/get_started/install.html) for 
more options).
+> [MXNet installation guide](http://mxnet.io/install/index.html) for more 
options).
 
 If a machine has one or more GPU cards installed,
 then each card is labeled by a number starting from 0.
@@ -57,17 +57,17 @@ If the available GPUs are not all equally powerful,
 we can partition the workload accordingly.
 For example, if GPU 0 is 3 times faster than GPU 2,
 then we might use the workload option `work_load_list=[3, 1]`,
-see [Module](../api/python/module.html#mxnet.module.Module)
+see [Module](http://mxnet.io/api/python/module/module.html#mxnet.module.Module)
 for more details.
 
 Training with multiple GPUs should yield the same results
-as training on a single GPU if all other hyper-parameters are the same.
+as training on a single GPU if all other hyper-parameters are the same.f
 In practice, the results may exhibit small differences,
 owing to the randomness of I/O (random order or other augmentations),
 weight initialization with different seeds, and CUDNN.
 
 We can control on which devices the gradient is aggregated
-and on which device the model is updated via 
[`KVStore`](http://mxnet.io/api/python/kvstore.html),
+and on which device the model is updated via 
[`KVStore`](http://mxnet.io/api/python/kvstore/kvstore.html),
 the _MXNet_ module that supports data communication.
 One can either use `mx.kvstore.create(type)` to get an instance
 or use the program flag `--kv-store type`.
@@ -101,7 +101,7 @@ When using a large number of GPUs, e.g. >=4, we suggest 
using `device` for bette
 ### How to Launch a Job
 
 > To use distributed training, we need to compile with `USE_DIST_KVSTORE=1`
-> (see [MXNet installation guide](http://mxnet.io/get_started/install.html) 
for more options).
+> (see [MXNet installation guide](http://mxnet.io/install/index.html) for more 
options).
 
 Launching a distributed job is a bit different from running on a single
 machine. MXNet provides
@@ -210,4 +210,4 @@ export PS_VERBOSE=1; python ../../tools/launch.py ...
 ### More
 
 - See more launch options by `python ../../tools/launch.py -h`
-- See more options of 
[ps-lite](http://ps-lite.readthedocs.org/en/latest/how_to.html)
+- See more options of 
[ps-lite](http://ps-lite.readthedocs.org/en/latest/faq.html)
diff --git a/docs/faq/nnpack.md b/docs/faq/nnpack.md
index b17c6ee6cd..ed38cb07df 100644
--- a/docs/faq/nnpack.md
+++ b/docs/faq/nnpack.md
@@ -69,7 +69,7 @@ $ cd ~
 * Set lib path of NNPACK as the environment variable, e.g. `export 
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$YOUR_NNPACK_INSTALL_PATH/lib`
 * Add the include file of NNPACK and its third-party to  `ADD_CFLAGS` in 
config.mk, e.g. `ADD_CFLAGS = -I$(YOUR_NNPACK_INSTALL_PATH)/include/ 
-I$(YOUR_NNPACK_INSTALL_PATH)/third-party/pthreadpool/include/`
 * Set `USE_NNPACK = 1` in config.mk.
-* Build MXNet from source following the [install 
guide](http://mxnet.io/get_started/install.html).
+* Build MXNet from source following the [install 
guide](http://mxnet.io/install/index.html).
 
 ### NNPACK Performance
 
diff --git a/docs/faq/perf.md b/docs/faq/perf.md
index 8899ecc0a1..519959810f 100644
--- a/docs/faq/perf.md
+++ b/docs/faq/perf.md
@@ -191,7 +191,7 @@ where the batch size for Alexnet is increased by 8x.
 
 If more than one GPU or machine are used, MXNet uses `kvstore` to communicate 
data.
 It's critical to use the proper type of `kvstore` to get the best performance.
-Refer to [multi_device.md](http://mxnet.io/how_to/multi_devices.html) for more
+Refer to [multi_device.md](http://mxnet.io/faq/multi_devices.html) for more
 details.
 
 Besides, we can use 
[tools/bandwidth](https://github.com/dmlc/mxnet/tree/master/tools/bandwidth)
@@ -225,7 +225,7 @@ by summarizing at the operator level, instead of a 
function, kernel, or instruct
 
 In order to be able to use the profiler, you must compile _MXNet_ with the 
`USE_PROFILER=1` flag in `config.mk`.
 
-The profiler can then be turned on with an [environment 
variable](http://mxnet.io/how_to/env_var.html#control-the-profiler)
+The profiler can then be turned on with an [environment 
variable](http://mxnet.io/faq/env_var.html#control-the-profiler)
 for an entire program run, or programmatically for just part of a run.
 See 
[example/profiler](https://github.com/dmlc/mxnet/tree/master/example/profiler)
 for complete examples of how to use the profiler in code, but briefly, the 
Python code looks like:
diff --git a/docs/faq/s3_integration.md b/docs/faq/s3_integration.md
index 4e6e96564d..0243567063 100644
--- a/docs/faq/s3_integration.md
+++ b/docs/faq/s3_integration.md
@@ -15,7 +15,7 @@ Following are detailed instructions on how to use data from 
S3 for training.
 
 ## Step 1: Build MXNet with S3 integration enabled
 
-Follow instructions [here](http://mxnet.io/get_started/install.html) to 
install MXNet from source with the following additional steps to enable S3 
integration.
+Follow instructions [here](http://mxnet.io/install/index.html) to install 
MXNet from source with the following additional steps to enable S3 integration.
 
 1. Install `libcurl4-openssl-dev` and `libssl-dev` before building MXNet. 
These packages are required to read/write from AWS S3.
 2. Append `USE_S3=1` to `config.mk` before building MXNet.
diff --git a/docs/faq/visualize_graph.md b/docs/faq/visualize_graph.md
index 21ab36ff92..0601021324 100644
--- a/docs/faq/visualize_graph.md
+++ b/docs/faq/visualize_graph.md
@@ -11,12 +11,12 @@ from which the result can be read.
 ## Prerequisites
 You need the [Jupyter Notebook](http://jupyter.readthedocs.io/en/latest/)
 and [Graphviz](http://www.graphviz.org/) libraries to visualize the network.
-Please make sure you have followed [installation 
instructions](http://mxnet.io/get_started/install.html)
+Please make sure you have followed [installation 
instructions](http://mxnet.io/install/index.html)
 in setting up above dependencies along with setting up MXNet.
 
 ## Visualize the sample Neural Network
 
-```mx.viz.plot_network``` takes 
[Symbol](http://mxnet.io/api/python/symbol.html), with your Network definition, 
and optional node_attrs, parameters for the shape of the node in the graph,  as 
input and generates a computation graph.
+```mx.viz.plot_network``` takes 
[Symbol](http://mxnet.io/api/python/symbol/symbol.html), with your Network 
definition, and optional node_attrs, parameters for the shape of the node in 
the graph,  as input and generates a computation graph.
 
 We will now try to visualize a sample Neural Network for linear matrix 
factorization:
 - Start Jupyter notebook server
diff --git a/docs/install/amazonlinux_setup.md 
b/docs/install/amazonlinux_setup.md
index 054e0304e1..42a4fcb0eb 100644
--- a/docs/install/amazonlinux_setup.md
+++ b/docs/install/amazonlinux_setup.md
@@ -1,8 +1,8 @@
 <!-- This page should be deleted after sometime (Allowing search engines
 to update links) -->
-<meta http-equiv="refresh" content="3; 
url=http://mxnet.io/get_started/install.html"; />
+<meta http-equiv="refresh" content="3; url=http://mxnet.io/install/index.html"; 
/>
 <!-- Just in case redirection does not work -->
 <p>
-  <a href="http://mxnet.io/get_started/install.html";>
+  <a href="http://mxnet.io/install/index.html";>
     This content is moved to a new MXNet install page. Redirecting... </a>
 </p>
diff --git a/docs/install/build_from_source.md 
b/docs/install/build_from_source.md
index 4f7083a824..5c558a9565 100644
--- a/docs/install/build_from_source.md
+++ b/docs/install/build_from_source.md
@@ -1,6 +1,6 @@
 # Build MXNet from Source
 
-**NOTE:** For MXNet with Python installation, please refer to the [new install 
guide](http://mxnet.io/get_started/install.html).
+**NOTE:** For MXNet with Python installation, please refer to the [new install 
guide](http://mxnet.io/install/index.html).
 
 This document explains how to build MXNet from sources. Building MXNet from 
sources is a 2 step process.
 
diff --git a/docs/install/centos_setup.md b/docs/install/centos_setup.md
index 054e0304e1..42a4fcb0eb 100644
--- a/docs/install/centos_setup.md
+++ b/docs/install/centos_setup.md
@@ -1,8 +1,8 @@
 <!-- This page should be deleted after sometime (Allowing search engines
 to update links) -->
-<meta http-equiv="refresh" content="3; 
url=http://mxnet.io/get_started/install.html"; />
+<meta http-equiv="refresh" content="3; url=http://mxnet.io/install/index.html"; 
/>
 <!-- Just in case redirection does not work -->
 <p>
-  <a href="http://mxnet.io/get_started/install.html";>
+  <a href="http://mxnet.io/install/index.html";>
     This content is moved to a new MXNet install page. Redirecting... </a>
 </p>
diff --git a/docs/install/osx_setup.md b/docs/install/osx_setup.md
index a009123fa0..8980de5520 100644
--- a/docs/install/osx_setup.md
+++ b/docs/install/osx_setup.md
@@ -1,6 +1,6 @@
 # Installing MXNet froum source on OS X (Mac)
 
-**NOTE:** For prebuild MXNet with Python installation, please refer to the 
[new install guide](http://mxnet.io/get_started/install.html).
+**NOTE:** For prebuild MXNet with Python installation, please refer to the 
[new install guide](http://mxnet.io/install/index.html).
 
 Installing MXNet is a two-step process:
 
@@ -217,5 +217,5 @@ After you build the shared library, run the following 
command from the MXNet sou
 ## Next Steps
 
 * [Tutorials](http://mxnet.io/tutorials/index.html)
-* [How To](http://mxnet.io/how_to/index.html)
+* [How To](http://mxnet.io/faq/index.html)
 * [Architecture](http://mxnet.io/architecture/index.html)
diff --git a/docs/install/raspbian_setup.md b/docs/install/raspbian_setup.md
index 054e0304e1..42a4fcb0eb 100644
--- a/docs/install/raspbian_setup.md
+++ b/docs/install/raspbian_setup.md
@@ -1,8 +1,8 @@
 <!-- This page should be deleted after sometime (Allowing search engines
 to update links) -->
-<meta http-equiv="refresh" content="3; 
url=http://mxnet.io/get_started/install.html"; />
+<meta http-equiv="refresh" content="3; url=http://mxnet.io/install/index.html"; 
/>
 <!-- Just in case redirection does not work -->
 <p>
-  <a href="http://mxnet.io/get_started/install.html";>
+  <a href="http://mxnet.io/install/index.html";>
     This content is moved to a new MXNet install page. Redirecting... </a>
 </p>
diff --git a/docs/install/tx2_setup.md b/docs/install/tx2_setup.md
index 054e0304e1..42a4fcb0eb 100644
--- a/docs/install/tx2_setup.md
+++ b/docs/install/tx2_setup.md
@@ -1,8 +1,8 @@
 <!-- This page should be deleted after sometime (Allowing search engines
 to update links) -->
-<meta http-equiv="refresh" content="3; 
url=http://mxnet.io/get_started/install.html"; />
+<meta http-equiv="refresh" content="3; url=http://mxnet.io/install/index.html"; 
/>
 <!-- Just in case redirection does not work -->
 <p>
-  <a href="http://mxnet.io/get_started/install.html";>
+  <a href="http://mxnet.io/install/index.html";>
     This content is moved to a new MXNet install page. Redirecting... </a>
 </p>
diff --git a/docs/install/ubuntu_setup.md b/docs/install/ubuntu_setup.md
index 15d06fc6ae..d33c04259c 100644
--- a/docs/install/ubuntu_setup.md
+++ b/docs/install/ubuntu_setup.md
@@ -1,6 +1,6 @@
 # Installing MXNet on Ubuntu
 
-**NOTE:** For MXNet with Python installation, please refer to the [new install 
guide](http://mxnet.io/get_started/install.html).
+**NOTE:** For MXNet with Python installation, please refer to the [new install 
guide](http://mxnet.io/install/index.html).
 
 MXNet currently supports Python, R, Julia, Scala, and Perl. For users of R on 
Ubuntu operating systems, MXNet provides a set of Git Bash scripts that 
installs all of the required MXNet dependencies and the MXNet library.
 
@@ -262,5 +262,5 @@ Before you build MXNet for Perl from source code, you must 
complete [building th
 ## Next Steps
 
 * [Tutorials](http://mxnet.io/tutorials/index.html)
-* [How To](http://mxnet.io/how_to/index.html)
+* [How To](http://mxnet.io/faq/index.html)
 * [Architecture](http://mxnet.io/architecture/index.html)
diff --git a/docs/install/windows_setup.md b/docs/install/windows_setup.md
index e5e92a7303..598a12fc4c 100755
--- a/docs/install/windows_setup.md
+++ b/docs/install/windows_setup.md
@@ -296,5 +296,5 @@ To install the MXNet Scala package into your local Maven 
repository, run the fol
 ## Next Steps
 
 * [Tutorials](http://mxnet.io/tutorials/index.html)
-* [How To](http://mxnet.io/how_to/index.html)
+* [How To](http://mxnet.io/faq/index.html)
 * [Architecture](http://mxnet.io/architecture/index.html)
diff --git a/docs/tutorials/basic/data.md b/docs/tutorials/basic/data.md
index b60626a489..66479d5acc 100644
--- a/docs/tutorials/basic/data.md
+++ b/docs/tutorials/basic/data.md
@@ -8,7 +8,7 @@ Here we discuss the API conventions and several provided 
iterators.
 
 To complete this tutorial, we need:  
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).  
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).  
 
 - [OpenCV Python library](http://opencv.org/opencv-3-2.html),  [Python 
Requests](http://docs.python-requests.org/en/master/), 
[Matplotlib](https://matplotlib.org/) and [Jupyter 
Notebook](http://jupyter.org/index.html).
 
@@ -31,10 +31,10 @@ Iterators provide an abstract interface for traversing 
various types of iterable
 
 In MXNet, data iterators return a batch of data as `DataBatch` on each call to 
`next`.
 A `DataBatch` often contains *n* training examples and their corresponding 
labels. Here *n* is the `batch_size` of the iterator. At the end of the data 
stream when there is no more data to read, the iterator raises 
``StopIteration`` exception like Python `iter`. 
-The structure of `DataBatch` is defined 
[here](http://mxnet.io/api/python/io.html#mxnet.io.DataBatch).
+The structure of `DataBatch` is defined 
[here](http://mxnet.io/api/python/io/io.html#mxnet.io.DataBatch).
 
 Information such as name, shape, type and layout on each training example and 
their corresponding label can be provided as `DataDesc` data descriptor objects 
via the `provide_data` and `provide_label` properties in `DataBatch`.
-The structure of `DataDesc` is defined 
[here](http://mxnet.io/api/python/io.html#mxnet.io.DataDesc).
+The structure of `DataDesc` is defined 
[here](http://mxnet.io/api/python/io/io.html#mxnet.io.DataDesc).
 
 All IO in MXNet is handled via `mx.io.DataIter` and its subclasses. In this 
tutorial, we'll discuss a few commonly used iterators provided by MXNet.
 
@@ -56,7 +56,7 @@ warnings.filterwarnings("ignore", category=DeprecationWarning)
 
 ## Reading data in memory
 When data is stored in memory, backed by either an `NDArray` or ``numpy`` 
`ndarray`,
-we can use the 
[__`NDArrayIter`__](http://mxnet.io/api/python/io.html#mxnet.io.NDArrayIter) to 
read data as below:
+we can use the 
[__`NDArrayIter`__](http://mxnet.io/api/python/io/io.html#mxnet.io.NDArrayIter) 
to read data as below:
 
 
 ```python
@@ -69,7 +69,7 @@ for batch in data_iter:
 ```
 
 ## Reading data from CSV files
-MXNet provides [`CSVIter`](http://mxnet.io/api/python/io.html#mxnet.io.CSVIter)
+MXNet provides 
[`CSVIter`](http://mxnet.io/api/python/io/io.html#mxnet.io.CSVIter)
 to read from CSV files and can be used as below:
 
 ```python
@@ -88,7 +88,7 @@ An iterator in _MXNet_ should
 1. Implement `next()` in ``Python2`` or `__next()__` in ``Python3``,
    returning a `DataBatch` or raising a `StopIteration` exception if at the 
end of the data stream.
 2. Implement the `reset()` method to restart reading from the beginning.
-3. Have a `provide_data` attribute, consisting of a list of `DataDesc` objects 
that store the name, shape, type and layout information of the data (more info 
[here](http://mxnet.io/api/python/io.html#mxnet.io.DataBatch)).
+3. Have a `provide_data` attribute, consisting of a list of `DataDesc` objects 
that store the name, shape, type and layout information of the data (more info 
[here](http://mxnet.io/api/python/io/io.html#mxnet.io.DataBatch)).
 4. Have a `provide_label` attribute consisting of a list of `DataDesc` objects 
that store the name, shape, type and layout information of the label.
 
 When creating a new iterator, you can either start from scratch and define an 
iterator or reuse one of the existing iterators.
@@ -209,8 +209,8 @@ Record IO is a file format used by MXNet for data IO.
 It compactly packs the data for efficient read and writes from distributed 
file system like Hadoop HDFS and AWS S3.
 You can learn more about the design of `RecordIO` 
[here](http://mxnet.io/architecture/note_data_loading.html).
 
-MXNet provides 
[__`MXRecordIO`__](http://mxnet.io/api/python/io.html#mxnet.recordio.MXRecordIO)
-and 
[__`MXIndexedRecordIO`__](http://mxnet.io/api/python/io.html#mxnet.recordio.MXIndexedRecordIO)
+MXNet provides 
[__`MXRecordIO`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.MXRecordIO)
+and 
[__`MXIndexedRecordIO`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.MXIndexedRecordIO)
 for sequential access of data and random access of the data.
 
 ### MXRecordIO
@@ -273,7 +273,7 @@ The `mx.recordio` package provides a few utility functions 
for such operations,
 
 #### Packing/Unpacking Binary Data
 
-[__`pack`__](http://mxnet.io/api/python/io.html#mxnet.recordio.pack) and 
[__`unpack`__](http://mxnet.io/api/python/io.html#mxnet.recordio.unpack) are 
used for storing float (or 1d array of float) label and binary data. The data 
is packed along with a header. The header structure is defined 
[here](http://mxnet.io/api/python/io.html#mxnet.recordio.IRHeader).
+[__`pack`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.pack) and 
[__`unpack`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.unpack) are 
used for storing float (or 1d array of float) label and binary data. The data 
is packed along with a header. The header structure is defined 
[here](http://mxnet.io/api/python/io/io.html#mxnet.recordio.IRHeader).
 
 
 ```python
@@ -296,7 +296,7 @@ print(mx.recordio.unpack(s2))
 
 #### Packing/Unpacking Image Data
 
-MXNet provides 
[__`pack_img`__](http://mxnet.io/api/python/io.html#mxnet.recordio.pack_img) 
and 
[__`unpack_img`__](http://mxnet.io/api/python/io.html#mxnet.recordio.unpack_img)
 to pack/unpack image data.
+MXNet provides 
[__`pack_img`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.pack_img) 
and 
[__`unpack_img`__](http://mxnet.io/api/python/io/io.html#mxnet.recordio.unpack_img)
 to pack/unpack image data.
 Records packed by `pack_img` can be loaded by `mx.io.ImageRecordIter`.
 
 
@@ -321,9 +321,9 @@ An example of how to use the script for converting to 
*RecordIO* format is shown
 In this section, we will learn how to preprocess and load image data in MXNet.
 
 There are 4 ways of loading image data in MXNet.
-   1. Using 
[__mx.image.imdecode__](http://mxnet.io/api/python/io.html#mxnet.image.imdecode)
 to load raw image files.
-   2. Using 
[__`mx.img.ImageIter`__](http://mxnet.io/api/python/io.html#mxnet.image.ImageIter)
 implemented in Python which is very flexible to customization. It can read 
from .rec(`RecordIO`) files and raw image files.
-   3. Using 
[__`mx.io.ImageRecordIter`__](http://mxnet.io/api/python/io.html#mxnet.io.ImageRecordIter)
 implemented on the MXNet backend in C++. This is less flexible to 
customization but provides various language bindings.
+   1. Using 
[__mx.image.imdecode__](http://mxnet.io/api/python/io/io.html#mxnet.image.imdecode)
 to load raw image files.
+   2. Using 
[__`mx.img.ImageIter`__](http://mxnet.io/api/python/io/io.html#mxnet.image.ImageIter)
 implemented in Python which is very flexible to customization. It can read 
from .rec(`RecordIO`) files and raw image files.
+   3. Using 
[__`mx.io.ImageRecordIter`__](http://mxnet.io/api/python/io/io.html#mxnet.io.ImageRecordIter)
 implemented on the MXNet backend in C++. This is less flexible to 
customization but provides various language bindings.
    4. Creating a Custom iterator inheriting `mx.io.DataIter`
 
 
@@ -407,7 +407,7 @@ os.system("python %s/tools/im2rec.py --num-thread=4 
--pass-through=1 data/caltec
 The record io files are now saved at here (./data)
 
 #### Using ImageRecordIter
-[__`ImageRecordIter`__](http://mxnet.io/api/python/io.html#mxnet.io.ImageRecordIter)
 can be used for loading image data saved in record io format. To use 
ImageRecordIter, simply create an instance by loading your record file:
+[__`ImageRecordIter`__](http://mxnet.io/api/python/io/io.html#mxnet.io.ImageRecordIter)
 can be used for loading image data saved in record io format. To use 
ImageRecordIter, simply create an instance by loading your record file:
 
 
 ```python
@@ -428,7 +428,7 @@ plt.show()
 ```
 
 #### Using ImageIter
-[__ImageIter__](http://mxnet.io/api/python/io.html#mxnet.io.ImageIter) is a 
flexible interface that supports loading of images in both RecordIO and Raw 
format.
+[__ImageIter__](http://mxnet.io/api/python/io/io.html#mxnet.io.ImageIter) is a 
flexible interface that supports loading of images in both RecordIO and Raw 
format.
 
 
 ```python
diff --git a/docs/tutorials/basic/module.md b/docs/tutorials/basic/module.md
index 6141f3e2fd..2d44951813 100644
--- a/docs/tutorials/basic/module.md
+++ b/docs/tutorials/basic/module.md
@@ -18,7 +18,7 @@ this tutorial.
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).  
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).  
 
 - [Jupyter Notebook](http://jupyter.org/index.html) and [Python 
Requests](http://docs.python-requests.org/en/master/) packages.
 ```
@@ -141,7 +141,7 @@ for epoch in range(5):
     Epoch 4, Training ('accuracy', 0.764375)
 
 
-To learn more about these APIs, visit [Module 
API](http://mxnet.io/api/python/module.html).
+To learn more about these APIs, visit [Module 
API](http://mxnet.io/api/python/module/module.html).
 
 ## High-level Interface
 
@@ -149,7 +149,7 @@ To learn more about these APIs, visit [Module 
API](http://mxnet.io/api/python/mo
 
 Module also provides high-level APIs for training, predicting and evaluating 
for
 user convenience. Instead of doing all the steps mentioned in the above 
section,
-one can simply call [fit 
API](http://mxnet.io/api/python/module.html#mxnet.module.BaseModule.fit)
+one can simply call [fit 
API](http://mxnet.io/api/python/module/module.html#mxnet.module.BaseModule.fit)
 and it internally executes the same steps.
 
 To fit a module, call the `fit` function as follows:
@@ -232,7 +232,7 @@ assert score[0][1] > 0.77, "Achieved accuracy (%f) is less 
than expected (0.77)"
 
 Some of the other metrics which can be used are `top_k_acc`(top-k-accuracy),
 `F1`, `RMSE`, `MSE`, `MAE`, `ce`(CrossEntropy). To learn more about the 
metrics,
-visit [Evaluation metric](http://mxnet.io/api/python/metric.html).
+visit [Evaluation metric](http://mxnet.io/api/python/metric/metric.html).
 
 One can vary number of epochs, learning_rate, optimizer parameters to change 
the score
 and tune these parameters to get best score.
diff --git a/docs/tutorials/basic/ndarray.md b/docs/tutorials/basic/ndarray.md
index bc5ce89c7b..2c171f2627 100644
--- a/docs/tutorials/basic/ndarray.md
+++ b/docs/tutorials/basic/ndarray.md
@@ -42,7 +42,7 @@ Each NDArray supports some important attributes that you'll 
often want to query:
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html)
 - [Jupyter](http://jupyter.org/)
     ```
     pip install jupyter
diff --git a/docs/tutorials/basic/symbol.md b/docs/tutorials/basic/symbol.md
index dc7daaea85..3a40e59784 100644
--- a/docs/tutorials/basic/symbol.md
+++ b/docs/tutorials/basic/symbol.md
@@ -26,7 +26,7 @@ which values will be needed later on.
 But with symbolic programming, we declare the required outputs in advance.
 This means that we can recycle memory allocated in intermediate steps,
 as by performing operations in place. Symbolic API also uses less memory for 
the
-same network. Refer to [How To](http://mxnet.io/how_to/index.html) and
+same network. Refer to [How To](http://mxnet.io/faq/index.html) and
 [Architecture](http://mxnet.io/architecture/index.html) section to know more.
 
 In our design notes, we present [a more thorough discussion on the comparative 
strengths
@@ -40,7 +40,7 @@ can produce multiple output symbols
 and can maintain internal state symbols.
 
 For a visual explanation of these concepts, see
-[Symbolic Configuration and Execution in 
Pictures](http://mxnet.io/api/python/symbol_in_pictures.html).
+[Symbolic Configuration and Execution in 
Pictures](http://mxnet.io/api/python/symbol_in_pictures/symbol_in_pictures.html).
 
 To make things concrete, let's take a hands-on look at the Symbol API.
 There are a few different ways to compose a `Symbol`.
@@ -49,7 +49,7 @@ There are a few different ways to compose a `Symbol`.
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html)
 - [Jupyter](http://jupyter.org/)
     ```
     pip install jupyter
@@ -383,7 +383,7 @@ Most operators such as `mx.sym.Convolution` and 
`mx.sym.Reshape` are implemented
 in C++ for better performance. MXNet also allows users to write new operators
 using any front-end language such as Python. It often makes the developing and
 debugging much easier. To implement an operator in Python, refer to
-[How to create new operators](http://mxnet.io/how_to/new_op.html).
+[How to create new operators](http://mxnet.io/faq/new_op.html).
 
 ## Advanced Usages
 
diff --git a/docs/tutorials/embedded/wine_detector.md 
b/docs/tutorials/embedded/wine_detector.md
index f2f7a4eda1..605b657f60 100644
--- a/docs/tutorials/embedded/wine_detector.md
+++ b/docs/tutorials/embedded/wine_detector.md
@@ -37,9 +37,7 @@ To complete this tutorial, you need:
 
 ## Building MXNet for The Pi
 
-The first step will be to get MXNet with the Python bindings running on your 
Raspberry Pi 3. There is a tutorial for that provided on 
[here](http://mxnet.io/get_started/raspbian_setup.html). In short you will have 
to download the dependencies, and build the full MXNet library for the Pi with 
the ARM specific compile flags. Be sure to build the library with open CV as we 
will be using a model that requires it to process images. Then you will finally 
the Python bindings. Once this is done you should test that works by opening a 
python REPL on your Pi and typing the following commands:
-
-The first step is to get MXNet with the Python bindings running on your 
Raspberry Pi 3. There is a tutorial for that provided 
[here](http://mxnet.io/get_started/raspbian_setup.html). The linked tutorial 
walks you through downloading the dependencies, and building the full MXNet 
library for the Pi with the ARM specific compile flags. Be sure to build the 
library with open CV as we will be using a model that requires it to process 
images. Then you will register the Python bindings to MXNet. After this is done 
you should test that your installation works by opening a python REPL on your 
Pi and typing the following commands:
+The first step is to get MXNet with the Python bindings running on your 
Raspberry Pi 3. There is a tutorial for that provided 
[here](http://mxnet.io/insstall/index.html). The linked tutorial walks you 
through downloading the dependencies, and building the full MXNet library for 
the Pi with the ARM specific compile flags. Be sure to build the library with 
open CV as we will be using a model that requires it to process images. Then 
you will register the Python bindings to MXNet. After this is done you should 
test that your installation works by opening a python REPL on your Pi and 
typing the following commands:
 
 
 ```bash
diff --git a/docs/tutorials/gluon/mnist.md b/docs/tutorials/gluon/mnist.md
index ce23f1f7e8..0bd616c369 100644
--- a/docs/tutorials/gluon/mnist.md
+++ b/docs/tutorials/gluon/mnist.md
@@ -16,7 +16,7 @@ This is based on the Mnist tutorial with symbolic approach. 
You can find it [her
 ## Prerequisites
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).
 
 - [Python Requests](http://docs.python-requests.org/en/master/) and [Jupyter 
Notebook](http://jupyter.org/index.html).
 
diff --git a/docs/tutorials/python/linear-regression.md 
b/docs/tutorials/python/linear-regression.md
index fc3e7136c1..9dfcf07981 100644
--- a/docs/tutorials/python/linear-regression.md
+++ b/docs/tutorials/python/linear-regression.md
@@ -8,7 +8,7 @@ The function we are trying to learn is: *y = x<sub>1</sub>  +  
2x<sub>2</sub>*,
 
 To complete this tutorial, we need:  
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).  
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).  
 
 - [Jupyter Notebook](http://jupyter.org/index.html).
 
@@ -56,7 +56,7 @@ eval_iter = mx.io.NDArrayIter(eval_data, eval_label, 
batch_size, shuffle=False)
 In the above example, we have made use of `NDArrayIter`, which is useful for 
iterating
 over both numpy ndarrays and MXNet NDArrays. In general, there are different 
types of iterators in
 MXNet and you can use one based on the type of data you are processing.
-Documentation for iterators can be found 
[here](http://mxnet.io/api/python/io.html).
+Documentation for iterators can be found 
[here](http://mxnet.io/api/python/io/io.html).
 
 ## MXNet Classes
 
@@ -94,7 +94,7 @@ and make up various components of the model. Symbols are used 
to define:
 
 The ones described above and other symbols are chained together with the 
output of
 one symbol serving as input to the next to build the network topology. More 
information
-about the different types of symbols can be found 
[here](http://mxnet.io/api/python/symbol.html).
+about the different types of symbols can be found 
[here](http://mxnet.io/api/python/symbol/symbol.html).
 
 ```python
 X = mx.sym.Variable('data')
diff --git a/docs/tutorials/python/mnist.md b/docs/tutorials/python/mnist.md
index 8e3340950b..067ded96ab 100644
--- a/docs/tutorials/python/mnist.md
+++ b/docs/tutorials/python/mnist.md
@@ -11,7 +11,7 @@ MNIST is a widely used dataset for the hand-written digit 
classification task. I
 ## Prerequisites
 To complete this tutorial, we need:  
 
-- MXNet version 0.10 or later. See the installation instructions for your 
operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).
+- MXNet version 0.10 or later. See the installation instructions for your 
operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).
 
 - [Python Requests](http://docs.python-requests.org/en/master/) and [Jupyter 
Notebook](http://jupyter.org/index.html).
 
@@ -57,7 +57,7 @@ data = mx.sym.flatten(data=data)
 ```
 One might wonder if we are discarding valuable information by flattening. That 
is indeed true and we'll cover this more when we talk about convolutional 
neural networks where we preserve the input shape. For now, we'll go ahead and 
work with flattened images.
 
-MLPs contains several fully connected layers. A fully connected layer or FC 
layer for short, is one where each neuron in the layer is connected to every 
neuron in its preceding layer. From a linear algebra perspective, an FC layer 
applies an [affine 
transform](https://en.wikipedia.org/wiki/Affine_transformation) to the *n x m* 
input matrix *X* and outputs a matrix *Y* of size *n x k*, where *k* is the 
number of neurons in the FC layer. *k* is also referred to as the hidden size. 
The output *Y* is computed according to the equation *Y = X W<sup>T</sup> + b*. 
The FC layer has two learnable parameters, the *k x m* weight matrix *W* and 
the *1 x k* bias vector *b*. The summation of bias vector follows the 
broadcasting rules explained in 
[`mxnet.sym.broadcast_to()`](https://mxnet.incubator.apache.org/api/python/symbol.html#mxnet.symbol.broadcast_to).
 Conceptually, broadcasting replicates row elements of the bias vector to 
create an *n x k* matrix before summation.
+MLPs contains several fully connected layers. A fully connected layer or FC 
layer for short, is one where each neuron in the layer is connected to every 
neuron in its preceding layer. From a linear algebra perspective, an FC layer 
applies an [affine 
transform](https://en.wikipedia.org/wiki/Affine_transformation) to the *n x m* 
input matrix *X* and outputs a matrix *Y* of size *n x k*, where *k* is the 
number of neurons in the FC layer. *k* is also referred to as the hidden size. 
The output *Y* is computed according to the equation *Y = X W<sup>T</sup> + b*. 
The FC layer has two learnable parameters, the *k x m* weight matrix *W* and 
the *1 x k* bias vector *b*. The summation of bias vector follows the 
broadcasting rules explained in 
[`mxnet.sym.broadcast_to()`](https://mxnet.incubator.apache.org/api/python/symbol/symbol.html#mxnet.symbol.broadcast_to).
 Conceptually, broadcasting replicates row elements of the bias vector to 
create an *n x k* matrix before summation.
 
 
 In an MLP, the outputs of most FC layers are fed into an activation function, 
which applies an element-wise non-linearity. This step is critical and it gives 
neural networks the ability to classify inputs that are not linearly separable. 
Common choices for activation functions are sigmoid, tanh, and [rectified 
linear unit](https://en.wikipedia.org/wiki/Rectifier_%28neural_networks%29) 
(ReLU). In this example, we'll use the ReLU activation function which has 
several desirable properties and is typically considered a default choice.
diff --git a/docs/tutorials/python/predict_image.md 
b/docs/tutorials/python/predict_image.md
index 9a62e67fea..afd2bd7193 100644
--- a/docs/tutorials/python/predict_image.md
+++ b/docs/tutorials/python/predict_image.md
@@ -7,7 +7,7 @@ pre-trained model, and how to perform feature extraction.
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html)
 
 - [Python Requests](http://docs.python-requests.org/en/master/), 
[Matplotlib](https://matplotlib.org/) and [Jupyter 
Notebook](http://jupyter.org/index.html).
 
diff --git a/docs/tutorials/r/ndarray.md b/docs/tutorials/r/ndarray.md
index e00f947068..cb7639a8a4 100644
--- a/docs/tutorials/r/ndarray.md
+++ b/docs/tutorials/r/ndarray.md
@@ -199,7 +199,7 @@ the results.
 
 ## Next Steps
 * [Symbol](http://mxnet.io/tutorials/r/symbol.html)
-* [Write and use callback 
functions](http://mxnet.io/tutorials/r/CallbackFunctionTutorial.html)
+* [Write and use callback 
functions](http://mxnet.io/tutorials/r/CallbackFunction.html)
 * [Neural Networks with MXNet in Five 
Minutes](http://mxnet.io/tutorials/r/fiveMinutesNeuralNetwork.html)
 * [Classify Real-World Images with Pre-trained 
Model](http://mxnet.io/tutorials/r/classifyRealImageWithPretrainedModel.html)
 * [Handwritten Digits Classification 
Competition](http://mxnet.io/tutorials/r/mnistCompetition.html)
diff --git a/docs/tutorials/r/symbol.md b/docs/tutorials/r/symbol.md
index 6ab4dc2d3d..4a87643b9f 100644
--- a/docs/tutorials/r/symbol.md
+++ b/docs/tutorials/r/symbol.md
@@ -123,7 +123,7 @@ be more memory efficient than CXXNet and gets to the same 
runtime with
 greater flexibility.
 
 ## Next Steps
-* [Write and use callback 
functions](http://mxnet.io/tutorials/r/CallbackFunctionTutorial.html)
+* [Write and use callback 
functions](http://mxnet.io/tutorials/r/CallbackFunction.html)
 * [Neural Networks with MXNet in Five 
Minutes](http://mxnet.io/tutorials/r/fiveMinutesNeuralNetwork.html)
 * [Classify Real-World Images with Pre-trained 
Model](http://mxnet.io/tutorials/r/classifyRealImageWithPretrainedModel.html)
 * [Handwritten Digits Classification 
Competition](http://mxnet.io/tutorials/r/mnistCompetition.html)
diff --git a/docs/tutorials/scala/char_lstm.md 
b/docs/tutorials/scala/char_lstm.md
index 466d827269..5ec303e7df 100644
--- a/docs/tutorials/scala/char_lstm.md
+++ b/docs/tutorials/scala/char_lstm.md
@@ -6,7 +6,7 @@ There are many documents that explain LSTM concepts. If you 
aren't familiar with
 - Christopher Olah's [Understanding LSTM blog 
post](http://colah.github.io/posts/2015-08-Understanding-LSTMs/)
 - [Training a LSTM char-rnn in Julia to Generate Random 
Sentences](http://dmlc.ml/mxnet/2015/11/15/char-lstm-in-julia.html)
 - [Bucketing in MXNet in 
Python](https://github.com/dmlc/mxnet-notebooks/blob/master/python/tutorials/char_lstm.ipynb)
-- [Bucketing in MXNet](http://mxnet.io/how_to/bucketing.html)
+- [Bucketing in MXNet](http://mxnet.io/faq/bucketing.html)
 
 ## How to Use This Tutorial
 
@@ -56,7 +56,7 @@ In this tutorial, you will accomplish the following:
 
 To complete this tutorial, you need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html)
 - [Scala 2.11.8](https://www.scala-lang.org/download/2.11.8.html)
 - [Maven 3](https://maven.apache.org/install.html)
 
diff --git a/docs/tutorials/scala/mnist.md b/docs/tutorials/scala/mnist.md
index ad55ee4c02..6df9175536 100644
--- a/docs/tutorials/scala/mnist.md
+++ b/docs/tutorials/scala/mnist.md
@@ -7,7 +7,7 @@ Let's train a 3-layer network (i.e multilayer perceptron 
network) on the MNIST d
 ## Prerequisites
 To complete this tutorial, we need:
 
-- to compile the latest MXNet version. See the MXNet installation instructions 
for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).
+- to compile the latest MXNet version. See the MXNet installation instructions 
for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).
 - to compile the Scala API. See Scala API build instructions in 
[Build](https://github.com/dmlc/mxnet/tree/master/scala-package).
 
 ## Define the Network
diff --git a/docs/tutorials/scala/mxnet_scala_on_intellij.md 
b/docs/tutorials/scala/mxnet_scala_on_intellij.md
index eb667e9792..dd2ac630e9 100644
--- a/docs/tutorials/scala/mxnet_scala_on_intellij.md
+++ b/docs/tutorials/scala/mxnet_scala_on_intellij.md
@@ -7,7 +7,7 @@ To use this tutorial, you need:
 
 - [Maven 3](https://maven.apache.org/install.html).
 - [Scala 2.11.8](https://www.scala-lang.org/download/2.11.8.html).
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).
 - The MXNet package for Scala. For installation instructions, see [this 
procedure](http://mxnet.io/get_started/osx_setup.html#install-the-mxnet-package-for-scala).
 - [IntelliJ IDE](https://www.jetbrains.com/idea/).
 
diff --git a/docs/tutorials/sparse/csr.md b/docs/tutorials/sparse/csr.md
index f4d7b7ddf7..bbe71ff40c 100644
--- a/docs/tutorials/sparse/csr.md
+++ b/docs/tutorials/sparse/csr.md
@@ -21,7 +21,7 @@ The introduction of `CSRNDArray` also brings a new attribute, 
`stype` as a holde
 
 To complete this tutorial, you will need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](https://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](https://mxnet.io/install/index.html)
 - [Jupyter](http://jupyter.org/)
     ```
     pip install jupyter
diff --git a/docs/tutorials/sparse/row_sparse.md 
b/docs/tutorials/sparse/row_sparse.md
index 70ca6b8838..d4f6884411 100644
--- a/docs/tutorials/sparse/row_sparse.md
+++ b/docs/tutorials/sparse/row_sparse.md
@@ -80,7 +80,7 @@ In this tutorial, we will describe what the row sparse format 
is and how to use
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](https://mxnet.io/get_started/install.html)
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](https://mxnet.io/install/index.html)
 - [Jupyter](http://jupyter.org/)
     ```
     pip install jupyter
diff --git a/docs/tutorials/sparse/train.md b/docs/tutorials/sparse/train.md
index 6f4e8087bb..e31f0465da 100644
--- a/docs/tutorials/sparse/train.md
+++ b/docs/tutorials/sparse/train.md
@@ -10,7 +10,7 @@ then train a linear regression model using sparse symbols 
with the Module API.
 
 To complete this tutorial, we need:
 
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).  
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).  
 
 - [Jupyter Notebook](http://jupyter.org/index.html) and [Python 
Requests](http://docs.python-requests.org/en/master/) packages.
 ```
@@ -214,8 +214,8 @@ The function you will explore is: *y = x<sub>1</sub>  +  
2x<sub>2</sub> + ... 10
 
 ### Preparing the Data
 
-In MXNet, both 
[mx.io.LibSVMIter](https://mxnet.incubator.apache.org/versions/master/api/python/io.html#mxnet.io.LibSVMIter)
-and 
[mx.io.NDArrayIter](https://mxnet.incubator.apache.org/versions/master/api/python/io.html#mxnet.io.NDArrayIter)
+In MXNet, both 
[mx.io.LibSVMIter](https://mxnet.incubator.apache.org/versions/master/api/python/io/io.html#mxnet.io.LibSVMIter)
+and 
[mx.io.NDArrayIter](https://mxnet.incubator.apache.org/versions/master/api/python/io/io.html#mxnet.io.NDArrayIter)
 support loading sparse data in CSR format. In this example, we'll use the 
`NDArrayIter`.
 
 You may see some warnings from SciPy. You don't need to worry about those for 
this example.
diff --git a/docs/tutorials/vision/large_scale_classification.md 
b/docs/tutorials/vision/large_scale_classification.md
index 1cf22708ef..17701e6047 100644
--- a/docs/tutorials/vision/large_scale_classification.md
+++ b/docs/tutorials/vision/large_scale_classification.md
@@ -3,7 +3,7 @@
 Training a neural network with a large number of images presents several 
challenges. Even with the latest GPUs, it is not possible to train large 
networks using a large number of images in a reasonable amount of time using a 
single GPU. This problem can be somewhat mitigated by using multiple GPUs in a 
single machine. But there is a limit to the number of GPUs that can be attached 
to one machine (typically 8 or 16). This tutorial explains how to train large 
networks with terabytes of data using multiple machines each containing 
multiple GPUs.
 
 ## Prerequisites
-- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/get_started/install.html).  
+- MXNet. See the instructions for your operating system in [Setup and 
Installation](http://mxnet.io/install/index.html).  
 
 - [OpenCV Python library](http://opencv.org/opencv-3-2.html)
 
@@ -247,7 +247,7 @@ It is often straightforward to achieve a reasonable 
validation accuracy, but ach
 - Increase --data-nthreads (default is 4) to use more threads for data 
preprocessing.
 - Data preprocessing is done by opencv. If opencv is compiled from source 
code, check if it is configured correctly.
 - Use `--benchmark 1` to use randomly generated data rather than real data to 
narrow down where the bottleneck is.
-- Check [this](http://mxnet.io/how_to/perf.html) page for more details.
+- Check [this](http://mxnet.io/faq/perf.html) page for more details.
 
 ### Memory
 If the batch size is too big, it can exhaust GPU memory. If this happens, 
you?ll see the error message ?cudaMalloc failed: out of memory? or something 
similar. There are a couple of ways to fix this:
diff --git a/example/caffe/README.md b/example/caffe/README.md
index 2a28e012a5..466305cc9b 100644
--- a/example/caffe/README.md
+++ b/example/caffe/README.md
@@ -2,7 +2,7 @@
 
 [Caffe](http://caffe.berkeleyvision.org/) has been a well-known and 
widely-used deep learning framework. Now MXNet has supported calling most caffe 
operators(layers) and loss functions directly in its symbolic graph! Using 
one's own customized caffe layer is also effortless.
 
-Besides Caffe, MXNet has already embedded Torch modules and its tensor 
mathematical functions. 
([link](https://github.com/dmlc/mxnet/blob/master/docs/how_to/torch.md))
+Besides Caffe, MXNet has already embedded Torch modules and its tensor 
mathematical functions. 
([link](https://github.com/dmlc/mxnet/blob/master/docs/faq/torch.md))
 
 This blog demonstrates two steps to use Caffe op in MXNet:
 
diff --git a/example/image-classification/README.md 
b/example/image-classification/README.md
index 8a64b5530a..296760590f 100644
--- a/example/image-classification/README.md
+++ b/example/image-classification/README.md
@@ -205,7 +205,7 @@ python fine-tune.py --pretrained-model 
imagenet11k-resnet-152 --gpus 0,1,2,3,4,5
 
 We obtained 87.3% top-1 validation accuracy, and the training log is available
 
[here](https://gist.github.com/mli/900b810258e2e0bc26fa606977a3b043#file-finetune-caltech265).
 See
-the [python notebook](http://mxnet.io/how_to/finetune.html) for more
+the [python notebook](http://mxnet.io/faq/finetune.html) for more
 explanations.
 
 ## Distributed Training
@@ -242,7 +242,7 @@ For more usages:
 - One can use
   
[benchmark.py](https://github.com/dmlc/mxnet/blob/master/example/image-classification/benchmark.py)
   to run distributed benchmarks (also for multiple GPUs with single machine)
-- A how-to [tutorial](http://mxnet.io/how_to/multi_devices.html) with more
+- A how-to [tutorial](http://mxnet.io/faq/multi_devices.html) with more
   explanation.
 - A
   
[blog](https://aws.amazon.com/blogs/compute/distributed-deep-learning-made-easy/)
@@ -357,7 +357,7 @@ aspects:
     codes, check if it is configured correctly.
   - Use `--benchmark 1` to use randomly generated data rather than real data.
 
-Refer to [how_to/performance](http://mxnet.io/how_to/perf.html) for more 
details
+Refer to [faq/performance](http://mxnet.io/faq/perf.html) for more details
 about CPU, GPU and multi-device performance.
 
 ### Memory
diff --git a/example/recommenders/crossentropy.py 
b/example/recommenders/crossentropy.py
index d8577ed898..ff44808287 100644
--- a/example/recommenders/crossentropy.py
+++ b/example/recommenders/crossentropy.py
@@ -25,7 +25,7 @@
 import numpy as np
 import mxnet as mx
 
-# ref: http://mxnet.io/how_to/new_op.html
+# ref: http://mxnet.io/faq/new_op.html
 
 class CrossEntropyLoss(mx.operator.CustomOp):
     """An output layer that calculates gradient for cross-entropy loss
diff --git a/example/recommenders/randomproj.py 
b/example/recommenders/randomproj.py
index ba080a07ec..83ce3a1e73 100644
--- a/example/recommenders/randomproj.py
+++ b/example/recommenders/randomproj.py
@@ -23,7 +23,7 @@
 import mxnet as mx
 
 
-# ref: http://mxnet.io/how_to/new_op.html
+# ref: http://mxnet.io/faq/new_op.html
 
 class RandomBagOfWordsProjection(mx.operator.CustomOp):
     """Random projection layer for sparse bag-of-words (n-hot) inputs.
diff --git a/example/rnn/bucketing/README.md b/example/rnn/bucketing/README.md
index 0481609c23..b46642bea0 100644
--- a/example/rnn/bucketing/README.md
+++ b/example/rnn/bucketing/README.md
@@ -32,5 +32,5 @@ This folder contains RNN examples using high level mxnet.rnn 
interface.
 
 ### Performance Note:
 
-More ```MXNET_GPU_WORKER_NTHREADS``` may lead to better performance. For 
setting ```MXNET_GPU_WORKER_NTHREADS```, please refer to [Environment 
Variables](http://mxnet.incubator.apache.org/how_to/env_var.html).
+More ```MXNET_GPU_WORKER_NTHREADS``` may lead to better performance. For 
setting ```MXNET_GPU_WORKER_NTHREADS```, please refer to [Environment 
Variables](http://mxnet.incubator.apache.org/faq/env_var.html).
 
diff --git a/example/rnn/old/README.md b/example/rnn/old/README.md
index 754048136c..c03b36a9d8 100644
--- a/example/rnn/old/README.md
+++ b/example/rnn/old/README.md
@@ -15,4 +15,4 @@ Run `get_ptb_data.sh` to download PenTreeBank data.
 
 
 Performance Note:
-More ```MXNET_GPU_WORKER_NTHREADS``` may lead to better performance. For 
setting ```MXNET_GPU_WORKER_NTHREADS```, please refer to [Environment 
Variables](https://mxnet.readthedocs.org/en/latest/how_to/env_var.html).
+More ```MXNET_GPU_WORKER_NTHREADS``` may lead to better performance. For 
setting ```MXNET_GPU_WORKER_NTHREADS```, please refer to [Environment 
Variables](https://mxnet.readthedocs.org/en/latest/faq/env_var.html).
diff --git a/example/sparse/linear_classification/README.md 
b/example/sparse/linear_classification/README.md
index 7e2a7ad37f..926d923426 100644
--- a/example/sparse/linear_classification/README.md
+++ b/example/sparse/linear_classification/README.md
@@ -2,7 +2,7 @@ Linear Classification Using Sparse Matrix Multiplication
 ===========
 This examples trains a linear model using the sparse feature in MXNet. This is 
for demonstration purpose only.
 
-The example utilizes the sparse data loader 
([mx.io.LibSVMIter](https://mxnet.incubator.apache.org/versions/master/api/python/io.html#mxnet.io.LibSVMIter)),
+The example utilizes the sparse data loader 
([mx.io.LibSVMIter](https://mxnet.incubator.apache.org/versions/master/api/python/io/io.html#mxnet.io.LibSVMIter)),
 the sparse dot operator and [sparse gradient 
updaters](https://mxnet.incubator.apache.org/versions/master/api/python/ndarray/sparse.html#updater)
 to train a linear model on the
 
[Avazu](https://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/binary.html#avazu)
 click-through-prediction dataset.
diff --git a/example/ssd/tools/caffe_converter/README.md 
b/example/ssd/tools/caffe_converter/README.md
index 5d40024c05..2e74fc56e0 100644
--- a/example/ssd/tools/caffe_converter/README.md
+++ b/example/ssd/tools/caffe_converter/README.md
@@ -10,7 +10,7 @@ python convert_caffe_modelzoo.py resnet-50
 ```
 
 Please refer to
-[docs/how_to/caffe.md](../../docs/how_to/caffe.md) for more details.
+[docs/faq/caffe.md](../../docs/faq/caffe.md) for more details.
 
 ### How to use
 To convert ssd caffemodels, Use: `python convert_model.py prototxt caffemodel 
outputprefix`
diff --git a/perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm 
b/perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm
index 63f521c5c6..c2e8f31348 100644
--- a/perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm
+++ b/perl-package/AI-MXNet/lib/AI/MXNet/Gluon/Trainer.pm
@@ -39,7 +39,7 @@ use Mouse;
         The set of parameters to optimize.
     optimizer : str or Optimizer
         The optimizer to use. See
-        `help 
<http://mxnet.io/api/python/optimization.html#the-mxnet-optimizer-package>`_
+        `help 
<http://mxnet.io/api/python/optimization/optimization.html#the-mxnet-optimizer-package>`_
         on Optimizer for a list of available optimizers.
     optimizer_params : dict
         Key-word arguments to be passed to optimizer constructor. For example,
diff --git a/plugin/caffe/README.md b/plugin/caffe/README.md
index 2a28e012a5..466305cc9b 100644
--- a/plugin/caffe/README.md
+++ b/plugin/caffe/README.md
@@ -2,7 +2,7 @@
 
 [Caffe](http://caffe.berkeleyvision.org/) has been a well-known and 
widely-used deep learning framework. Now MXNet has supported calling most caffe 
operators(layers) and loss functions directly in its symbolic graph! Using 
one's own customized caffe layer is also effortless.
 
-Besides Caffe, MXNet has already embedded Torch modules and its tensor 
mathematical functions. 
([link](https://github.com/dmlc/mxnet/blob/master/docs/how_to/torch.md))
+Besides Caffe, MXNet has already embedded Torch modules and its tensor 
mathematical functions. 
([link](https://github.com/dmlc/mxnet/blob/master/docs/faq/torch.md))
 
 This blog demonstrates two steps to use Caffe op in MXNet:
 
diff --git a/python/mxnet/context.py b/python/mxnet/context.py
index beccaebcef..eb47614e33 100644
--- a/python/mxnet/context.py
+++ b/python/mxnet/context.py
@@ -29,7 +29,7 @@ class Context(object):
 
     See also
     ----------
-    `How to run MXNet on multiple CPU/GPUs 
<http://mxnet.io/how_to/multi_devices.html>`
+    `How to run MXNet on multiple CPU/GPUs 
<http://mxnet.io/faq/multi_devices.html>`
     for more details.
 
     Parameters
diff --git a/scala-package/README.md b/scala-package/README.md
index b2d3e9a01b..1494c0e54e 100644
--- a/scala-package/README.md
+++ b/scala-package/README.md
@@ -80,7 +80,7 @@ java -Xmx4G -cp \
 ```
 
 If you've compiled with `USE_DIST_KVSTORE` enabled, the python tools in 
`mxnet/tracker` can be used to launch distributed training.
-The following command runs the above example using 2 worker nodes (and 2 
server nodes) in local. Refer to [Distributed 
Training](http://mxnet.io/how_to/multi_devices.html) for more details.
+The following command runs the above example using 2 worker nodes (and 2 
server nodes) in local. Refer to [Distributed 
Training](http://mxnet.io/faq/multi_devices.html) for more details.
 
 ```bash
 tracker/dmlc_local.py -n 2 -s 2 \
diff --git a/setup-utils/install-mxnet-osx-python.sh 
b/setup-utils/install-mxnet-osx-python.sh
index 3cb5fcdc87..d0e9d5a317 100755
--- a/setup-utils/install-mxnet-osx-python.sh
+++ b/setup-utils/install-mxnet-osx-python.sh
@@ -520,7 +520,7 @@ END
                echo ":-)"
                echo " "
                echo "FYI : You can fine-tune MXNet run-time behavior using 
environment variables described at:"
-               echo "      http://mxnet.io/how_to/env_var.html";
+               echo "      http://mxnet.io/faq/env_var.html";
                echo " "
                echo "NEXT: Try the tutorials at: http://mxnet.io/tutorials";
                echo " "
diff --git a/src/operator/custom/custom.cc b/src/operator/custom/custom.cc
index beb5f3dc9f..164c2cc597 100644
--- a/src/operator/custom/custom.cc
+++ b/src/operator/custom/custom.cc
@@ -364,7 +364,7 @@ NNVM_REGISTER_OP(Custom)
 
 Custom operators should override required methods like `forward` and 
`backward`.
 The custom operator must be registered before it can be used.
-Please check the tutorial here: http://mxnet.io/how_to/new_op.html.
+Please check the tutorial here: http://mxnet.io/faq/new_op.html.
 
 )code" ADD_FILELINE)
 .set_num_inputs([](const NodeAttrs& attrs){
diff --git a/tools/caffe_converter/README.md b/tools/caffe_converter/README.md
index ac88fa1dfe..d8ffc5cb83 100644
--- a/tools/caffe_converter/README.md
+++ b/tools/caffe_converter/README.md
@@ -10,4 +10,4 @@ python convert_caffe_modelzoo.py resnet-50
 ```
 
 Please refer to
-[docs/how_to/caffe.md](../../docs/how_to/caffe.md) for more details.
+[docs/faq/caffe.md](../../docs/faq/caffe.md) for more details.
diff --git a/tools/caffe_translator/README.md b/tools/caffe_translator/README.md
index 1d5a77c4b3..ad111617b7 100644
--- a/tools/caffe_translator/README.md
+++ b/tools/caffe_translator/README.md
@@ -27,9 +27,9 @@ Here is the list of command line parameters accepted by the 
Caffe Translator:
 - *solver-prototxt*: specifies the path to the solver prototxt to be 
translated.
 - *output-file*: specifies the file to write the translated output into.
 - *params-file* (optional): specifies the .caffemodel file to initialize 
parameters from.
-- *custom-data-layers* (optional): Specifies a comma-separated list of types 
of the custom data layers used in the prototxt. The translator will use 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/how_to/caffe.html#use-io-caffedataiter)
 to translate these layers to MXNet.
+- *custom-data-layers* (optional): Specifies a comma-separated list of types 
of the custom data layers used in the prototxt. The translator will use 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/faq/caffe.html#use-io-caffedataiter)
 to translate these layers to MXNet.
 
-**Note:** Translated code uses 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/how_to/caffe.html#use-io-caffedataiter)
 to read from LMDB files. `CaffeDataIter` requires the number of examples in 
LMDB file to be specified as a parameter. You can provide this information 
before translation using a `#CaffeToMXNet` directive like shown below:
+**Note:** Translated code uses 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/faq/caffe.html#use-io-caffedataiter)
 to read from LMDB files. `CaffeDataIter` requires the number of examples in 
LMDB file to be specified as a parameter. You can provide this information 
before translation using a `#CaffeToMXNet` directive like shown below:
 
 ```
   data_param {
diff --git a/tools/caffe_translator/faq.md b/tools/caffe_translator/faq.md
index 81cdfb94a5..99d19fef50 100644
--- a/tools/caffe_translator/faq.md
+++ b/tools/caffe_translator/faq.md
@@ -4,9 +4,9 @@
 
 There is a couple of reasons why Caffe is required to run the translated code:
 
-1. The translator does not convert Caffe data layer to native MXNet code 
because MXNet cannot read from LMDB files. Translator instead generates code 
that uses 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/how_to/caffe.html#use-io-caffedataiter)
 which can read LMDB files. `CaffeDataIter` needs Caffe to run.
+1. The translator does not convert Caffe data layer to native MXNet code 
because MXNet cannot read from LMDB files. Translator instead generates code 
that uses 
[`CaffeDataIter`](https://mxnet.incubator.apache.org/faq/caffe.html#use-io-caffedataiter)
 which can read LMDB files. `CaffeDataIter` needs Caffe to run.
 
-2. If the Caffe code to be translated uses custom layers, or layers that don't 
have equivalent MXNet layers, the translator will generate code that will use 
[CaffeOp](https://mxnet.incubator.apache.org/how_to/caffe.html#use-sym-caffeop).
 CaffeOp needs Caffe to run.
+2. If the Caffe code to be translated uses custom layers, or layers that don't 
have equivalent MXNet layers, the translator will generate code that will use 
[CaffeOp](https://mxnet.incubator.apache.org/faq/caffe.html#use-sym-caffeop). 
CaffeOp needs Caffe to run.
 
 [**What version of Caffe prototxt can the translator 
translate?**](#what_version_of_prototxt)
 


 

----------------------------------------------------------------
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:
[email protected]


With regards,
Apache Git Services

Reply via email to