All the tutorials are now presented as sphinx style documentation at:
If you have a question about a tutorial, post in https://dev-discuss.pytorch.org/ rather than creating an issue in this repo. Your question will be answered much faster on the dev-discuss forum.
You can submit the following types of issues:
- Feature request - request a new tutorial to be added. Please explain why this tutorial is needed and how it demonstrates PyTorch value.
- Bug report - report a failure or outdated information in an existing tutorial. When submitting a bug report, please run:
python3 -m torch.utils.collect_env
to get information about your environment and add the output to the bug report.
We use sphinx-gallery's notebook styled examples to create the tutorials. Syntax is very simple. In essence, you write a slightly well formatted Python file and it shows up as an HTML page. In addition, a Jupyter notebook is autogenerated and available to run in Google Colab.
Here is how you can create a new tutorial (for a detailed description, see CONTRIBUTING.md):
- Create a Python file. If you want it executed while inserted into documentation, save the file with the suffix
tutorial
so that the file name isyour_tutorial.py
. - Put it in one of the
beginner_source
,intermediate_source
,advanced_source
directory based on the level of difficulty. If it is a recipe, add it torecipes_source
. For tutorials demonstrating unstable prototype features, add to theprototype_source
. - For Tutorials (except if it is a prototype feature), include it in the
toctree
directive and create acustomcarditem
in index.rst. - For Tutorials (except if it is a prototype feature), create a thumbnail in the index.rst file using a command like
.. customcarditem:: beginner/your_tutorial.html
. For Recipes, create a thumbnail in the recipes_index.rst
If you are starting off with a Jupyter notebook, you can use this script to convert the notebook to Python file. After conversion and addition to the project, please make sure that section headings and other things are in logical order.
The tutorial build is very large and requires a GPU. If your machine does not have a GPU device, you can preview your HTML build without actually downloading the data and running the tutorial code:
- Install required dependencies by running:
pip install -r requirements.txt
.
If you want to use
virtualenv
, in the root of the repo, run:virtualenv venv
, thensource venv/bin/activate
.
- If you have a GPU-powered laptop, you can build using
make docs
. This will download the data, execute the tutorials and build the documentation todocs/
directory. This might take about 60-120 min for systems with GPUs. If you do not have a GPU installed on your system, then see next step. - You can skip the computationally intensive graph generation by running
make html-noplot
to build basic html documentation to_build/html
. This way, you can quickly preview your tutorial.
If you get ModuleNotFoundError: No module named 'pytorch_sphinx_theme' make: *** [html-noplot] Error 2 from /tutorials/src/pytorch-sphinx-theme or /venv/src/pytorch-sphinx-theme (while using virtualenv), run
python setup.py install
.
You can build a single tutorial by using the GALLERY_PATTERN
environment variable. For example to run only neural_style_transfer_tutorial.py
, run:
GALLERY_PATTERN="neural_style_transfer_tutorial.py" make html
or
GALLERY_PATTERN="neural_style_transfer_tutorial.py" sphinx-build . _build
The GALLERY_PATTERN
variable respects regular expressions.
- You can find information about contributing to PyTorch documentation in the PyTorch Repo README.md file.
- Additional information can be found in PyTorch CONTRIBUTING.md.
PyTorch Tutorials is BSD licensed, as found in the LICENSE file.