Skip to content

Commit 1422616

Browse files
author
Svetlana Karslioglu
authored
Merge branch 'main' into patch-1
2 parents dcedf26 + a1c7139 commit 1422616

32 files changed

+2858
-598
lines changed

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: 🐛 Bug Report
2+
description: Create a tutorial bug report
3+
title: "[BUG] - <title>"
4+
labels: [
5+
"bug"
6+
]
7+
8+
body:
9+
- type: markdown
10+
attributes:
11+
value: >
12+
#### Before submitting a bug, please make sure the issue hasn't been already addressed by searching through [the existing and past issues](https://github.com/pytorch/tutorials/issues?q=is%3Aissue+sort%3Acreated-desc+).
13+
- type: textarea
14+
attributes:
15+
label: Add Link
16+
description: |
17+
**Add the link to the tutorial***
18+
placeholder: |
19+
Link to the tutorial on the website:
20+
validations:
21+
required: true
22+
- type: textarea
23+
attributes:
24+
label: Describe the bug
25+
description: |
26+
**Add the bug description**
27+
placeholder: |
28+
Provide a detailed description of the issue with code samples if relevant
29+
```python
30+
31+
# Sample code to reproduce the problem if relevant
32+
```
33+
34+
**Expected Result:** (Describe what you were expecting to see)
35+
36+
37+
**Actual Result:** (Describe the result)
38+
39+
```
40+
The error message you got, with the full traceback.
41+
```
42+
43+
validations:
44+
required: true
45+
- type: textarea
46+
attributes:
47+
label: Describe your environment
48+
description: |
49+
**Describe the environment you encountered the bug in:**
50+
placeholder: |
51+
* Platform (i.e macOS, Linux, Google Colab):
52+
* CUDA (yes/no, version?):
53+
* PyTorch version (run `python -c "import torch; print(torch.__version__)"`):
54+
55+
validations:
56+
required: true
57+
- type: markdown
58+
attributes:
59+
value: >
60+
Thanks for contributing 🎉!
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: 🚀 Feature request
2+
description: Submit a proposal for a new PyTorch tutorial or improvement of an existing tutorial
3+
title: "💡 [REQUEST] - <title>"
4+
labels: [
5+
"feature"
6+
]
7+
8+
body:
9+
- type: textarea
10+
attributes:
11+
label: 🚀 Descirbe the improvement or the new tutorial
12+
description: |
13+
**Describe the improvement**
14+
placeholder: |
15+
Explain why this improvement or new tutorial is important. For example, *"This tutorial will help users to better understand feature X of PyTorch."* If there is a tutorial that you propose to replace, add here. If this is related to another GitHub issue, add a link here.
16+
validations:
17+
required: true
18+
- type: textarea
19+
attributes:
20+
label: Existing tutorials on this topic
21+
description: |
22+
**Add a list of existing tutorials on the same topic.**
23+
placeholder: |
24+
List tutorials that already explain this functionality if exist. On pytorch.org or elsewhere.
25+
* Link
26+
* Link
27+
- type: textarea
28+
attributes:
29+
label: Additional context
30+
description: |
31+
**Add additional context**
32+
placeholder: |
33+
Add any other context or screenshots about the feature request.
34+
- type: markdown
35+
attributes:
36+
value: >
37+
Thanks for contributing 🎉!

.jenkins/get_sphinx_filenames.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from pathlib import Path
2+
from typing import List
3+
4+
from get_files_to_run import get_all_files
5+
from validate_tutorials_built import NOT_RUN
6+
7+
8+
def get_files_for_sphinx() -> List[str]:
9+
all_py_files = get_all_files()
10+
return [x for x in all_py_files if all(y not in x for y in NOT_RUN)]
11+
12+
13+
SPHINX_SHOULD_RUN = "|".join(get_files_for_sphinx())

.jenkins/validate_tutorials_built.py

Lines changed: 44 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -9,50 +9,50 @@
99
# the file name to explain why, like intro.html), or fix the tutorial and remove it from this list).
1010

1111
NOT_RUN = [
12-
"basics/intro", # no code
13-
"translation_transformer",
14-
"profiler",
15-
"saving_loading_models",
16-
"introyt/captumyt",
17-
"examples_nn/polynomial_module",
18-
"examples_nn/dynamic_net",
19-
"examples_nn/polynomial_optim",
20-
"former_torchies/autograd_tutorial_old",
21-
"former_torchies/tensor_tutorial_old",
22-
"examples_autograd/polynomial_autograd",
23-
"examples_autograd/polynomial_custom_function",
24-
"parametrizations",
25-
"mnist_train_nas", # used by ax_multiobjective_nas_tutorial.py
26-
"fx_conv_bn_fuser",
27-
"super_resolution_with_onnxruntime",
28-
"ddp_pipeline", # requires 4 gpus
29-
"fx_graph_mode_ptq_dynamic",
30-
"vmap_recipe",
31-
"torchscript_freezing",
32-
"nestedtensor",
33-
"recipes/saving_and_loading_models_for_inference",
34-
"recipes/saving_multiple_models_in_one_file",
35-
"recipes/loading_data_recipe",
36-
"recipes/tensorboard_with_pytorch",
37-
"recipes/what_is_state_dict",
38-
"recipes/profiler_recipe",
39-
"recipes/save_load_across_devices",
40-
"recipes/warmstarting_model_using_parameters_from_a_different_model",
41-
"torch_compile_tutorial_",
42-
"recipes/dynamic_quantization",
43-
"recipes/saving_and_loading_a_general_checkpoint",
44-
"recipes/benchmark",
45-
"recipes/tuning_guide",
46-
"recipes/zeroing_out_gradients",
47-
"recipes/defining_a_neural_network",
48-
"recipes/timer_quick_start",
49-
"recipes/amp_recipe",
50-
"recipes/Captum_Recipe",
51-
"flask_rest_api_tutorial",
52-
"text_to_speech_with_torchaudio",
12+
"beginner_source/basics/intro", # no code
13+
"beginner_source/translation_transformer",
14+
"beginner_source/profiler",
15+
"beginner_source/saving_loading_models",
16+
"beginner_source/introyt/captumyt",
17+
"beginner_source/examples_nn/polynomial_module",
18+
"beginner_source/examples_nn/dynamic_net",
19+
"beginner_source/examples_nn/polynomial_optim",
20+
"beginner_source/former_torchies/autograd_tutorial_old",
21+
"beginner_source/former_torchies/tensor_tutorial_old",
22+
"beginner_source/examples_autograd/polynomial_autograd",
23+
"beginner_source/examples_autograd/polynomial_custom_function",
24+
"intermediate_source/parametrizations",
25+
"intermediate_source/mnist_train_nas", # used by ax_multiobjective_nas_tutorial.py
26+
"intermediate_source/fx_conv_bn_fuser",
27+
"advanced_source/super_resolution_with_onnxruntime",
28+
"advanced_source/ddp_pipeline", # requires 4 gpus
29+
"prototype_source/fx_graph_mode_ptq_dynamic",
30+
"prototype_source/vmap_recipe",
31+
"prototype_source/torchscript_freezing",
32+
"prototype_source/nestedtensor",
33+
"recipes_source/recipes/saving_and_loading_models_for_inference",
34+
"recipes_source/recipes/saving_multiple_models_in_one_file",
35+
"recipes_source/recipes/loading_data_recipe",
36+
"recipes_source/recipes/tensorboard_with_pytorch",
37+
"recipes_source/recipes/what_is_state_dict",
38+
"recipes_source/recipes/profiler_recipe",
39+
"recipes_source/recipes/save_load_across_devices",
40+
"recipes_source/recipes/warmstarting_model_using_parameters_from_a_different_model",
41+
"recipes_source/recipes/dynamic_quantization",
42+
"recipes_source/recipes/saving_and_loading_a_general_checkpoint",
43+
"recipes_source/recipes/benchmark",
44+
"recipes_source/recipes/tuning_guide",
45+
"recipes_source/recipes/zeroing_out_gradients",
46+
"recipes_source/recipes/defining_a_neural_network",
47+
"recipes_source/recipes/timer_quick_start",
48+
"recipes_source/recipes/amp_recipe",
49+
"recipes_source/recipes/Captum_Recipe",
50+
"intermediate_source/flask_rest_api_tutorial",
51+
"intermediate_source/text_to_speech_with_torchaudio",
52+
"intermediate_source/ax_multiobjective_nas_tutorial",
53+
"intermediate_source/tensorboard_profiler_tutorial" # reenable after 2.0 release.
5354
]
5455

55-
5656
def tutorial_source_dirs() -> List[Path]:
5757
return [
5858
p.relative_to(REPO_ROOT).with_name(p.stem[:-7])
@@ -67,6 +67,7 @@ def main() -> None:
6767
glob_path = f"{tutorial_source_dir}/**/*.html"
6868
html_file_paths += docs_dir.glob(glob_path)
6969

70+
should_not_run = [f'{x.replace("_source", "")}.html' for x in NOT_RUN]
7071
did_not_run = []
7172
for html_file_path in html_file_paths:
7273
with open(html_file_path, "r", encoding="utf-8") as html_file:
@@ -77,9 +78,7 @@ def main() -> None:
7778
if (
7879
"Total running time of the script: ( 0 minutes 0.000 seconds)"
7980
in elem.text
80-
and not any(
81-
html_file_path.match(file) for file in NOT_RUN
82-
)
81+
and not any(html_file_path.match(file) for file in should_not_run)
8382
):
8483
did_not_run.append(html_file_path.as_posix())
8584

_static/img/invpendulum.gif

29.6 KB
Loading

advanced_source/static_quantization_tutorial.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,8 @@ quantizing for x86 architectures. This configuration does the following:
458458
per_channel_quantized_model = load_model(saved_model_dir + float_model_file)
459459
per_channel_quantized_model.eval()
460460
per_channel_quantized_model.fuse_model()
461-
per_channel_quantized_model.qconfig = torch.ao.quantization.get_default_qconfig('fbgemm')
461+
# The old 'fbgemm' is still available but 'x86' is the recommended default.
462+
per_channel_quantized_model.qconfig = torch.ao.quantization.get_default_qconfig('x86')
462463
print(per_channel_quantized_model.qconfig)
463464
464465
torch.ao.quantization.prepare(per_channel_quantized_model, inplace=True)
@@ -534,8 +535,9 @@ We fuse modules as before
534535
qat_model = load_model(saved_model_dir + float_model_file)
535536
qat_model.fuse_model()
536537
537-
optimizer = torch.optim.SGD(qat_model.parameters(), lr = 0.0001)
538-
qat_model.qconfig = torch.ao.quantization.get_default_qat_qconfig('fbgemm')
538+
optimizer = torch.optim.SGD(qat_model.parameters(), lr = 0.0001)
539+
# The old 'fbgemm' is still available but 'x86' is the recommended default.
540+
qat_model.qconfig = torch.ao.quantization.get_default_qat_qconfig('x86')
539541
540542
Finally, ``prepare_qat`` performs the "fake quantization", preparing the model for quantization-aware training
541543

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
Audio Datasets
22
==============
33

4-
This tutorial has been moved to https://pytorch.org/tutorials/beginner/audio_datasets_tutorial.html
4+
This tutorial has been moved to https://pytorch.org/audio/stable/tutorials/audio_datasets_tutorial.html
55

66
It will redirect in 3 seconds.
77

88
.. raw:: html
99

10-
<meta http-equiv="Refresh" content="3; url='https://pytorch.org/tutorials/beginner/audio_datasets_tutorial.html'" />
10+
<meta http-equiv="Refresh" content="3; url='https://pytorch.org/audio/stable/tutorials/audio_datasets_tutorial.html'" />

beginner_source/basics/tensorqs_tutorial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@
133133
######################################################################
134134
# **Joining tensors** You can use ``torch.cat`` to concatenate a sequence of tensors along a given dimension.
135135
# See also `torch.stack <https://pytorch.org/docs/stable/generated/torch.stack.html>`__,
136-
# another tensor joining op that is subtly different from ``torch.cat``.
136+
# another tensor joining option that is subtly different from ``torch.cat``.
137137
t1 = torch.cat([tensor, tensor, tensor], dim=1)
138138
print(t1)
139139

beginner_source/colab.rst

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,30 @@
1+
Running Tutorials in Google Colab
2+
=================================
3+
4+
When you run a tutorial in Google Colab, there might be additional
5+
requirements and dependencies that you need to meet in order
6+
for the tutorial to work properly. This section contains notes on how to
7+
configure various settings in order to successfully
8+
run PyTorch tutorials in Google Colab.
9+
10+
PyTorch Version in Google Colab
11+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12+
13+
When you are running a tutorial that requires a version of PyTorch that has
14+
just been released, that version might not be yet available in Google Colab.
15+
To check that you have the required ``torch`` and compatible domain libraries
16+
installed, run ``!pip list``.
17+
18+
If the installed version of PyTorch is lower than required,
19+
uninstall it and reinstall again by running the following commands:
20+
21+
.. code-block:: python
22+
23+
!pip3 uninstall --yes torch torchaudio torchvision torchtext torchdata
24+
!pip3 install torch torchaudio torchvision torchtext torchdata
25+
126
Using Tutorial Data from Google Drive in Colab
2-
==============================================
27+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
328

429
We've added a new feature to tutorials that allows users to open the
530
notebook associated with a tutorial in Google Colab. You may need to

beginner_source/introyt/autogradyt_tutorial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ def forward(self, x):
334334

335335
print(model.layer2.weight.grad[0][0:10])
336336

337-
optimizer.zero_grad()
337+
optimizer.zero_grad(set_to_none=False)
338338

339339
print(model.layer2.weight.grad[0][0:10])
340340

0 commit comments

Comments
 (0)