Skip to content

Commit b223fef

Browse files
committed
Generate Python docs from pytorch/pytorch@9dbfca7
1 parent de4abfd commit b223fef

File tree

2,187 files changed

+2401
-2286
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,187 files changed

+2401
-2286
lines changed

docs/master/_dynamo.html

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@
237237
<div class="pytorch-left-menu-search">
238238

239239
<div class="version">
240-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
240+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
241241
</div>
242242

243243

@@ -514,12 +514,45 @@
514514
single <cite>torch.add()</cite> op.</p>
515515
</dd></dl>
516516

517+
<dl class="py function">
518+
<dt class="sig sig-object py" id="torch._dynamo.forbid_in_graph">
519+
<span class="sig-prename descclassname"><span class="pre">torch._dynamo.</span></span><span class="sig-name descname"><span class="pre">forbid_in_graph</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fn</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/torch/_dynamo.html#forbid_in_graph"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#torch._dynamo.forbid_in_graph" title="Permalink to this definition"></a></dt>
520+
<dd><p>Customize which functions TorchDynamo will assert are not present while tracing.</p>
521+
<p>If you want a graph break on this function instead, use disallow_in_graph.
522+
TODO(voz): We now have allow_in_graph, disallow_in_graph, forbid_in_graph - some more robust
523+
documentation would not be amiss.</p>
524+
</dd></dl>
525+
517526
<dl class="py function">
518527
<dt class="sig sig-object py" id="torch._dynamo.graph_break">
519528
<span class="sig-prename descclassname"><span class="pre">torch._dynamo.</span></span><span class="sig-name descname"><span class="pre">graph_break</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/torch/_dynamo.html#graph_break"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#torch._dynamo.graph_break" title="Permalink to this definition"></a></dt>
520529
<dd><p>Force a graph break</p>
521530
</dd></dl>
522531

532+
<dl class="py function">
533+
<dt class="sig sig-object py" id="torch._dynamo.mark_dynamic">
534+
<span class="sig-prename descclassname"><span class="pre">torch._dynamo.</span></span><span class="sig-name descname"><span class="pre">mark_dynamic</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">t</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">index</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/torch/_dynamo.html#mark_dynamic"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#torch._dynamo.mark_dynamic" title="Permalink to this definition"></a></dt>
535+
<dd><p>Mark a tensor as having a dynamic dim.</p>
536+
<p>[Note - on the state of mark_dynamic]</p>
537+
<p>The behavior of having a dynamic dimension on a tensor is governed by a few factors:</p>
538+
<ol class="arabic simple">
539+
<li><dl class="simple">
540+
<dt>torch._dynamo.config dynamic_shapes True or False.</dt><dd><p>a) dynamic_shapes=True - dynamic_shapes must be True for mark_dynamic to work.
541+
a) dynamic_shapes=False - This config will raise an exception when used in conjunction with
542+
mark_dyamic. We will eventually support this.</p>
543+
</dd>
544+
</dl>
545+
</li>
546+
</ol>
547+
<p>2) If the dimension is fully constrained - as in, it does not allow more than a single value
548+
in both eager (torch.compile, torch._dynamo.optimize) mode and export mode (torch._dynamo.export),
549+
we will raise an error</p>
550+
<p>3) If the dimension is partially constrained - allowing at least 2 values but not the full unbounded
551+
range of shapes, in eager we will pass it through, but export will raise an error.</p>
552+
<p>4) Attempts to trace this function will explicitly raise. As such, all calls to mark_dynamic must be made
553+
before torch.compile.</p>
554+
</dd></dl>
555+
523556
<dl class="py function">
524557
<dt class="sig sig-object py" id="torch._dynamo.optimize">
525558
<span class="sig-prename descclassname"><span class="pre">torch._dynamo.</span></span><span class="sig-name descname"><span class="pre">optimize</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">backend</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'inductor'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">nopython</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guard_export_fn</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guard_fail_fn</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">disable</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dynamic</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference internal" href="_modules/torch/_dynamo/eval_frame.html#optimize"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#torch._dynamo.optimize" title="Permalink to this definition"></a></dt>

docs/master/_images/RReLU.png

287 Bytes
Loading

docs/master/_modules/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

docs/master/_modules/torch.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

docs/master/_modules/torch/__config__.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

docs/master/_modules/torch/_dynamo.html

Lines changed: 55 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

@@ -488,7 +488,9 @@ <h1>Source code for torch._dynamo</h1><div class="highlight"><pre>
488488
<span class="s2">&quot;allow_in_graph&quot;</span><span class="p">,</span>
489489
<span class="s2">&quot;assume_constant_result&quot;</span><span class="p">,</span>
490490
<span class="s2">&quot;disallow_in_graph&quot;</span><span class="p">,</span>
491+
<span class="s2">&quot;forbid_in_graph&quot;</span><span class="p">,</span>
491492
<span class="s2">&quot;graph_break&quot;</span><span class="p">,</span>
493+
<span class="s2">&quot;mark_dynamic&quot;</span><span class="p">,</span>
492494
<span class="s2">&quot;optimize&quot;</span><span class="p">,</span>
493495
<span class="s2">&quot;optimize_assert&quot;</span><span class="p">,</span>
494496
<span class="s2">&quot;export&quot;</span><span class="p">,</span>
@@ -580,6 +582,58 @@ <h1>Source code for torch._dynamo</h1><div class="highlight"><pre>
580582
<span class="k">def</span> <span class="nf">graph_break</span><span class="p">():</span>
581583
<span class="sd">&quot;&quot;&quot;Force a graph break&quot;&quot;&quot;</span>
582584
<span class="k">pass</span></div>
585+
586+
587+
<div class="viewcode-block" id="forbid_in_graph"><a class="viewcode-back" href="../../_dynamo.html#torch._dynamo.forbid_in_graph">[docs]</a><span class="k">def</span> <span class="nf">forbid_in_graph</span><span class="p">(</span><span class="n">fn</span><span class="p">):</span>
588+
<span class="sd">&quot;&quot;&quot;</span>
589+
<span class="sd"> Customize which functions TorchDynamo will assert are not present while tracing.</span>
590+
591+
<span class="sd"> If you want a graph break on this function instead, use disallow_in_graph.</span>
592+
<span class="sd"> TODO(voz): We now have allow_in_graph, disallow_in_graph, forbid_in_graph - some more robust</span>
593+
<span class="sd"> documentation would not be amiss.</span>
594+
<span class="sd"> &quot;&quot;&quot;</span>
595+
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">fn</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">)):</span>
596+
<span class="k">return</span> <span class="p">[</span><span class="n">forbid_in_graph</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">fn</span><span class="p">]</span>
597+
<span class="k">assert</span> <span class="n">callable</span><span class="p">(</span><span class="n">fn</span><span class="p">),</span> <span class="s2">&quot;forbid_in_graph applies only to callables&quot;</span>
598+
<span class="n">fn</span><span class="o">.</span><span class="n">_dynamo_forbidden</span> <span class="o">=</span> <span class="kc">True</span>
599+
<span class="k">return</span> <span class="n">fn</span></div>
600+
601+
602+
<div class="viewcode-block" id="mark_dynamic"><a class="viewcode-back" href="../../_dynamo.html#torch._dynamo.mark_dynamic">[docs]</a><span class="nd">@forbid_in_graph</span>
603+
<span class="k">def</span> <span class="nf">mark_dynamic</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">index</span><span class="p">):</span>
604+
<span class="sd">&quot;&quot;&quot;</span>
605+
<span class="sd"> Mark a tensor as having a dynamic dim.</span>
606+
607+
<span class="sd"> [Note - on the state of mark_dynamic]</span>
608+
609+
<span class="sd"> The behavior of having a dynamic dimension on a tensor is governed by a few factors:</span>
610+
611+
<span class="sd"> 1) torch._dynamo.config dynamic_shapes True or False.</span>
612+
<span class="sd"> a) dynamic_shapes=True - dynamic_shapes must be True for mark_dynamic to work.</span>
613+
<span class="sd"> a) dynamic_shapes=False - This config will raise an exception when used in conjunction with</span>
614+
<span class="sd"> mark_dyamic. We will eventually support this.</span>
615+
616+
<span class="sd"> 2) If the dimension is fully constrained - as in, it does not allow more than a single value</span>
617+
<span class="sd"> in both eager (torch.compile, torch._dynamo.optimize) mode and export mode (torch._dynamo.export),</span>
618+
<span class="sd"> we will raise an error</span>
619+
620+
<span class="sd"> 3) If the dimension is partially constrained - allowing at least 2 values but not the full unbounded</span>
621+
<span class="sd"> range of shapes, in eager we will pass it through, but export will raise an error.</span>
622+
623+
<span class="sd"> 4) Attempts to trace this function will explicitly raise. As such, all calls to mark_dynamic must be made</span>
624+
<span class="sd"> before torch.compile.</span>
625+
626+
<span class="sd"> &quot;&quot;&quot;</span>
627+
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="nb">int</span><span class="p">):</span>
628+
<span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="s2">&quot;_dynamo_dynamic_indices&quot;</span><span class="p">):</span>
629+
<span class="n">t</span><span class="o">.</span><span class="n">_dynamo_dynamic_indices</span> <span class="o">=</span> <span class="nb">set</span><span class="p">()</span>
630+
<span class="c1"># TODO(voz): Should we bounds check?</span>
631+
<span class="n">t</span><span class="o">.</span><span class="n">_dynamo_dynamic_indices</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">index</span><span class="p">)</span>
632+
<span class="k">return</span>
633+
634+
<span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">index</span><span class="p">,</span> <span class="p">(</span><span class="nb">list</span><span class="p">,</span> <span class="nb">tuple</span><span class="p">))</span>
635+
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">index</span><span class="p">:</span>
636+
<span class="n">mark_dynamic</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span></div>
583637
</pre></div>
584638

585639
</article>

docs/master/_modules/torch/_dynamo/backends/registry.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

docs/master/_modules/torch/_dynamo/eval_frame.html

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

@@ -840,6 +840,13 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
840840
<span class="k">return</span> <span class="n">fn</span>
841841

842842

843+
<span class="k">def</span> <span class="nf">check_if_dynamo_supported</span><span class="p">():</span>
844+
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span> <span class="o">==</span> <span class="s2">&quot;win32&quot;</span><span class="p">:</span>
845+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Windows not yet supported for torch.compile&quot;</span><span class="p">)</span>
846+
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span> <span class="o">&gt;=</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">11</span><span class="p">):</span>
847+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Python 3.11+ not yet supported for torch.compile&quot;</span><span class="p">)</span>
848+
849+
843850
<div class="viewcode-block" id="optimize"><a class="viewcode-back" href="../../../_dynamo.html#torch._dynamo.optimize">[docs]</a><span class="k">def</span> <span class="nf">optimize</span><span class="p">(</span>
844851
<span class="n">backend</span><span class="o">=</span><span class="s2">&quot;inductor&quot;</span><span class="p">,</span>
845852
<span class="o">*</span><span class="p">,</span>
@@ -873,6 +880,7 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
873880
<span class="sd"> def toy_example(a, b):</span>
874881
<span class="sd"> ...</span>
875882
<span class="sd"> &quot;&quot;&quot;</span>
883+
<span class="n">check_if_dynamo_supported</span><span class="p">()</span>
876884
<span class="c1"># Note: The hooks object could be global instead of passed around, *however* that would make</span>
877885
<span class="c1"># for a confusing API usage and plumbing story wherein we nest multiple .optimize calls.</span>
878886
<span class="c1"># There is some prior art around this, w/r/t nesting backend calls are enforced to be the same</span>
@@ -882,10 +890,6 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
882890
<span class="n">torch</span><span class="o">.</span><span class="n">_C</span><span class="o">.</span><span class="n">_log_api_usage_once</span><span class="p">(</span><span class="s2">&quot;torch._dynamo.optimize&quot;</span><span class="p">)</span>
883891
<span class="k">if</span> <span class="n">disable</span> <span class="ow">or</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;TORCHDYNAMO_DISABLE&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">)</span> <span class="o">==</span> <span class="s2">&quot;1&quot;</span><span class="p">:</span>
884892
<span class="k">return</span> <span class="n">_NullDecorator</span><span class="p">()</span>
885-
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">platform</span> <span class="o">==</span> <span class="s2">&quot;win32&quot;</span><span class="p">:</span>
886-
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Windows not yet supported for torch.compile&quot;</span><span class="p">)</span>
887-
<span class="k">if</span> <span class="n">sys</span><span class="o">.</span><span class="n">version_info</span> <span class="o">&gt;=</span> <span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">11</span><span class="p">):</span>
888-
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="s2">&quot;Python 3.11+ not yet supported for torch.compile&quot;</span><span class="p">)</span>
889893

890894
<span class="n">backend</span> <span class="o">=</span> <span class="n">get_compiler_fn</span><span class="p">(</span><span class="n">backend</span><span class="p">)</span>
891895

@@ -987,6 +991,7 @@ <h1>Source code for torch._dynamo.eval_frame</h1><div class="highlight"><pre>
987991
<span class="k">def</span> <span class="nf">export</span><span class="p">(</span>
988992
<span class="n">f</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span> <span class="n">aten_graph</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">decomposition_table</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">tracing_mode</span><span class="o">=</span><span class="s2">&quot;real&quot;</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span>
989993
<span class="p">):</span>
994+
<span class="n">check_if_dynamo_supported</span><span class="p">()</span>
990995
<span class="n">torch</span><span class="o">.</span><span class="n">_C</span><span class="o">.</span><span class="n">_log_api_usage_once</span><span class="p">(</span><span class="s2">&quot;torch._dynamo.export&quot;</span><span class="p">)</span>
991996
<span class="k">if</span> <span class="n">decomposition_table</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">tracing_mode</span> <span class="o">!=</span> <span class="s2">&quot;real&quot;</span><span class="p">:</span>
992997
<span class="k">assert</span> <span class="p">(</span>

docs/master/_modules/torch/_jit_internal.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

docs/master/_modules/torch/_lobpcg.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@
235235
<div class="pytorch-left-menu-search">
236236

237237
<div class="version">
238-
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+gitbb347dc ) &#x25BC</a>
238+
<a href='https://pytorch.org/docs/versions.html'>master (2.0.0a0+git9dbfca7 ) &#x25BC</a>
239239
</div>
240240

241241

0 commit comments

Comments
 (0)