Skip to content

Commit

Permalink
Update documentations
Browse files Browse the repository at this point in the history
  • Loading branch information
actions-user committed Aug 14, 2024
1 parent 83e9579 commit 99d3f8b
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 41 deletions.
18 changes: 9 additions & 9 deletions _modules/hippynn/databases/restarter.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ <h1>Source code for hippynn.databases.restarter</h1><div class="highlight"><pre>
<div class="viewcode-block" id="Restarter">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter">[docs]</a>
<span class="k">class</span> <span class="nc">Restarter</span><span class="p">:</span>
<div class="viewcode-block" id="Restarter.attempt_reload">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter.attempt_reload">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_reload</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<div class="viewcode-block" id="Restarter.attempt_restart">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter.attempt_restart">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_restart</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">NotImplemented</span></div>
</div>

Expand All @@ -107,9 +107,9 @@ <h1>Source code for hippynn.databases.restarter</h1><div class="highlight"><pre>
<div class="viewcode-block" id="NoRestart">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart">[docs]</a>
<span class="k">class</span> <span class="nc">NoRestart</span><span class="p">(</span><span class="n">Restarter</span><span class="p">):</span>
<div class="viewcode-block" id="NoRestart.attempt_reload">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart.attempt_reload">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_reload</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<div class="viewcode-block" id="NoRestart.attempt_restart">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart.attempt_restart">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_restart</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Couldn&#39;t reload database. It might have been generated in-memory.&quot;</span><span class="p">)</span>
<span class="k">return</span> <span class="kc">None</span></div>
</div>
Expand Down Expand Up @@ -149,9 +149,9 @@ <h1>Source code for hippynn.databases.restarter</h1><div class="highlight"><pre>
<span class="k">for</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span> <span class="ow">in</span> <span class="n">state</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
<span class="nb">setattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>

<div class="viewcode-block" id="RestartDB.attempt_reload">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB.attempt_reload">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_reload</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<div class="viewcode-block" id="RestartDB.attempt_restart">
<a class="viewcode-back" href="../../../api_documentation/hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB.attempt_restart">[docs]</a>
<span class="k">def</span> <span class="nf">attempt_restart</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">&quot;restarting&quot;</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="p">)</span>
<span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="p">,</span> <span class="nb">str</span><span class="p">):</span>
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;Not restartable due to class error: </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">cls</span><span class="si">}</span><span class="s2">&quot;</span><span class="p">)</span>
Expand Down
20 changes: 12 additions & 8 deletions _modules/hippynn/experiment/serialization.html
Original file line number Diff line number Diff line change
Expand Up @@ -153,20 +153,23 @@ <h1>Source code for hippynn.experiment.serialization</h1><div class="highlight">

<div class="viewcode-block" id="restore_checkpoint">
<a class="viewcode-back" href="../../../api_documentation/hippynn.experiment.serialization.html#hippynn.experiment.serialization.restore_checkpoint">[docs]</a>
<span class="k">def</span> <span class="nf">restore_checkpoint</span><span class="p">(</span><span class="n">structure</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">state</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">restore_db</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
<span class="k">def</span> <span class="nf">restore_checkpoint</span><span class="p">(</span><span class="n">structure</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">state</span><span class="p">:</span> <span class="nb">dict</span><span class="p">,</span> <span class="n">restart_db</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>

<span class="sd"> This function loads the parameters from the state dictionary into the modules,</span>
<span class="sd"> optionally tries to restart the database, and sets the RNG state.</span>

<span class="sd"> :param structure: experiment structure object</span>
<span class="sd"> :param state: experiment state object</span>
<span class="sd"> :param restore_db: Attempt to restore database (true/false)</span>
<span class="sd"> :param restart_db: Attempt to restore database (true/false)</span>

<span class="sd"> :return: experiment structure</span>
<span class="sd"> &quot;&quot;&quot;</span>
<span class="n">structure</span><span class="p">[</span><span class="s2">&quot;training_modules&quot;</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">load_state_dict</span><span class="p">(</span><span class="n">state</span><span class="p">[</span><span class="s2">&quot;model&quot;</span><span class="p">])</span>
<span class="n">structure</span><span class="p">[</span><span class="s2">&quot;controller&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">load_state_dict</span><span class="p">(</span><span class="n">state</span><span class="p">[</span><span class="s2">&quot;controller&quot;</span><span class="p">])</span>

<span class="k">if</span> <span class="s2">&quot;database&quot;</span> <span class="ow">in</span> <span class="n">structure</span> <span class="ow">and</span> <span class="n">restore_db</span><span class="p">:</span>
<span class="n">structure</span><span class="p">[</span><span class="s2">&quot;database&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">structure</span><span class="p">[</span><span class="s2">&quot;database&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">attempt_reload</span><span class="p">()</span>
<span class="k">if</span> <span class="s2">&quot;database&quot;</span> <span class="ow">in</span> <span class="n">structure</span> <span class="ow">and</span> <span class="n">restart_db</span><span class="p">:</span>
<span class="n">structure</span><span class="p">[</span><span class="s2">&quot;database&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">structure</span><span class="p">[</span><span class="s2">&quot;database&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">attempt_restart</span><span class="p">()</span>

<span class="n">structure</span><span class="p">[</span><span class="s2">&quot;metric_tracker&quot;</span><span class="p">]</span> <span class="o">=</span> <span class="n">state</span><span class="p">[</span><span class="s2">&quot;metric_tracker&quot;</span><span class="p">]</span>
<span class="n">torch</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">set_rng_state</span><span class="p">(</span><span class="n">state</span><span class="p">[</span><span class="s2">&quot;torch_rng_state&quot;</span><span class="p">])</span>
Expand Down Expand Up @@ -201,7 +204,8 @@ <h1>Source code for hippynn.experiment.serialization</h1><div class="highlight">
<div class="viewcode-block" id="load_saved_tensors">
<a class="viewcode-back" href="../../../api_documentation/hippynn.experiment.serialization.html#hippynn.experiment.serialization.load_saved_tensors">[docs]</a>
<span class="k">def</span> <span class="nf">load_saved_tensors</span><span class="p">(</span><span class="n">structure_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">state_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Tuple</span><span class="p">[</span><span class="nb">dict</span><span class="p">,</span> <span class="nb">dict</span><span class="p">]:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Load torch tensors from file.</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Load torch tensors from file.</span>

<span class="sd"> :param structure_fname: name of the structure file</span>
<span class="sd"> :param state_fname: name of the state file</span>
Expand All @@ -220,7 +224,7 @@ <h1>Source code for hippynn.experiment.serialization</h1><div class="highlight">
<div class="viewcode-block" id="load_checkpoint">
<a class="viewcode-back" href="../../../api_documentation/hippynn.experiment.serialization.html#hippynn.experiment.serialization.load_checkpoint">[docs]</a>
<span class="k">def</span> <span class="nf">load_checkpoint</span><span class="p">(</span>
<span class="n">structure_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">state_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">restore_db</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">map_location</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">model_device</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span>
<span class="n">structure_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">state_fname</span><span class="p">:</span> <span class="nb">str</span><span class="p">,</span> <span class="n">restart_db</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">map_location</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">model_device</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">dict</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;</span>
<span class="sd"> Load checkpoint file from given filename.</span>
Expand All @@ -229,7 +233,7 @@ <h1>Source code for hippynn.experiment.serialization</h1><div class="highlight">

<span class="sd"> :param structure_fname: name of the structure file</span>
<span class="sd"> :param state_fname: name of the state file</span>
<span class="sd"> :param restore_db: restore database or not, defaults to True</span>
<span class="sd"> :param restart_db: restore database or not, defaults to True</span>
<span class="sd"> :param map_location: device mapping argument for ``torch.load``, defaults to None</span>
<span class="sd"> :param model_device: automatically handle device mapping. Defaults to None, defaults to None</span>
<span class="sd"> :return: experiment structure</span>
Expand All @@ -241,7 +245,7 @@ <h1>Source code for hippynn.experiment.serialization</h1><div class="highlight">
<span class="n">structure</span><span class="p">,</span> <span class="n">state</span> <span class="o">=</span> <span class="n">load_saved_tensors</span><span class="p">(</span><span class="n">structure_fname</span><span class="p">,</span> <span class="n">state_fname</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">)</span>

<span class="c1"># transfer stuff back to model_device</span>
<span class="n">structure</span> <span class="o">=</span> <span class="n">restore_checkpoint</span><span class="p">(</span><span class="n">structure</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">restore_db</span><span class="o">=</span><span class="n">restore_db</span><span class="p">)</span>
<span class="n">structure</span> <span class="o">=</span> <span class="n">restore_checkpoint</span><span class="p">(</span><span class="n">structure</span><span class="p">,</span> <span class="n">state</span><span class="p">,</span> <span class="n">restart_db</span><span class="o">=</span><span class="n">restart_db</span><span class="p">)</span>
<span class="c1"># no transfer happens in either case, as the tensors are on the target devices already</span>
<span class="k">if</span> <span class="n">model_device</span> <span class="o">==</span> <span class="s2">&quot;cpu&quot;</span> <span class="ow">or</span> <span class="n">map_location</span> <span class="o">!=</span> <span class="kc">None</span><span class="p">:</span>
<span class="n">evaluator</span> <span class="o">=</span> <span class="n">structure</span><span class="p">[</span><span class="s2">&quot;training_modules&quot;</span><span class="p">]</span><span class="o">.</span><span class="n">evaluator</span>
Expand Down
6 changes: 3 additions & 3 deletions api_documentation/hippynn.databases.html
Original file line number Diff line number Diff line change
Expand Up @@ -632,20 +632,20 @@ <h2>Submodules<a class="headerlink" href="#submodules" title="Link to this headi
</li>
<li class="toctree-l1"><a class="reference internal" href="hippynn.databases.restarter.html">hippynn.databases.restarter module</a><ul>
<li class="toctree-l2"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart"><code class="docutils literal notranslate"><span class="pre">NoRestart</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart.attempt_reload"><code class="docutils literal notranslate"><span class="pre">NoRestart.attempt_reload()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.NoRestart.attempt_restart"><code class="docutils literal notranslate"><span class="pre">NoRestart.attempt_restart()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB"><code class="docutils literal notranslate"><span class="pre">RestartDB</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB.__init__"><code class="docutils literal notranslate"><span class="pre">RestartDB.__init__()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB.attempt_reload"><code class="docutils literal notranslate"><span class="pre">RestartDB.attempt_reload()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.RestartDB.attempt_restart"><code class="docutils literal notranslate"><span class="pre">RestartDB.attempt_restart()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.Restartable"><code class="docutils literal notranslate"><span class="pre">Restartable</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.Restartable.make_restarter"><code class="docutils literal notranslate"><span class="pre">Restartable.make_restarter()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter"><code class="docutils literal notranslate"><span class="pre">Restarter</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter.attempt_reload"><code class="docutils literal notranslate"><span class="pre">Restarter.attempt_reload()</span></code></a></li>
<li class="toctree-l3"><a class="reference internal" href="hippynn.databases.restarter.html#hippynn.databases.restarter.Restarter.attempt_restart"><code class="docutils literal notranslate"><span class="pre">Restarter.attempt_restart()</span></code></a></li>
</ul>
</li>
</ul>
Expand Down
Loading

0 comments on commit 99d3f8b

Please sign in to comment.