Preview at https://mxnet-beta.staged.apache.org/
The following guide will help you build a local version of the Python API website, so that you may work on and test any contributions.
It is recommended that you read the MXNet developer wiki's info on building the website & docs as that includes info on how to test and build the site using Docker. The following information should only be used if you can't use Docker or if you're trying to run the site locally.
The default configuration requires a GPU and CUDA 9.2 and expects Ubuntu. However, you may setup the website on macOS or Windows with or without a GPU.
To run the full build, including tests of all tutorials, you will need at least two GPUs. Distributed training is a key feature of MXNet, so multiple GPUs are required for running through some of the tutorials.
You need to install MXNet, for example, by following the build from source
guide. Further, you need to install the Python requirements listed in the
requirements
file:
python3 -m pip install -r requirements
- Change directories to
python-docs/python
.
To build without GPUs and without testing the notebooks (faster):
make EVAL=0
To build with testing the notebooks (requires GPU):
make
The build docs will be available at build/_build/html
.
Each build may take a few minutes even without evaluation. To accelerate it, we can use one of the following ways:
- open
build/conf.py
, add the folders you want to skip intoexclude_patterns
, such asexclude_patterns = ['templates', 'api', 'develop', 'blog']
. - move the files into a different folder, such as
mv api /tmp/
, and thenmake clean
.
To run a server to see the website:
- Start a http server:
cd build/_build/html; python -m http.server
- For viewing a remote machine, ssh to your machine with port forwarding:
ssh -L8000:localhost:8000 your_machine
- Open http://localhost:8000 in your local machine
In addition to view the built html pages, you can run the Jupyter notebook from a remote machine.
- Install
notedown
plugin:pip install https://github.com/mli/notedown/tarball/master
in remote server - Start Jupyter notebook
jupyter notebook --NotebookApp.contents_manager_class='notedown.NotedownContentsManager'
in remote server - ssh to your machine with port forwarding:
ssh -L8888:localhost:8888 your_machine
- Open http://localhost:8888 in your local machine and run the md files directly
Optionally, one can run the following to launch the notedown plugin automatically when starting jupyter notebook.
- Generate the jupyter configure file
~/.jupyter/jupyter_notebook_config.py
if it is not existing by runjupyter notebook --generate-config
- Add
c.NotebookApp.contents_manager_class = 'notedown.NotedownContentsManager'
to~/.jupyter/jupyter_notebook_config.py
- Simply run
jupyter notebook