Deployed 5a9320d with MkDocs version: 1.0.4

This commit is contained in:
William Falcon
2019-09-26 10:28:41 -05:00
parent 8f53e506cf
commit a5cc9ec2dc
23 changed files with 417 additions and 349 deletions
@@ -34,7 +34,7 @@
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.0">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2">
@@ -42,7 +42,7 @@
<link rel="stylesheet" href="../../assets/stylesheets/application.0284f74d.css">
<link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
@@ -171,7 +171,7 @@
<main class="md-main">
<main class="md-main" role="main">
<div class="md-main__inner md-grid" data-md-component="container">
@@ -276,21 +276,21 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#minimal-example" title="Minimal example" class="md-nav__link">
<a href="#minimal-example" class="md-nav__link">
Minimal example
</a>
</li>
<li class="md-nav__item">
<a href="#how-do-these-methods-fit-into-the-broader-training" title="How do these methods fit into the broader training?" class="md-nav__link">
<a href="#how-do-these-methods-fit-into-the-broader-training" class="md-nav__link">
How do these methods fit into the broader training?
</a>
</li>
<li class="md-nav__item">
<a href="#required-methods" title="Required Methods" class="md-nav__link">
<a href="#required-methods" class="md-nav__link">
Required Methods
</a>
@@ -298,22 +298,22 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#training_step" title="training_step" class="md-nav__link">
<a href="#training_step" class="md-nav__link">
training_step
</a>
</li>
<li class="md-nav__item">
<a href="#tng_dataloader" title="tng_dataloader" class="md-nav__link">
tng_dataloader
<a href="#train_dataloader" class="md-nav__link">
train_dataloader
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return" title="Return" class="md-nav__link">
<a href="#return" class="md-nav__link">
Return
</a>
@@ -325,7 +325,7 @@
</li>
<li class="md-nav__item">
<a href="#configure_optimizers" title="configure_optimizers" class="md-nav__link">
<a href="#configure_optimizers" class="md-nav__link">
configure_optimizers
</a>
@@ -333,7 +333,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_1" title="Return" class="md-nav__link">
<a href="#return_1" class="md-nav__link">
Return
</a>
@@ -350,7 +350,7 @@
</li>
<li class="md-nav__item">
<a href="#optional-methods" title="Optional Methods" class="md-nav__link">
<a href="#optional-methods" class="md-nav__link">
Optional Methods
</a>
@@ -358,35 +358,35 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#validation_step" title="validation_step" class="md-nav__link">
<a href="#validation_step" class="md-nav__link">
validation_step
</a>
</li>
<li class="md-nav__item">
<a href="#validation_end" title="validation_end" class="md-nav__link">
<a href="#validation_end" class="md-nav__link">
validation_end
</a>
</li>
<li class="md-nav__item">
<a href="#test_step" title="test_step" class="md-nav__link">
<a href="#test_step" class="md-nav__link">
test_step
</a>
</li>
<li class="md-nav__item">
<a href="#test_end" title="test_end" class="md-nav__link">
<a href="#test_end" class="md-nav__link">
test_end
</a>
</li>
<li class="md-nav__item">
<a href="#on_save_checkpoint" title="on_save_checkpoint" class="md-nav__link">
<a href="#on_save_checkpoint" class="md-nav__link">
on_save_checkpoint
</a>
@@ -394,7 +394,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_2" title="Return" class="md-nav__link">
<a href="#return_2" class="md-nav__link">
Return
</a>
@@ -406,7 +406,7 @@
</li>
<li class="md-nav__item">
<a href="#on_load_checkpoint" title="on_load_checkpoint" class="md-nav__link">
<a href="#on_load_checkpoint" class="md-nav__link">
on_load_checkpoint
</a>
@@ -414,7 +414,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_3" title="Return" class="md-nav__link">
<a href="#return_3" class="md-nav__link">
Return
</a>
@@ -426,7 +426,7 @@
</li>
<li class="md-nav__item">
<a href="#val_dataloader" title="val_dataloader" class="md-nav__link">
<a href="#val_dataloader" class="md-nav__link">
val_dataloader
</a>
@@ -434,7 +434,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_4" title="Return" class="md-nav__link">
<a href="#return_4" class="md-nav__link">
Return
</a>
@@ -446,7 +446,7 @@
</li>
<li class="md-nav__item">
<a href="#test_dataloader" title="test_dataloader" class="md-nav__link">
<a href="#test_dataloader" class="md-nav__link">
test_dataloader
</a>
@@ -454,7 +454,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_5" title="Return" class="md-nav__link">
<a href="#return_5" class="md-nav__link">
Return
</a>
@@ -466,15 +466,15 @@
</li>
<li class="md-nav__item">
<a href="#update_tng_log_metrics" title="update_tng_log_metrics" class="md-nav__link">
update_tng_log_metrics
<a href="#update_training_log_metrics" class="md-nav__link">
update_training_log_metrics
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_6" title="Return" class="md-nav__link">
<a href="#return_6" class="md-nav__link">
Return
</a>
@@ -486,7 +486,7 @@
</li>
<li class="md-nav__item">
<a href="#add_model_specific_args" title="add_model_specific_args" class="md-nav__link">
<a href="#add_model_specific_args" class="md-nav__link">
add_model_specific_args
</a>
@@ -494,7 +494,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_7" title="Return" class="md-nav__link">
<a href="#return_7" class="md-nav__link">
Return
</a>
@@ -751,21 +751,21 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#minimal-example" title="Minimal example" class="md-nav__link">
<a href="#minimal-example" class="md-nav__link">
Minimal example
</a>
</li>
<li class="md-nav__item">
<a href="#how-do-these-methods-fit-into-the-broader-training" title="How do these methods fit into the broader training?" class="md-nav__link">
<a href="#how-do-these-methods-fit-into-the-broader-training" class="md-nav__link">
How do these methods fit into the broader training?
</a>
</li>
<li class="md-nav__item">
<a href="#required-methods" title="Required Methods" class="md-nav__link">
<a href="#required-methods" class="md-nav__link">
Required Methods
</a>
@@ -773,22 +773,22 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#training_step" title="training_step" class="md-nav__link">
<a href="#training_step" class="md-nav__link">
training_step
</a>
</li>
<li class="md-nav__item">
<a href="#tng_dataloader" title="tng_dataloader" class="md-nav__link">
tng_dataloader
<a href="#train_dataloader" class="md-nav__link">
train_dataloader
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return" title="Return" class="md-nav__link">
<a href="#return" class="md-nav__link">
Return
</a>
@@ -800,7 +800,7 @@
</li>
<li class="md-nav__item">
<a href="#configure_optimizers" title="configure_optimizers" class="md-nav__link">
<a href="#configure_optimizers" class="md-nav__link">
configure_optimizers
</a>
@@ -808,7 +808,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_1" title="Return" class="md-nav__link">
<a href="#return_1" class="md-nav__link">
Return
</a>
@@ -825,7 +825,7 @@
</li>
<li class="md-nav__item">
<a href="#optional-methods" title="Optional Methods" class="md-nav__link">
<a href="#optional-methods" class="md-nav__link">
Optional Methods
</a>
@@ -833,35 +833,35 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#validation_step" title="validation_step" class="md-nav__link">
<a href="#validation_step" class="md-nav__link">
validation_step
</a>
</li>
<li class="md-nav__item">
<a href="#validation_end" title="validation_end" class="md-nav__link">
<a href="#validation_end" class="md-nav__link">
validation_end
</a>
</li>
<li class="md-nav__item">
<a href="#test_step" title="test_step" class="md-nav__link">
<a href="#test_step" class="md-nav__link">
test_step
</a>
</li>
<li class="md-nav__item">
<a href="#test_end" title="test_end" class="md-nav__link">
<a href="#test_end" class="md-nav__link">
test_end
</a>
</li>
<li class="md-nav__item">
<a href="#on_save_checkpoint" title="on_save_checkpoint" class="md-nav__link">
<a href="#on_save_checkpoint" class="md-nav__link">
on_save_checkpoint
</a>
@@ -869,7 +869,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_2" title="Return" class="md-nav__link">
<a href="#return_2" class="md-nav__link">
Return
</a>
@@ -881,7 +881,7 @@
</li>
<li class="md-nav__item">
<a href="#on_load_checkpoint" title="on_load_checkpoint" class="md-nav__link">
<a href="#on_load_checkpoint" class="md-nav__link">
on_load_checkpoint
</a>
@@ -889,7 +889,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_3" title="Return" class="md-nav__link">
<a href="#return_3" class="md-nav__link">
Return
</a>
@@ -901,7 +901,7 @@
</li>
<li class="md-nav__item">
<a href="#val_dataloader" title="val_dataloader" class="md-nav__link">
<a href="#val_dataloader" class="md-nav__link">
val_dataloader
</a>
@@ -909,7 +909,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_4" title="Return" class="md-nav__link">
<a href="#return_4" class="md-nav__link">
Return
</a>
@@ -921,7 +921,7 @@
</li>
<li class="md-nav__item">
<a href="#test_dataloader" title="test_dataloader" class="md-nav__link">
<a href="#test_dataloader" class="md-nav__link">
test_dataloader
</a>
@@ -929,7 +929,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_5" title="Return" class="md-nav__link">
<a href="#return_5" class="md-nav__link">
Return
</a>
@@ -941,15 +941,15 @@
</li>
<li class="md-nav__item">
<a href="#update_tng_log_metrics" title="update_tng_log_metrics" class="md-nav__link">
update_tng_log_metrics
<a href="#update_training_log_metrics" class="md-nav__link">
update_training_log_metrics
</a>
<nav class="md-nav">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_6" title="Return" class="md-nav__link">
<a href="#return_6" class="md-nav__link">
Return
</a>
@@ -961,7 +961,7 @@
</li>
<li class="md-nav__item">
<a href="#add_model_specific_args" title="add_model_specific_args" class="md-nav__link">
<a href="#add_model_specific_args" class="md-nav__link">
add_model_specific_args
</a>
@@ -969,7 +969,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#return_7" title="Return" class="md-nav__link">
<a href="#return_7" class="md-nav__link">
Return
</a>
@@ -1012,7 +1012,7 @@
<p><strong>Required</strong>: </p>
<ul>
<li><a href="./#training_step">training_step</a> </li>
<li><a href="./#tng_dataloader">tng_dataloader</a> </li>
<li><a href="./#train_dataloader">train_dataloader</a> </li>
<li><a href="./#configure_optimizers">configure_optimizers</a> </li>
</ul>
<p><strong>Optional</strong>: </p>
@@ -1025,7 +1025,7 @@
<li><a href="./#test_dataloader">test_dataloader</a> </li>
<li><a href="./#on_save_checkpoint">on_save_checkpoint</a> </li>
<li><a href="./#on_load_checkpoint">on_load_checkpoint</a> </li>
<li><a href="./#update_tng_log_metrics">update_tng_log_metrics</a> </li>
<li><a href="./#update_training_log_metrics">update_training_log_metrics</a> </li>
<li><a href="./#add_model_specific_args">add_model_specific_args</a> </li>
</ul>
<hr />
@@ -1147,7 +1147,7 @@
<span class="k">return</span> <span class="p">[</span><span class="n">torch</span><span class="o">.</span><span class="n">optim</span><span class="o">.</span><span class="n">Adam</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">parameters</span><span class="p">(),</span> <span class="n">lr</span><span class="o">=</span><span class="mf">0.02</span><span class="p">)]</span>
<span class="nd">@pl.data_loader</span>
<span class="k">def</span> <span class="nf">tng_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">train_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="n">DataLoader</span><span class="p">(</span><span class="n">MNIST</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">(),</span> <span class="n">train</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">download</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">transform</span><span class="o">=</span><span class="n">transforms</span><span class="o">.</span><span class="n">ToTensor</span><span class="p">()),</span> <span class="n">batch_size</span><span class="o">=</span><span class="mi">32</span><span class="p">)</span>
<span class="nd">@pl.data_loader</span>
@@ -1175,7 +1175,7 @@
<h2 id="required-methods">Required Methods</h2>
<h3 id="training_step">training_step</h3>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
</pre></div>
</td></tr></table>
@@ -1190,7 +1190,7 @@
</thead>
<tbody>
<tr>
<td>data_batch</td>
<td>batch</td>
<td>The output of your dataloader. A tensor, tuple or list</td>
</tr>
<tr>
@@ -1216,7 +1216,7 @@
<td>Y</td>
</tr>
<tr>
<td>prog</td>
<td>progress</td>
<td>Dict for progress bar display. Must have only tensors</td>
<td>N</td>
</tr>
@@ -1236,8 +1236,8 @@
11
12
13
14</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span> <span class="o">=</span> <span class="n">data_batch</span>
14</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">,</span> <span class="n">z</span> <span class="o">=</span> <span class="n">batch</span>
<span class="c1"># implement your own</span>
<span class="n">out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
@@ -1245,7 +1245,7 @@
<span class="n">output</span> <span class="o">=</span> <span class="p">{</span>
<span class="s1">&#39;loss&#39;</span><span class="p">:</span> <span class="n">loss</span><span class="p">,</span> <span class="c1"># required</span>
<span class="s1">&#39;prog&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;tng_loss&#39;</span><span class="p">:</span> <span class="n">loss</span><span class="p">,</span> <span class="s1">&#39;batch_nb&#39;</span><span class="p">:</span> <span class="n">batch_nb</span><span class="p">}</span> <span class="c1"># optional</span>
<span class="s1">&#39;progress&#39;</span><span class="p">:</span> <span class="p">{</span><span class="s1">&#39;training_loss&#39;</span><span class="p">:</span> <span class="n">loss</span><span class="p">}</span> <span class="c1"># optional (MUST ALL BE TENSORS)</span>
<span class="p">}</span>
<span class="c1"># return a dict</span>
@@ -1260,7 +1260,7 @@
4
5
6</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># Multiple optimizers (ie: GANs) </span>
<span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">optimizer_idx</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">training_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">optimizer_idx</span><span class="p">):</span>
<span class="k">if</span> <span class="n">optimizer_idx</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</span>
<span class="c1"># do training_step with encoder</span>
<span class="k">if</span> <span class="n">optimizer_idx</span> <span class="o">==</span> <span class="mi">1</span><span class="p">:</span>
@@ -1269,10 +1269,10 @@
</td></tr></table>
<hr />
<h3 id="tng_dataloader">tng_dataloader</h3>
<h3 id="train_dataloader">train_dataloader</h3>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="nd">@pl.data_loader</span>
<span class="k">def</span> <span class="nf">tng_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">train_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span>
</pre></div>
</td></tr></table>
@@ -1290,7 +1290,7 @@
8
9
10</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="nd">@pl.data_loader</span>
<span class="k">def</span> <span class="nf">tng_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">train_dataloader</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="n">transform</span> <span class="o">=</span> <span class="n">transforms</span><span class="o">.</span><span class="n">Compose</span><span class="p">([</span><span class="n">transforms</span><span class="o">.</span><span class="n">ToTensor</span><span class="p">(),</span> <span class="n">transforms</span><span class="o">.</span><span class="n">Normalize</span><span class="p">((</span><span class="mf">0.5</span><span class="p">,),</span> <span class="p">(</span><span class="mf">1.0</span><span class="p">,))])</span>
<span class="n">dataset</span> <span class="o">=</span> <span class="n">MNIST</span><span class="p">(</span><span class="n">root</span><span class="o">=</span><span class="s1">&#39;/path/to/mnist/&#39;</span><span class="p">,</span> <span class="n">train</span><span class="o">=</span><span class="bp">True</span><span class="p">,</span> <span class="n">transform</span><span class="o">=</span><span class="n">transform</span><span class="p">,</span> <span class="n">download</span><span class="o">=</span><span class="bp">True</span><span class="p">)</span>
<span class="n">loader</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">utils</span><span class="o">.</span><span class="n">data</span><span class="o">.</span><span class="n">DataLoader</span><span class="p">(</span>
@@ -1362,10 +1362,10 @@ the <a href="https://williamfalcon.github.io/pytorch-lightning/Trainer/hooks/#op
3
4
5</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># if you have one val dataloader:</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
<span class="c1"># if you have multiple val dataloaders: </span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataloader_idx</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataloader_idxdx</span><span class="p">)</span>
</pre></div>
</td></tr></table>
@@ -1383,7 +1383,7 @@ If you don't need to validate you don't need to implement this method. In this s
</thead>
<tbody>
<tr>
<td>data_batch</td>
<td>batch</td>
<td>The output of your dataloader. A tensor, tuple or list</td>
</tr>
<tr>
@@ -1391,7 +1391,7 @@ If you don't need to validate you don't need to implement this method. In this s
<td>Integer displaying which batch this is</td>
</tr>
<tr>
<td>dataloader_i</td>
<td>dataloader_idx</td>
<td>Integer displaying which dataloader this is (only if multiple val datasets used)</td>
</tr>
</tbody>
@@ -1441,8 +1441,8 @@ If you don't need to validate you don't need to implement this method. In this s
25
26
27</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># CASE 1: A single validation dataset</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">data_batch</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">batch</span>
<span class="c1"># implement your own</span>
<span class="n">out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
@@ -1474,7 +1474,7 @@ If you don't need to validate you don't need to implement this method. In this s
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># CASE 2: multiple validation datasets</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataset_idx</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">validation_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataset_idx</span><span class="p">):</span>
<span class="c1"># dataset_idx tells you which dataset this is. </span>
</pre></div>
</td></tr></table>
@@ -1552,8 +1552,8 @@ If you don't need to validate you don't need to implement this method. In this s
<span class="n">val_loss_mean</span> <span class="o">/=</span> <span class="nb">len</span><span class="p">(</span><span class="n">outputs</span><span class="p">)</span>
<span class="n">val_acc_mean</span> <span class="o">/=</span> <span class="nb">len</span><span class="p">(</span><span class="n">outputs</span><span class="p">)</span>
<span class="n">tqdm_dic</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;val_loss&#39;</span><span class="p">:</span> <span class="n">val_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;val_acc&#39;</span><span class="p">:</span> <span class="n">val_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dic</span>
<span class="n">tqdm_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;val_loss&#39;</span><span class="p">:</span> <span class="n">val_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;val_acc&#39;</span><span class="p">:</span> <span class="n">val_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dict</span>
</pre></div>
</td></tr></table>
@@ -1595,8 +1595,8 @@ each validation step for that dataloader.</p>
<span class="n">val_loss_mean</span> <span class="o">/=</span> <span class="n">i</span>
<span class="n">val_acc_mean</span> <span class="o">/=</span> <span class="n">i</span>
<span class="n">tqdm_dic</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;val_loss&#39;</span><span class="p">:</span> <span class="n">val_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;val_acc&#39;</span><span class="p">:</span> <span class="n">val_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dic</span>
<span class="n">tqdm_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;val_loss&#39;</span><span class="p">:</span> <span class="n">val_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;val_acc&#39;</span><span class="p">:</span> <span class="n">val_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dict</span>
</pre></div>
</td></tr></table>
@@ -1606,10 +1606,10 @@ each validation step for that dataloader.</p>
3
4
5</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># if you have one test dataloader:</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">)</span>
<span class="c1"># if you have multiple test dataloaders: </span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataloader_idx</span><span class="p">)</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataloader_idxdx</span><span class="p">)</span>
</pre></div>
</td></tr></table>
@@ -1628,7 +1628,7 @@ If you don't need to test you don't need to implement this method. In this step
</thead>
<tbody>
<tr>
<td>data_batch</td>
<td>batch</td>
<td>The output of your dataloader. A tensor, tuple or list</td>
</tr>
<tr>
@@ -1636,7 +1636,7 @@ If you don't need to test you don't need to implement this method. In this step
<td>Integer displaying which batch this is</td>
</tr>
<tr>
<td>dataloader_i</td>
<td>dataloader_idx</td>
<td>Integer displaying which dataloader this is (only if multiple test datasets used)</td>
</tr>
</tbody>
@@ -1680,8 +1680,8 @@ If you don't need to test you don't need to implement this method. In this step
19
20
21</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># CASE 1: A single test dataset</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">data_batch</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">):</span>
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">batch</span>
<span class="c1"># implement your own</span>
<span class="n">out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">forward</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
@@ -1707,7 +1707,7 @@ If you don't need to test you don't need to implement this method. In this step
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="c1"># CASE 2: multiple test datasets</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">data_batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataset_idx</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">test_step</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">batch</span><span class="p">,</span> <span class="n">batch_nb</span><span class="p">,</span> <span class="n">dataset_idx</span><span class="p">):</span>
<span class="c1"># dataset_idx tells you which dataset this is. </span>
</pre></div>
</td></tr></table>
@@ -1784,8 +1784,8 @@ If you don't need to test you don't need to implement this method. In this step
<span class="n">test_loss_mean</span> <span class="o">/=</span> <span class="nb">len</span><span class="p">(</span><span class="n">outputs</span><span class="p">)</span>
<span class="n">test_acc_mean</span> <span class="o">/=</span> <span class="nb">len</span><span class="p">(</span><span class="n">outputs</span><span class="p">)</span>
<span class="n">tqdm_dic</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;test_loss&#39;</span><span class="p">:</span> <span class="n">test_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;test_acc&#39;</span><span class="p">:</span> <span class="n">test_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dic</span>
<span class="n">tqdm_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;test_loss&#39;</span><span class="p">:</span> <span class="n">test_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;test_acc&#39;</span><span class="p">:</span> <span class="n">test_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dict</span>
</pre></div>
</td></tr></table>
@@ -1827,8 +1827,8 @@ each validation step for that dataloader.</p>
<span class="n">test_loss_mean</span> <span class="o">/=</span> <span class="n">i</span>
<span class="n">test_acc_mean</span> <span class="o">/=</span> <span class="n">i</span>
<span class="n">tqdm_dic</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;test_loss&#39;</span><span class="p">:</span> <span class="n">test_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;test_acc&#39;</span><span class="p">:</span> <span class="n">test_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dic</span>
<span class="n">tqdm_dict</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;test_loss&#39;</span><span class="p">:</span> <span class="n">test_loss_mean</span><span class="o">.</span><span class="n">item</span><span class="p">(),</span> <span class="s1">&#39;test_acc&#39;</span><span class="p">:</span> <span class="n">test_acc_mean</span><span class="o">.</span><span class="n">item</span><span class="p">()}</span>
<span class="k">return</span> <span class="n">tqdm_dict</span>
</pre></div>
</td></tr></table>
@@ -1961,8 +1961,8 @@ If you don't need a test dataset and a test_step, you don't need to implement th
</td></tr></table>
<hr />
<h3 id="update_tng_log_metrics">update_tng_log_metrics</h3>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">update_tng_log_metrics</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logs</span><span class="p">)</span>
<h3 id="update_training_log_metrics">update_training_log_metrics</h3>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">update_training_log_metrics</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logs</span><span class="p">)</span>
</pre></div>
</td></tr></table>
@@ -1973,7 +1973,7 @@ This is a chance to amend or add to the metrics about to be logged.</p>
<p><strong>Example</strong></p>
<table class="codehilitetable"><tr><td class="linenos"><div class="linenodiv"><pre>1
2
3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">update_tng_log_metrics</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logs</span><span class="p">):</span>
3</pre></div></td><td class="code"><div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">update_training_log_metrics</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">logs</span><span class="p">):</span>
<span class="c1"># modify or add to logs</span>
<span class="k">return</span> <span class="n">logs</span>
</pre></div>
@@ -2019,7 +2019,7 @@ The <a href="https://williamfalcon.github.io/test-tube/hyperparameter_optimizati
<span class="n">parser</span> <span class="o">=</span> <span class="n">HyperOptArgumentParser</span><span class="p">(</span><span class="n">strategy</span><span class="o">=</span><span class="n">parent_parser</span><span class="o">.</span><span class="n">strategy</span><span class="p">,</span> <span class="n">parents</span><span class="o">=</span><span class="p">[</span><span class="n">parent_parser</span><span class="p">])</span>
<span class="c1"># param overwrites</span>
<span class="c1"># parser.set_defaults(gradient_clip=5.0)</span>
<span class="c1"># parser.set_defaults(gradient_clip_val=5.0)</span>
<span class="c1"># network params</span>
<span class="n">parser</span><span class="o">.</span><span class="n">opt_list</span><span class="p">(</span><span class="s1">&#39;--drop_prob&#39;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="mf">0.2</span><span class="p">,</span> <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="mf">0.2</span><span class="p">,</span> <span class="mf">0.5</span><span class="p">],</span> <span class="nb">type</span><span class="o">=</span><span class="nb">float</span><span class="p">,</span> <span class="n">tunable</span><span class="o">=</span><span class="bp">False</span><span class="p">)</span>
@@ -2107,7 +2107,7 @@ The <a href="https://williamfalcon.github.io/test-tube/hyperparameter_optimizati
</div>
<script src="../../assets/javascripts/application.245445c6.js"></script>
<script src="../../assets/javascripts/application.c648116f.js"></script>
<script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
+10 -10
View File
@@ -34,7 +34,7 @@
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.0">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2">
@@ -42,7 +42,7 @@
<link rel="stylesheet" href="../../assets/stylesheets/application.0284f74d.css">
<link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
@@ -171,7 +171,7 @@
<main class="md-main">
<main class="md-main" role="main">
<div class="md-main__inner md-grid" data-md-component="container">
@@ -284,21 +284,21 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#freeze" title="freeze" class="md-nav__link">
<a href="#freeze" class="md-nav__link">
freeze
</a>
</li>
<li class="md-nav__item">
<a href="#load_from_metrics" title="load_from_metrics" class="md-nav__link">
<a href="#load_from_metrics" class="md-nav__link">
load_from_metrics
</a>
</li>
<li class="md-nav__item">
<a href="#unfreeze" title="unfreeze" class="md-nav__link">
<a href="#unfreeze" class="md-nav__link">
unfreeze
</a>
@@ -531,21 +531,21 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#freeze" title="freeze" class="md-nav__link">
<a href="#freeze" class="md-nav__link">
freeze
</a>
</li>
<li class="md-nav__item">
<a href="#load_from_metrics" title="load_from_metrics" class="md-nav__link">
<a href="#load_from_metrics" class="md-nav__link">
load_from_metrics
</a>
</li>
<li class="md-nav__item">
<a href="#unfreeze" title="unfreeze" class="md-nav__link">
<a href="#unfreeze" class="md-nav__link">
unfreeze
</a>
@@ -716,7 +716,7 @@ The meta_tags.csv file can be found in the test-tube experiment save_dir.
</div>
<script src="../../assets/javascripts/application.245445c6.js"></script>
<script src="../../assets/javascripts/application.c648116f.js"></script>
<script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>
+25 -25
View File
@@ -34,7 +34,7 @@
<meta name="lang:search.tokenizer" content="[\s\-]+">
<link rel="shortcut icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.0">
<meta name="generator" content="mkdocs-1.0.4, mkdocs-material-4.4.2">
@@ -42,7 +42,7 @@
<link rel="stylesheet" href="../../assets/stylesheets/application.0284f74d.css">
<link rel="stylesheet" href="../../assets/stylesheets/application.30686662.css">
@@ -171,7 +171,7 @@
<main class="md-main">
<main class="md-main" role="main">
<div class="md-main__inner md-grid" data-md-component="container">
@@ -296,56 +296,56 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#current_epoch" title="current_epoch" class="md-nav__link">
<a href="#current_epoch" class="md-nav__link">
current_epoch
</a>
</li>
<li class="md-nav__item">
<a href="#dtype" title="dtype" class="md-nav__link">
<a href="#dtype" class="md-nav__link">
dtype
</a>
</li>
<li class="md-nav__item">
<a href="#experiment" title="experiment" class="md-nav__link">
<a href="#experiment" class="md-nav__link">
experiment
</a>
</li>
<li class="md-nav__item">
<a href="#global_step" title="global_step" class="md-nav__link">
<a href="#global_step" class="md-nav__link">
global_step
</a>
</li>
<li class="md-nav__item">
<a href="#gradient_clip" title="gradient_clip" class="md-nav__link">
gradient_clip
<a href="#gradient_clip_val" class="md-nav__link">
gradient_clip_val
</a>
</li>
<li class="md-nav__item">
<a href="#on_gpu" title="on_gpu" class="md-nav__link">
<a href="#on_gpu" class="md-nav__link">
on_gpu
</a>
</li>
<li class="md-nav__item">
<a href="#trainer" title="trainer" class="md-nav__link">
<a href="#trainer" class="md-nav__link">
trainer
</a>
</li>
<li class="md-nav__item">
<a href="#debugging" title="Debugging" class="md-nav__link">
<a href="#debugging" class="md-nav__link">
Debugging
</a>
@@ -353,7 +353,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#example_input_array" title="example_input_array" class="md-nav__link">
<a href="#example_input_array" class="md-nav__link">
example_input_array
</a>
@@ -579,56 +579,56 @@
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="#current_epoch" title="current_epoch" class="md-nav__link">
<a href="#current_epoch" class="md-nav__link">
current_epoch
</a>
</li>
<li class="md-nav__item">
<a href="#dtype" title="dtype" class="md-nav__link">
<a href="#dtype" class="md-nav__link">
dtype
</a>
</li>
<li class="md-nav__item">
<a href="#experiment" title="experiment" class="md-nav__link">
<a href="#experiment" class="md-nav__link">
experiment
</a>
</li>
<li class="md-nav__item">
<a href="#global_step" title="global_step" class="md-nav__link">
<a href="#global_step" class="md-nav__link">
global_step
</a>
</li>
<li class="md-nav__item">
<a href="#gradient_clip" title="gradient_clip" class="md-nav__link">
gradient_clip
<a href="#gradient_clip_val" class="md-nav__link">
gradient_clip_val
</a>
</li>
<li class="md-nav__item">
<a href="#on_gpu" title="on_gpu" class="md-nav__link">
<a href="#on_gpu" class="md-nav__link">
on_gpu
</a>
</li>
<li class="md-nav__item">
<a href="#trainer" title="trainer" class="md-nav__link">
<a href="#trainer" class="md-nav__link">
trainer
</a>
</li>
<li class="md-nav__item">
<a href="#debugging" title="Debugging" class="md-nav__link">
<a href="#debugging" class="md-nav__link">
Debugging
</a>
@@ -636,7 +636,7 @@
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#example_input_array" title="example_input_array" class="md-nav__link">
<a href="#example_input_array" class="md-nav__link">
example_input_array
</a>
@@ -690,7 +690,7 @@
<h4 id="global_step">global_step</h4>
<p>Total training batches seen across all epochs </p>
<hr />
<h4 id="gradient_clip">gradient_clip</h4>
<h4 id="gradient_clip_val">gradient_clip_val</h4>
<p>The current gradient clip value </p>
<hr />
<h4 id="on_gpu">on_gpu</h4>
@@ -788,7 +788,7 @@ to get a print out of sizes coming into and out of every layer. </p>
</div>
<script src="../../assets/javascripts/application.245445c6.js"></script>
<script src="../../assets/javascripts/application.c648116f.js"></script>
<script>app.initialize({version:"1.0.4",url:{base:"../.."}})</script>