MCPcopy Index your code
hub / github.com/pytorch/tutorials

github.com/pytorch/tutorials @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
921 symbols 2,655 edges 140 files 98 documented · 11% updated 4d ago★ 9,219203 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PyTorch Tutorials

All the tutorials are now presented as sphinx style documentation at:

https://pytorch.org/tutorials

Asking a question

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.

Submitting an issue

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.

Contributing

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):

NOTE: Before submitting a new tutorial, read PyTorch Tutorial Submission Policy.

  1. 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 is your_tutorial.py.
  2. 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 to recipes_source. For tutorials demonstrating unstable prototype features, add to the prototype_source.
  3. For Tutorials (except if it is a prototype feature), include it in the toctree directive and create a customcarditem in index.rst.
  4. 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.

Building locally

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:

  1. Install required dependencies by running: pip install -r requirements.txt.

Typically, you would run either in conda or virtualenv. If you want to use virtualenv, in the root of the repo, run: virtualenv venv, then source 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 to docs/ 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.

Building a single tutorial

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.

Spell Check

You can run pyspelling to check for spelling errors in the tutorials. To check only Python files, run pyspelling -n python. To check only .rst files, use pyspelling -n reST. Currently, .rst spell checking is limited to the beginner/ directory. Contributions to enable spell checking in other directories are welcome!

pyspelling          # full check (~3 mins)
pyspelling -n python  # Python files only
pyspelling -n reST    # reST files (only beginner/ dir currently included)

About contributing to PyTorch Documentation and Tutorials

  • 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.

License

PyTorch Tutorials is BSD licensed, as found in the LICENSE file.

Core symbols most depended-on inside this repo

model
called by 119
beginner_source/nn_tutorial.py
step
called by 87
intermediate_source/mario_rl_tutorial.py
backward
called by 55
beginner_source/examples_autograd/polynomial_custom_function.py
backward
called by 28
intermediate_source/custom_function_conv_bn_tutorial.py
save
called by 22
intermediate_source/mario_rl_tutorial.py
backward
called by 22
advanced_source/numpy_extensions_tutorial.py
loss_fn
called by 18
intermediate_source/per_sample_grads.py
timer
called by 16
intermediate_source/pinmem_nonblock.py

Shape

Function 394
Method 366
Class 160
Route 1

Languages

Python100%

Modules by API surface

beginner_source/chatbot_tutorial.py41 symbols
intermediate_source/seq2seq_translation_tutorial.py37 symbols
intermediate_source/torch_export_tutorial.py33 symbols
intermediate_source/mario_rl_tutorial.py32 symbols
beginner_source/knowledge_distillation_tutorial.py24 symbols
beginner_source/nn_tutorial.py22 symbols
intermediate_source/parametrizations.py21 symbols
intermediate_source/custom_function_conv_bn_tutorial.py21 symbols
intermediate_source/intermediate_data_loading_tutorial.py20 symbols
advanced_source/pendulum.py19 symbols
advanced_source/cuda_graph_annotations_tutorial.py19 symbols
intermediate_source/transformer_building_blocks.py18 symbols

Dependencies from manifests, versioned

accelerate0.20.1 · 1×
awscliv22.1.1 · 1×
ax-platform0.4.0 · 1×
cuda-bindings13.1.0 · 1×
docutils0.18.1 · 1×
fbgemm-gpu1.2.0 · 1×
gym0.26.2 · 1×
gym-super-mario-bros7.4.0 · 1×
importlib-metadata6.8.0 · 1×
jinja23.1.6 · 1×
markdown3.8.2 · 1×
nbformat5.9.2 · 1×

For agents

$ claude mcp add tutorials \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact