12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
- <title>draugr.torch_utilities.architectures.architecture.Architecture — Draugr 1.0.1 documentation</title>
- <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
- <link rel="stylesheet" type="text/css" href="../_static/alabaster.css" />
- <link rel="stylesheet" type="text/css" href="../_static/graphviz.css" />
- <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
- <script src="../_static/jquery.js"></script>
- <script src="../_static/underscore.js"></script>
- <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
- <script src="../_static/doctools.js"></script>
- <link rel="canonical" href="pything.github.io/draugr/generated/draugr.torch_utilities.architectures.architecture.Architecture.html" />
- <link rel="index" title="Index" href="../genindex.html" />
- <link rel="search" title="Search" href="../search.html" />
- <link rel="next" title="draugr.torch_utilities.architectures.distributional" href="draugr.torch_utilities.architectures.distributional.html" />
- <link rel="prev" title="draugr.torch_utilities.architectures.architecture" href="draugr.torch_utilities.architectures.architecture.html" />
-
- <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
-
-
- <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
- </head><body>
-
- <div class="document">
- <div class="documentwrapper">
- <div class="bodywrapper">
-
- <div class="body" role="main">
-
- <section id="draugr-torch-utilities-architectures-architecture-architecture">
- <h1>draugr.torch_utilities.architectures.architecture.Architecture<a class="headerlink" href="#draugr-torch-utilities-architectures-architecture-architecture" title="Permalink to this heading">¶</a></h1>
- <dl class="py class">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture">
- <em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">draugr.torch_utilities.architectures.architecture.</span></span><span class="sig-name descname"><span class="pre">Architecture</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input_shape</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_shape</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/draugr/torch_utilities/architectures/architecture.html#Architecture"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture" title="Permalink to this definition">¶</a></dt>
- <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code>, <a class="reference external" href="https://docs.python.org/3/library/abc.html#abc.ABC" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ABC</span></code></a></p>
- <p>description</p>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.__init__">
- <span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input_shape</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_shape</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/draugr/torch_utilities/architectures/architecture.html#Architecture.__init__"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.__init__" title="Permalink to this definition">¶</a></dt>
- <dd><p>Initializes internal Module state, shared by both nn.Module and ScriptModule.</p>
- </dd></dl>
- <p class="rubric">Methods</p>
- <table class="autosummary longtable docutils align-default">
- <colgroup>
- <col style="width: 10%" />
- <col style="width: 90%" />
- </colgroup>
- <tbody>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.__init__" title="draugr.torch_utilities.architectures.architecture.Architecture.__init__"><code class="xref py py-obj docutils literal notranslate"><span class="pre">__init__</span></code></a>(input_shape, output_shape)</p></td>
- <td><p>Initializes internal Module state, shared by both nn.Module and ScriptModule.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.add_module" title="draugr.torch_utilities.architectures.architecture.Architecture.add_module"><code class="xref py py-obj docutils literal notranslate"><span class="pre">add_module</span></code></a>(name, module)</p></td>
- <td><p>Adds a child module to the current module.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.apply" title="draugr.torch_utilities.architectures.architecture.Architecture.apply"><code class="xref py py-obj docutils literal notranslate"><span class="pre">apply</span></code></a>(fn)</p></td>
- <td><p>Applies <code class="docutils literal notranslate"><span class="pre">fn</span></code> recursively to every submodule (as returned by <code class="docutils literal notranslate"><span class="pre">.children()</span></code>) as well as self.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.bfloat16" title="draugr.torch_utilities.architectures.architecture.Architecture.bfloat16"><code class="xref py py-obj docutils literal notranslate"><span class="pre">bfloat16</span></code></a>()</p></td>
- <td><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">bfloat16</span></code> datatype.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.buffers" title="draugr.torch_utilities.architectures.architecture.Architecture.buffers"><code class="xref py py-obj docutils literal notranslate"><span class="pre">buffers</span></code></a>([recurse])</p></td>
- <td><p>Returns an iterator over module buffers.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.children" title="draugr.torch_utilities.architectures.architecture.Architecture.children"><code class="xref py py-obj docutils literal notranslate"><span class="pre">children</span></code></a>()</p></td>
- <td><p>Returns an iterator over immediate children modules.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.cpu" title="draugr.torch_utilities.architectures.architecture.Architecture.cpu"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cpu</span></code></a>()</p></td>
- <td><p>Moves all model parameters and buffers to the CPU.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.cuda" title="draugr.torch_utilities.architectures.architecture.Architecture.cuda"><code class="xref py py-obj docutils literal notranslate"><span class="pre">cuda</span></code></a>([device])</p></td>
- <td><p>Moves all model parameters and buffers to the GPU.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.double" title="draugr.torch_utilities.architectures.architecture.Architecture.double"><code class="xref py py-obj docutils literal notranslate"><span class="pre">double</span></code></a>()</p></td>
- <td><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">double</span></code> datatype.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.eval" title="draugr.torch_utilities.architectures.architecture.Architecture.eval"><code class="xref py py-obj docutils literal notranslate"><span class="pre">eval</span></code></a>()</p></td>
- <td><p>Sets the module in evaluation mode.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.extra_repr" title="draugr.torch_utilities.architectures.architecture.Architecture.extra_repr"><code class="xref py py-obj docutils literal notranslate"><span class="pre">extra_repr</span></code></a>()</p></td>
- <td><p>Set the extra representation of the module</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.float" title="draugr.torch_utilities.architectures.architecture.Architecture.float"><code class="xref py py-obj docutils literal notranslate"><span class="pre">float</span></code></a>()</p></td>
- <td><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">float</span></code> datatype.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.forward" title="draugr.torch_utilities.architectures.architecture.Architecture.forward"><code class="xref py py-obj docutils literal notranslate"><span class="pre">forward</span></code></a>(*input)</p></td>
- <td><p>Defines the computation performed at every call.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_buffer" title="draugr.torch_utilities.architectures.architecture.Architecture.get_buffer"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_buffer</span></code></a>(target)</p></td>
- <td><p>Returns the buffer given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists, otherwise throws an error.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state" title="draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_extra_state</span></code></a>()</p></td>
- <td><p>Returns any extra state to include in the module's state_dict.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_parameter" title="draugr.torch_utilities.architectures.architecture.Architecture.get_parameter"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_parameter</span></code></a>(target)</p></td>
- <td><p>Returns the parameter given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists, otherwise throws an error.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_submodule" title="draugr.torch_utilities.architectures.architecture.Architecture.get_submodule"><code class="xref py py-obj docutils literal notranslate"><span class="pre">get_submodule</span></code></a>(target)</p></td>
- <td><p>Returns the submodule given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists, otherwise throws an error.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.half" title="draugr.torch_utilities.architectures.architecture.Architecture.half"><code class="xref py py-obj docutils literal notranslate"><span class="pre">half</span></code></a>()</p></td>
- <td><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">half</span></code> datatype.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.ipu" title="draugr.torch_utilities.architectures.architecture.Architecture.ipu"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ipu</span></code></a>([device])</p></td>
- <td><p>Moves all model parameters and buffers to the IPU.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">load_state_dict</span></code></a>(state_dict[, strict])</p></td>
- <td><p>Copies parameters and buffers from <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a> into this module and its descendants.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.modules" title="draugr.torch_utilities.architectures.architecture.Architecture.modules"><code class="xref py py-obj docutils literal notranslate"><span class="pre">modules</span></code></a>()</p></td>
- <td><p>Returns an iterator over all modules in the network.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_buffers" title="draugr.torch_utilities.architectures.architecture.Architecture.named_buffers"><code class="xref py py-obj docutils literal notranslate"><span class="pre">named_buffers</span></code></a>([prefix, recurse])</p></td>
- <td><p>Returns an iterator over module buffers, yielding both the name of the buffer as well as the buffer itself.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_children" title="draugr.torch_utilities.architectures.architecture.Architecture.named_children"><code class="xref py py-obj docutils literal notranslate"><span class="pre">named_children</span></code></a>()</p></td>
- <td><p>Returns an iterator over immediate children modules, yielding both the name of the module as well as the module itself.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_modules" title="draugr.torch_utilities.architectures.architecture.Architecture.named_modules"><code class="xref py py-obj docutils literal notranslate"><span class="pre">named_modules</span></code></a>([memo, prefix, remove_duplicate])</p></td>
- <td><p>Returns an iterator over all modules in the network, yielding both the name of the module as well as the module itself.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_parameters" title="draugr.torch_utilities.architectures.architecture.Architecture.named_parameters"><code class="xref py py-obj docutils literal notranslate"><span class="pre">named_parameters</span></code></a>([prefix, recurse])</p></td>
- <td><p>Returns an iterator over module parameters, yielding both the name of the parameter as well as the parameter itself.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.parameters" title="draugr.torch_utilities.architectures.architecture.Architecture.parameters"><code class="xref py py-obj docutils literal notranslate"><span class="pre">parameters</span></code></a>([recurse])</p></td>
- <td><p>Returns an iterator over module parameters.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_backward_hook" title="draugr.torch_utilities.architectures.architecture.Architecture.register_backward_hook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_backward_hook</span></code></a>(hook)</p></td>
- <td><p>Registers a backward hook on the module.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_buffer" title="draugr.torch_utilities.architectures.architecture.Architecture.register_buffer"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_buffer</span></code></a>(name, tensor[, persistent])</p></td>
- <td><p>Adds a buffer to the module.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_forward_hook" title="draugr.torch_utilities.architectures.architecture.Architecture.register_forward_hook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_forward_hook</span></code></a>(hook)</p></td>
- <td><p>Registers a forward hook on the module.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_forward_pre_hook" title="draugr.torch_utilities.architectures.architecture.Architecture.register_forward_pre_hook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_forward_pre_hook</span></code></a>(hook)</p></td>
- <td><p>Registers a forward pre-hook on the module.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_full_backward_hook" title="draugr.torch_utilities.architectures.architecture.Architecture.register_full_backward_hook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_full_backward_hook</span></code></a>(hook)</p></td>
- <td><p>Registers a backward hook on the module.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_load_state_dict_post_hook" title="draugr.torch_utilities.architectures.architecture.Architecture.register_load_state_dict_post_hook"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_load_state_dict_post_hook</span></code></a>(hook)</p></td>
- <td><p>Registers a post hook to be run after module's <code class="docutils literal notranslate"><span class="pre">load_state_dict</span></code> is called.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_module" title="draugr.torch_utilities.architectures.architecture.Architecture.register_module"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_module</span></code></a>(name, module)</p></td>
- <td><p>Alias for <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.add_module" title="draugr.torch_utilities.architectures.architecture.Architecture.add_module"><code class="xref py py-func docutils literal notranslate"><span class="pre">add_module()</span></code></a>.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_parameter" title="draugr.torch_utilities.architectures.architecture.Architecture.register_parameter"><code class="xref py py-obj docutils literal notranslate"><span class="pre">register_parameter</span></code></a>(name, param)</p></td>
- <td><p>Adds a parameter to the module.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.requires_grad_" title="draugr.torch_utilities.architectures.architecture.Architecture.requires_grad_"><code class="xref py py-obj docutils literal notranslate"><span class="pre">requires_grad_</span></code></a>([requires_grad])</p></td>
- <td><p>Change if autograd should record operations on parameters in this module.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.sample_input" title="draugr.torch_utilities.architectures.architecture.Architecture.sample_input"><code class="xref py py-obj docutils literal notranslate"><span class="pre">sample_input</span></code></a>()</p></td>
- <td><p><dl class="field-list simple">
- <dt class="field-odd">return</dt>
- <dd class="field-odd"><p></p></dd>
- </dl>
- </p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state" title="draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state"><code class="xref py py-obj docutils literal notranslate"><span class="pre">set_extra_state</span></code></a>(state)</p></td>
- <td><p>This function is called from <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict"><code class="xref py py-func docutils literal notranslate"><span class="pre">load_state_dict()</span></code></a> to handle any extra state found within the <cite>state_dict</cite>.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.share_memory" title="draugr.torch_utilities.architectures.architecture.Architecture.share_memory"><code class="xref py py-obj docutils literal notranslate"><span class="pre">share_memory</span></code></a>()</p></td>
- <td><p>See <code class="xref py py-meth docutils literal notranslate"><span class="pre">torch.Tensor.share_memory_()</span></code></p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-obj docutils literal notranslate"><span class="pre">state_dict</span></code></a>(*args[, destination, prefix, ...])</p></td>
- <td><p>Returns a dictionary containing a whole state of the module.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.to" title="draugr.torch_utilities.architectures.architecture.Architecture.to"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to</span></code></a>(*args, **kwargs)</p></td>
- <td><p>Moves and/or casts the parameters and buffers.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.to_empty" title="draugr.torch_utilities.architectures.architecture.Architecture.to_empty"><code class="xref py py-obj docutils literal notranslate"><span class="pre">to_empty</span></code></a>(*, device)</p></td>
- <td><p>Moves the parameters and buffers to the specified device without copying storage.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.train" title="draugr.torch_utilities.architectures.architecture.Architecture.train"><code class="xref py py-obj docutils literal notranslate"><span class="pre">train</span></code></a>([mode])</p></td>
- <td><p>Sets the module in training mode.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.type" title="draugr.torch_utilities.architectures.architecture.Architecture.type"><code class="xref py py-obj docutils literal notranslate"><span class="pre">type</span></code></a>(dst_type)</p></td>
- <td><p>Casts all parameters and buffers to <code class="xref py py-attr docutils literal notranslate"><span class="pre">dst_type</span></code>.</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.xpu" title="draugr.torch_utilities.architectures.architecture.Architecture.xpu"><code class="xref py py-obj docutils literal notranslate"><span class="pre">xpu</span></code></a>([device])</p></td>
- <td><p>Moves all model parameters and buffers to the XPU.</p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.zero_grad" title="draugr.torch_utilities.architectures.architecture.Architecture.zero_grad"><code class="xref py py-obj docutils literal notranslate"><span class="pre">zero_grad</span></code></a>([set_to_none])</p></td>
- <td><p>Sets gradients of all model parameters to zero.</p></td>
- </tr>
- </tbody>
- </table>
- <p class="rubric">Attributes</p>
- <table class="autosummary longtable docutils align-default">
- <colgroup>
- <col style="width: 10%" />
- <col style="width: 90%" />
- </colgroup>
- <tbody>
- <tr class="row-odd"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">T_destination</span></code></p></td>
- <td><p>alias of TypeVar('T_destination', bound=<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Dict" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Any</span></code></a>])</p></td>
- </tr>
- <tr class="row-even"><td><p><code class="xref py py-obj docutils literal notranslate"><span class="pre">dump_patches</span></code></p></td>
- <td><p></p></td>
- </tr>
- <tr class="row-odd"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.input_shape" title="draugr.torch_utilities.architectures.architecture.Architecture.input_shape"><code class="xref py py-obj docutils literal notranslate"><span class="pre">input_shape</span></code></a></p></td>
- <td><p>return: :rtype:</p></td>
- </tr>
- <tr class="row-even"><td><p><a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.output_shape" title="draugr.torch_utilities.architectures.architecture.Architecture.output_shape"><code class="xref py py-obj docutils literal notranslate"><span class="pre">output_shape</span></code></a></p></td>
- <td><p>return: :rtype:</p></td>
- </tr>
- </tbody>
- </table>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.add_module">
- <span class="sig-name descname"><span class="pre">add_module</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">module</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.add_module" title="Permalink to this definition">¶</a></dt>
- <dd><p>Adds a child module to the current module.</p>
- <p>The module can be accessed as an attribute using the given name.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>name</strong> (<em>string</em>) – name of the child module. The child module can be
- accessed from this module using the given name</p></li>
- <li><p><strong>module</strong> (<em>Module</em>) – child module to be added to the module.</p></li>
- </ul>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.apply">
- <span class="sig-name descname"><span class="pre">apply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">fn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.10)"><span class="pre">Callable</span></a><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.apply" title="Permalink to this definition">¶</a></dt>
- <dd><p>Applies <code class="docutils literal notranslate"><span class="pre">fn</span></code> recursively to every submodule (as returned by <code class="docutils literal notranslate"><span class="pre">.children()</span></code>)
- as well as self. Typical use includes initializing the parameters of a model
- (see also <span class="xref std std-ref">nn-init-doc</span>).</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>fn</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code> -> None) – function to be applied to each submodule</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="nd">@torch</span><span class="o">.</span><span class="n">no_grad</span><span class="p">()</span>
- <span class="gp">>>> </span><span class="k">def</span> <span class="nf">init_weights</span><span class="p">(</span><span class="n">m</span><span class="p">):</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">m</span><span class="p">)</span>
- <span class="gp">>>> </span> <span class="k">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">m</span><span class="p">)</span> <span class="o">==</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">:</span>
- <span class="gp">>>> </span> <span class="n">m</span><span class="o">.</span><span class="n">weight</span><span class="o">.</span><span class="n">fill_</span><span class="p">(</span><span class="mf">1.0</span><span class="p">)</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">m</span><span class="o">.</span><span class="n">weight</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">net</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span><span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">),</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">))</span>
- <span class="gp">>>> </span><span class="n">net</span><span class="o">.</span><span class="n">apply</span><span class="p">(</span><span class="n">init_weights</span><span class="p">)</span>
- <span class="go">Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 1., 1.],</span>
- <span class="go"> [ 1., 1.]])</span>
- <span class="go">Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 1., 1.],</span>
- <span class="go"> [ 1., 1.]])</span>
- <span class="go">Sequential(</span>
- <span class="go"> (0): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go"> (1): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">)</span>
- <span class="go">Sequential(</span>
- <span class="go"> (0): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go"> (1): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.bfloat16">
- <span class="sig-name descname"><span class="pre">bfloat16</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.bfloat16" title="Permalink to this definition">¶</a></dt>
- <dd><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">bfloat16</span></code> datatype.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.buffers">
- <span class="sig-name descname"><span class="pre">buffers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">recurse</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.buffers" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over module buffers.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>recurse</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – if True, then yields buffers of this module
- and all submodules. Otherwise, yields only buffers that
- are direct members of this module.</p>
- </dd>
- <dt class="field-even">Yields</dt>
- <dd class="field-even"><p><em>torch.Tensor</em> – module buffer</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">buf</span> <span class="ow">in</span> <span class="n">model</span><span class="o">.</span><span class="n">buffers</span><span class="p">():</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">buf</span><span class="p">),</span> <span class="n">buf</span><span class="o">.</span><span class="n">size</span><span class="p">())</span>
- <span class="go"><class 'torch.Tensor'> (20L,)</span>
- <span class="go"><class 'torch.Tensor'> (20L, 1L, 5L, 5L)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.children">
- <span class="sig-name descname"><span class="pre">children</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.children" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over immediate children modules.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Yields</dt>
- <dd class="field-odd"><p><em>Module</em> – a child module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.cpu">
- <span class="sig-name descname"><span class="pre">cpu</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.cpu" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves all model parameters and buffers to the CPU.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.cuda">
- <span class="sig-name descname"><span class="pre">cuda</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">device</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.cuda" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves all model parameters and buffers to the GPU.</p>
- <p>This also makes associated parameters and buffers different objects. So
- it should be called before constructing optimizer if the module will
- live on GPU while being optimized.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>device</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a><em>, </em><em>optional</em>) – if specified, all parameters will be
- copied to that device</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.double">
- <span class="sig-name descname"><span class="pre">double</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.double" title="Permalink to this definition">¶</a></dt>
- <dd><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">double</span></code> datatype.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.eval">
- <span class="sig-name descname"><span class="pre">eval</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.eval" title="Permalink to this definition">¶</a></dt>
- <dd><p>Sets the module in evaluation mode.</p>
- <p>This has any effect only on certain modules. See documentations of
- particular modules for details of their behaviors in training/evaluation
- mode, if they are affected, e.g. <code class="xref py py-class docutils literal notranslate"><span class="pre">Dropout</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">BatchNorm</span></code>,
- etc.</p>
- <p>This is equivalent with <code class="xref py py-meth docutils literal notranslate"><span class="pre">self.train(False)</span></code>.</p>
- <p>See <span class="xref std std-ref">locally-disable-grad-doc</span> for a comparison between
- <cite>.eval()</cite> and several similar mechanisms that may be confused with it.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.extra_repr">
- <span class="sig-name descname"><span class="pre">extra_repr</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.extra_repr" title="Permalink to this definition">¶</a></dt>
- <dd><p>Set the extra representation of the module</p>
- <p>To print customized extra information, you should re-implement
- this method in your own modules. Both single-line and multi-line
- strings are acceptable.</p>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.float">
- <span class="sig-name descname"><span class="pre">float</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.float" title="Permalink to this definition">¶</a></dt>
- <dd><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">float</span></code> datatype.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.forward">
- <span class="sig-name descname"><span class="pre">forward</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">input</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><span class="pre">Any</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.forward" title="Permalink to this definition">¶</a></dt>
- <dd><p>Defines the computation performed at every call.</p>
- <p>Should be overridden by all subclasses.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>Although the recipe for forward pass needs to be defined within
- this function, one should call the <code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code> instance afterwards
- instead of this since the former takes care of running the
- registered hooks while the latter silently ignores them.</p>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.get_buffer">
- <span class="sig-name descname"><span class="pre">get_buffer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Tensor</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_buffer" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns the buffer given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists,
- otherwise throws an error.</p>
- <p>See the docstring for <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> for a more detailed
- explanation of this method’s functionality as well as how to
- correctly specify <code class="docutils literal notranslate"><span class="pre">target</span></code>.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>target</strong> – The fully-qualified string name of the buffer
- to look for. (See <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> for how to specify a
- fully-qualified string.)</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>The buffer referenced by <code class="docutils literal notranslate"><span class="pre">target</span></code></p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>torch.Tensor</p>
- </dd>
- <dt class="field-even">Raises</dt>
- <dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#AttributeError" title="(in Python v3.10)"><strong>AttributeError</strong></a> – If the target string references an invalid
- path or resolves to something that is not a
- buffer</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state">
- <span class="sig-name descname"><span class="pre">get_extra_state</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><span class="pre">Any</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns any extra state to include in the module’s state_dict.
- Implement this and a corresponding <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state" title="draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state"><code class="xref py py-func docutils literal notranslate"><span class="pre">set_extra_state()</span></code></a> for your module
- if you need to store extra state. This function is called when building the
- module’s <cite>state_dict()</cite>.</p>
- <p>Note that extra state should be pickleable to ensure working serialization
- of the state_dict. We only provide provide backwards compatibility guarantees
- for serializing Tensors; other objects may break backwards compatibility if
- their serialized pickled form changes.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>Any extra state to store in the module’s state_dict</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)">object</a></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.get_parameter">
- <span class="sig-name descname"><span class="pre">get_parameter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Parameter</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_parameter" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns the parameter given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists,
- otherwise throws an error.</p>
- <p>See the docstring for <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> for a more detailed
- explanation of this method’s functionality as well as how to
- correctly specify <code class="docutils literal notranslate"><span class="pre">target</span></code>.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>target</strong> – The fully-qualified string name of the Parameter
- to look for. (See <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> for how to specify a
- fully-qualified string.)</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>The Parameter referenced by <code class="docutils literal notranslate"><span class="pre">target</span></code></p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>torch.nn.Parameter</p>
- </dd>
- <dt class="field-even">Raises</dt>
- <dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#AttributeError" title="(in Python v3.10)"><strong>AttributeError</strong></a> – If the target string references an invalid
- path or resolves to something that is not an
- <code class="docutils literal notranslate"><span class="pre">nn.Parameter</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.get_submodule">
- <span class="sig-name descname"><span class="pre">get_submodule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">target</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">Module</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_submodule" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns the submodule given by <code class="docutils literal notranslate"><span class="pre">target</span></code> if it exists,
- otherwise throws an error.</p>
- <p>For example, let’s say you have an <code class="docutils literal notranslate"><span class="pre">nn.Module</span></code> <code class="docutils literal notranslate"><span class="pre">A</span></code> that
- looks like this:</p>
- <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>A(
- (net_b): Module(
- (net_c): Module(
- (conv): Conv2d(16, 33, kernel_size=(3, 3), stride=(2, 2))
- )
- (linear): Linear(in_features=100, out_features=200, bias=True)
- )
- )
- </pre></div>
- </div>
- <p>(The diagram shows an <code class="docutils literal notranslate"><span class="pre">nn.Module</span></code> <code class="docutils literal notranslate"><span class="pre">A</span></code>. <code class="docutils literal notranslate"><span class="pre">A</span></code> has a nested
- submodule <code class="docutils literal notranslate"><span class="pre">net_b</span></code>, which itself has two submodules <code class="docutils literal notranslate"><span class="pre">net_c</span></code>
- and <code class="docutils literal notranslate"><span class="pre">linear</span></code>. <code class="docutils literal notranslate"><span class="pre">net_c</span></code> then has a submodule <code class="docutils literal notranslate"><span class="pre">conv</span></code>.)</p>
- <p>To check whether or not we have the <code class="docutils literal notranslate"><span class="pre">linear</span></code> submodule, we
- would call <code class="docutils literal notranslate"><span class="pre">get_submodule("net_b.linear")</span></code>. To check whether
- we have the <code class="docutils literal notranslate"><span class="pre">conv</span></code> submodule, we would call
- <code class="docutils literal notranslate"><span class="pre">get_submodule("net_b.net_c.conv")</span></code>.</p>
- <p>The runtime of <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> is bounded by the degree
- of module nesting in <code class="docutils literal notranslate"><span class="pre">target</span></code>. A query against
- <code class="docutils literal notranslate"><span class="pre">named_modules</span></code> achieves the same result, but it is O(N) in
- the number of transitive modules. So, for a simple check to see
- if some submodule exists, <code class="docutils literal notranslate"><span class="pre">get_submodule</span></code> should always be
- used.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>target</strong> – The fully-qualified string name of the submodule
- to look for. (See above example for how to specify a
- fully-qualified string.)</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>The submodule referenced by <code class="docutils literal notranslate"><span class="pre">target</span></code></p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>torch.nn.Module</p>
- </dd>
- <dt class="field-even">Raises</dt>
- <dd class="field-even"><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#AttributeError" title="(in Python v3.10)"><strong>AttributeError</strong></a> – If the target string references an invalid
- path or resolves to something that is not an
- <code class="docutils literal notranslate"><span class="pre">nn.Module</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.half">
- <span class="sig-name descname"><span class="pre">half</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.half" title="Permalink to this definition">¶</a></dt>
- <dd><p>Casts all floating point parameters and buffers to <code class="docutils literal notranslate"><span class="pre">half</span></code> datatype.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>self</p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py property">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.input_shape">
- <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">input_shape</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.input_shape" title="Permalink to this definition">¶</a></dt>
- <dd><p>return:
- :rtype:</p>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.ipu">
- <span class="sig-name descname"><span class="pre">ipu</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">device</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.ipu" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves all model parameters and buffers to the IPU.</p>
- <p>This also makes associated parameters and buffers different objects. So
- it should be called before constructing optimizer if the module will
- live on IPU while being optimized.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>device</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a><em>, </em><em>optional</em>) – if specified, all parameters will be
- copied to that device</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict">
- <span class="sig-name descname"><span class="pre">load_state_dict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">state_dict</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Mapping" title="(in Python v3.10)"><span class="pre">Mapping</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><span class="pre">Any</span></a><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">strict</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="Permalink to this definition">¶</a></dt>
- <dd><p>Copies parameters and buffers from <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a> into
- this module and its descendants. If <code class="xref py py-attr docutils literal notranslate"><span class="pre">strict</span></code> is <code class="docutils literal notranslate"><span class="pre">True</span></code>, then
- the keys of <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a> must exactly match the keys returned
- by this module’s <code class="xref py py-meth docutils literal notranslate"><span class="pre">state_dict()</span></code> function.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>state_dict</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.10)"><em>dict</em></a>) – a dict containing parameters and
- persistent buffers.</p></li>
- <li><p><strong>strict</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a><em>, </em><em>optional</em>) – whether to strictly enforce that the keys
- in <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a> match the keys returned by this module’s
- <code class="xref py py-meth docutils literal notranslate"><span class="pre">state_dict()</span></code> function. Default: <code class="docutils literal notranslate"><span class="pre">True</span></code></p></li>
- </ul>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p><ul class="simple">
- <li><p><strong>missing_keys</strong> is a list of str containing the missing keys</p></li>
- <li><p><strong>unexpected_keys</strong> is a list of str containing the unexpected keys</p></li>
- </ul>
- </p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p><code class="docutils literal notranslate"><span class="pre">NamedTuple</span></code> with <code class="docutils literal notranslate"><span class="pre">missing_keys</span></code> and <code class="docutils literal notranslate"><span class="pre">unexpected_keys</span></code> fields</p>
- </dd>
- </dl>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>If a parameter or buffer is registered as <code class="docutils literal notranslate"><span class="pre">None</span></code> and its corresponding key
- exists in <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a>, <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict"><code class="xref py py-meth docutils literal notranslate"><span class="pre">load_state_dict()</span></code></a> will raise a
- <code class="docutils literal notranslate"><span class="pre">RuntimeError</span></code>.</p>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.modules">
- <span class="sig-name descname"><span class="pre">modules</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.modules" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over all modules in the network.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Yields</dt>
- <dd class="field-odd"><p><em>Module</em> – a module in the network</p>
- </dd>
- </dl>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>Duplicate modules are returned only once. In the following
- example, <code class="docutils literal notranslate"><span class="pre">l</span></code> will be returned only once.</p>
- </div>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">l</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">net</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">l</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">m</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">net</span><span class="o">.</span><span class="n">modules</span><span class="p">()):</span>
- <span class="go"> print(idx, '->', m)</span>
- <span class="go">0 -> Sequential(</span>
- <span class="go"> (0): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go"> (1): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">)</span>
- <span class="go">1 -> Linear(in_features=2, out_features=2, bias=True)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.named_buffers">
- <span class="sig-name descname"><span class="pre">named_buffers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">recurse</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_buffers" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over module buffers, yielding both the
- name of the buffer as well as the buffer itself.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – prefix to prepend to all buffer names.</p></li>
- <li><p><strong>recurse</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – if True, then yields buffers of this module
- and all submodules. Otherwise, yields only buffers that
- are direct members of this module.</p></li>
- </ul>
- </dd>
- <dt class="field-even">Yields</dt>
- <dd class="field-even"><p><em>(string, torch.Tensor)</em> – Tuple containing the name and buffer</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">buf</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">named_buffers</span><span class="p">():</span>
- <span class="gp">>>> </span> <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'running_var'</span><span class="p">]:</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">buf</span><span class="o">.</span><span class="n">size</span><span class="p">())</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.named_children">
- <span class="sig-name descname"><span class="pre">named_children</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_children" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over immediate children modules, yielding both
- the name of the module as well as the module itself.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Yields</dt>
- <dd class="field-odd"><p><em>(string, Module)</em> – Tuple containing a name and child module</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">module</span> <span class="ow">in</span> <span class="n">model</span><span class="o">.</span><span class="n">named_children</span><span class="p">():</span>
- <span class="gp">>>> </span> <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'conv4'</span><span class="p">,</span> <span class="s1">'conv5'</span><span class="p">]:</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">module</span><span class="p">)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.named_modules">
- <span class="sig-name descname"><span class="pre">named_modules</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">memo</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Set" title="(in Python v3.10)"><span class="pre">Set</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">remove_duplicate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_modules" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over all modules in the network, yielding
- both the name of the module as well as the module itself.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>memo</strong> – a memo to store the set of modules already added to the result</p></li>
- <li><p><strong>prefix</strong> – a prefix that will be added to the name of the module</p></li>
- <li><p><strong>remove_duplicate</strong> – whether to remove the duplicated module instances in the result
- or not</p></li>
- </ul>
- </dd>
- <dt class="field-even">Yields</dt>
- <dd class="field-even"><p><em>(string, Module)</em> – Tuple of name and module</p>
- </dd>
- </dl>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>Duplicate modules are returned only once. In the following
- example, <code class="docutils literal notranslate"><span class="pre">l</span></code> will be returned only once.</p>
- </div>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">l</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">net</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Sequential</span><span class="p">(</span><span class="n">l</span><span class="p">,</span> <span class="n">l</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="k">for</span> <span class="n">idx</span><span class="p">,</span> <span class="n">m</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">net</span><span class="o">.</span><span class="n">named_modules</span><span class="p">()):</span>
- <span class="go"> print(idx, '->', m)</span>
- <span class="go">0 -> ('', Sequential(</span>
- <span class="go"> (0): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go"> (1): Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="go">))</span>
- <span class="go">1 -> ('0', Linear(in_features=2, out_features=2, bias=True))</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.named_parameters">
- <span class="sig-name descname"><span class="pre">named_parameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">recurse</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Parameter</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.named_parameters" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over module parameters, yielding both the
- name of the parameter as well as the parameter itself.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a>) – prefix to prepend to all parameter names.</p></li>
- <li><p><strong>recurse</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – if True, then yields parameters of this module
- and all submodules. Otherwise, yields only parameters that
- are direct members of this module.</p></li>
- </ul>
- </dd>
- <dt class="field-even">Yields</dt>
- <dd class="field-even"><p><em>(string, Parameter)</em> – Tuple containing the name and parameter</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">name</span><span class="p">,</span> <span class="n">param</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="n">named_parameters</span><span class="p">():</span>
- <span class="gp">>>> </span> <span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">'bias'</span><span class="p">]:</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="n">param</span><span class="o">.</span><span class="n">size</span><span class="p">())</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py property">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.output_shape">
- <em class="property"><span class="pre">property</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">output_shape</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Sequence" title="(in Python v3.10)"><span class="pre">Sequence</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">]</span></span></em><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.output_shape" title="Permalink to this definition">¶</a></dt>
- <dd><p>return:
- :rtype:</p>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.parameters">
- <span class="sig-name descname"><span class="pre">parameters</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">recurse</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Iterator" title="(in Python v3.10)"><span class="pre">Iterator</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Parameter</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.parameters" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns an iterator over module parameters.</p>
- <p>This is typically passed to an optimizer.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>recurse</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – if True, then yields parameters of this module
- and all submodules. Otherwise, yields only parameters that
- are direct members of this module.</p>
- </dd>
- <dt class="field-even">Yields</dt>
- <dd class="field-even"><p><em>Parameter</em> – module parameter</p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="k">for</span> <span class="n">param</span> <span class="ow">in</span> <span class="n">model</span><span class="o">.</span><span class="n">parameters</span><span class="p">():</span>
- <span class="gp">>>> </span> <span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="n">param</span><span class="p">),</span> <span class="n">param</span><span class="o">.</span><span class="n">size</span><span class="p">())</span>
- <span class="go"><class 'torch.Tensor'> (20L,)</span>
- <span class="go"><class 'torch.Tensor'> (20L, 1L, 5L, 5L)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_backward_hook">
- <span class="sig-name descname"><span class="pre">register_backward_hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hook</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.10)"><span class="pre">Callable</span></a><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">RemovableHandle</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_backward_hook" title="Permalink to this definition">¶</a></dt>
- <dd><p>Registers a backward hook on the module.</p>
- <p>This function is deprecated in favor of <code class="xref py py-meth docutils literal notranslate"><span class="pre">register_full_backward_hook()</span></code> and
- the behavior of this function will change in future versions.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>a handle that can be used to remove the added hook by calling
- <code class="docutils literal notranslate"><span class="pre">handle.remove()</span></code></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.hooks.RemovableHandle</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_buffer">
- <span class="sig-name descname"><span class="pre">register_buffer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">tensor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">persistent</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_buffer" title="Permalink to this definition">¶</a></dt>
- <dd><p>Adds a buffer to the module.</p>
- <p>This is typically used to register a buffer that should not to be
- considered a model parameter. For example, BatchNorm’s <code class="docutils literal notranslate"><span class="pre">running_mean</span></code>
- is not a parameter, but is part of the module’s state. Buffers, by
- default, are persistent and will be saved alongside parameters. This
- behavior can be changed by setting <code class="xref py py-attr docutils literal notranslate"><span class="pre">persistent</span></code> to <code class="docutils literal notranslate"><span class="pre">False</span></code>. The
- only difference between a persistent buffer and a non-persistent buffer
- is that the latter will not be a part of this module’s
- <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a>.</p>
- <p>Buffers can be accessed as attributes using given names.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>name</strong> (<em>string</em>) – name of the buffer. The buffer can be accessed
- from this module using the given name</p></li>
- <li><p><strong>tensor</strong> (<em>Tensor</em><em> or </em><em>None</em>) – buffer to be registered. If <code class="docutils literal notranslate"><span class="pre">None</span></code>, then operations
- that run on buffers, such as <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.cuda" title="draugr.torch_utilities.architectures.architecture.Architecture.cuda"><code class="xref py py-attr docutils literal notranslate"><span class="pre">cuda</span></code></a>, are ignored. If <code class="docutils literal notranslate"><span class="pre">None</span></code>,
- the buffer is <strong>not</strong> included in the module’s <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a>.</p></li>
- <li><p><strong>persistent</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – whether the buffer is part of this module’s
- <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a>.</p></li>
- </ul>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="bp">self</span><span class="o">.</span><span class="n">register_buffer</span><span class="p">(</span><span class="s1">'running_mean'</span><span class="p">,</span> <span class="n">torch</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="n">num_features</span><span class="p">))</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_forward_hook">
- <span class="sig-name descname"><span class="pre">register_forward_hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hook</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.10)"><span class="pre">Callable</span></a><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">RemovableHandle</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_forward_hook" title="Permalink to this definition">¶</a></dt>
- <dd><p>Registers a forward hook on the module.</p>
- <p>The hook will be called every time after <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.forward" title="draugr.torch_utilities.architectures.architecture.Architecture.forward"><code class="xref py py-func docutils literal notranslate"><span class="pre">forward()</span></code></a> has computed an output.
- It should have the following signature:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">hook</span><span class="p">(</span><span class="n">module</span><span class="p">,</span> <span class="nb">input</span><span class="p">,</span> <span class="n">output</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">modified</span> <span class="n">output</span>
- </pre></div>
- </div>
- <p>The input contains only the positional arguments given to the module.
- Keyword arguments won’t be passed to the hooks and only to the <code class="docutils literal notranslate"><span class="pre">forward</span></code>.
- The hook can modify the output. It can modify the input inplace but
- it will not have effect on forward since this is called after
- <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.forward" title="draugr.torch_utilities.architectures.architecture.Architecture.forward"><code class="xref py py-func docutils literal notranslate"><span class="pre">forward()</span></code></a> is called.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>a handle that can be used to remove the added hook by calling
- <code class="docutils literal notranslate"><span class="pre">handle.remove()</span></code></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.hooks.RemovableHandle</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_forward_pre_hook">
- <span class="sig-name descname"><span class="pre">register_forward_pre_hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hook</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.10)"><span class="pre">Callable</span></a><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">RemovableHandle</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_forward_pre_hook" title="Permalink to this definition">¶</a></dt>
- <dd><p>Registers a forward pre-hook on the module.</p>
- <p>The hook will be called every time before <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.forward" title="draugr.torch_utilities.architectures.architecture.Architecture.forward"><code class="xref py py-func docutils literal notranslate"><span class="pre">forward()</span></code></a> is invoked.
- It should have the following signature:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">hook</span><span class="p">(</span><span class="n">module</span><span class="p">,</span> <span class="nb">input</span><span class="p">)</span> <span class="o">-></span> <span class="kc">None</span> <span class="ow">or</span> <span class="n">modified</span> <span class="nb">input</span>
- </pre></div>
- </div>
- <p>The input contains only the positional arguments given to the module.
- Keyword arguments won’t be passed to the hooks and only to the <code class="docutils literal notranslate"><span class="pre">forward</span></code>.
- The hook can modify the input. User can either return a tuple or a
- single modified value in the hook. We will wrap the value into a tuple
- if a single value is returned(unless that value is already a tuple).</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>a handle that can be used to remove the added hook by calling
- <code class="docutils literal notranslate"><span class="pre">handle.remove()</span></code></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.hooks.RemovableHandle</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_full_backward_hook">
- <span class="sig-name descname"><span class="pre">register_full_backward_hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hook</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.10)"><span class="pre">Callable</span></a><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Tuple" title="(in Python v3.10)"><span class="pre">Tuple</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Tensor</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Tensor</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">RemovableHandle</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_full_backward_hook" title="Permalink to this definition">¶</a></dt>
- <dd><p>Registers a backward hook on the module.</p>
- <p>The hook will be called every time the gradients with respect to module
- inputs are computed. The hook should have the following signature:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">hook</span><span class="p">(</span><span class="n">module</span><span class="p">,</span> <span class="n">grad_input</span><span class="p">,</span> <span class="n">grad_output</span><span class="p">)</span> <span class="o">-></span> <span class="nb">tuple</span><span class="p">(</span><span class="n">Tensor</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">None</span>
- </pre></div>
- </div>
- <p>The <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_input</span></code> and <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_output</span></code> are tuples that contain the gradients
- with respect to the inputs and outputs respectively. The hook should
- not modify its arguments, but it can optionally return a new gradient with
- respect to the input that will be used in place of <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_input</span></code> in
- subsequent computations. <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_input</span></code> will only correspond to the inputs given
- as positional arguments and all kwarg arguments are ignored. Entries
- in <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_input</span></code> and <code class="xref py py-attr docutils literal notranslate"><span class="pre">grad_output</span></code> will be <code class="docutils literal notranslate"><span class="pre">None</span></code> for all non-Tensor
- arguments.</p>
- <p>For technical reasons, when this hook is applied to a Module, its forward function will
- receive a view of each Tensor passed to the Module. Similarly the caller will receive a view
- of each Tensor returned by the Module’s forward function.</p>
- <div class="admonition warning">
- <p class="admonition-title">Warning</p>
- <p>Modifying inputs or outputs inplace is not allowed when using backward hooks and
- will raise an error.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>a handle that can be used to remove the added hook by calling
- <code class="docutils literal notranslate"><span class="pre">handle.remove()</span></code></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.hooks.RemovableHandle</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_load_state_dict_post_hook">
- <span class="sig-name descname"><span class="pre">register_load_state_dict_post_hook</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">hook</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_load_state_dict_post_hook" title="Permalink to this definition">¶</a></dt>
- <dd><p>Registers a post hook to be run after module’s <code class="docutils literal notranslate"><span class="pre">load_state_dict</span></code>
- is called.</p>
- <dl class="simple">
- <dt>It should have the following signature::</dt><dd><p>hook(module, incompatible_keys) -> None</p>
- </dd>
- </dl>
- <p>The <code class="docutils literal notranslate"><span class="pre">module</span></code> argument is the current module that this hook is registered
- on, and the <code class="docutils literal notranslate"><span class="pre">incompatible_keys</span></code> argument is a <code class="docutils literal notranslate"><span class="pre">NamedTuple</span></code> consisting
- of attributes <code class="docutils literal notranslate"><span class="pre">missing_keys</span></code> and <code class="docutils literal notranslate"><span class="pre">unexpected_keys</span></code>. <code class="docutils literal notranslate"><span class="pre">missing_keys</span></code>
- is a <code class="docutils literal notranslate"><span class="pre">list</span></code> of <code class="docutils literal notranslate"><span class="pre">str</span></code> containing the missing keys and
- <code class="docutils literal notranslate"><span class="pre">unexpected_keys</span></code> is a <code class="docutils literal notranslate"><span class="pre">list</span></code> of <code class="docutils literal notranslate"><span class="pre">str</span></code> containing the unexpected keys.</p>
- <p>The given incompatible_keys can be modified inplace if needed.</p>
- <p>Note that the checks performed when calling <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict"><code class="xref py py-func docutils literal notranslate"><span class="pre">load_state_dict()</span></code></a> with
- <code class="docutils literal notranslate"><span class="pre">strict=True</span></code> are affected by modifications the hook makes to
- <code class="docutils literal notranslate"><span class="pre">missing_keys</span></code> or <code class="docutils literal notranslate"><span class="pre">unexpected_keys</span></code>, as expected. Additions to either
- set of keys will result in an error being thrown when <code class="docutils literal notranslate"><span class="pre">strict=True</span></code>, and
- clearning out both missing and unexpected keys will avoid an error.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p>a handle that can be used to remove the added hook by calling
- <code class="docutils literal notranslate"><span class="pre">handle.remove()</span></code></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p><code class="xref py py-class docutils literal notranslate"><span class="pre">torch.utils.hooks.RemovableHandle</span></code></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_module">
- <span class="sig-name descname"><span class="pre">register_module</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">module</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Module</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_module" title="Permalink to this definition">¶</a></dt>
- <dd><p>Alias for <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.add_module" title="draugr.torch_utilities.architectures.architecture.Architecture.add_module"><code class="xref py py-func docutils literal notranslate"><span class="pre">add_module()</span></code></a>.</p>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.register_parameter">
- <span class="sig-name descname"><span class="pre">register_parameter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a></span></em>, <em class="sig-param"><span class="n"><span class="pre">param</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><span class="pre">Parameter</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.register_parameter" title="Permalink to this definition">¶</a></dt>
- <dd><p>Adds a parameter to the module.</p>
- <p>The parameter can be accessed as an attribute using given name.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>name</strong> (<em>string</em>) – name of the parameter. The parameter can be accessed
- from this module using the given name</p></li>
- <li><p><strong>param</strong> (<em>Parameter</em><em> or </em><em>None</em>) – parameter to be added to the module. If
- <code class="docutils literal notranslate"><span class="pre">None</span></code>, then operations that run on parameters, such as <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.cuda" title="draugr.torch_utilities.architectures.architecture.Architecture.cuda"><code class="xref py py-attr docutils literal notranslate"><span class="pre">cuda</span></code></a>,
- are ignored. If <code class="docutils literal notranslate"><span class="pre">None</span></code>, the parameter is <strong>not</strong> included in the
- module’s <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.state_dict"><code class="xref py py-attr docutils literal notranslate"><span class="pre">state_dict</span></code></a>.</p></li>
- </ul>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.requires_grad_">
- <span class="sig-name descname"><span class="pre">requires_grad_</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">requires_grad</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.requires_grad_" title="Permalink to this definition">¶</a></dt>
- <dd><p>Change if autograd should record operations on parameters in this
- module.</p>
- <p>This method sets the parameters’ <code class="xref py py-attr docutils literal notranslate"><span class="pre">requires_grad</span></code> attributes
- in-place.</p>
- <p>This method is helpful for freezing part of the module for finetuning
- or training parts of a model individually (e.g., GAN training).</p>
- <p>See <span class="xref std std-ref">locally-disable-grad-doc</span> for a comparison between
- <cite>.requires_grad_()</cite> and several similar mechanisms that may be confused with it.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>requires_grad</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – whether autograd should record operations on
- parameters in this module. Default: <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.sample_input">
- <span class="sig-name descname"><span class="pre">sample_input</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><span class="pre">Any</span></a></span></span><a class="reference internal" href="../_modules/draugr/torch_utilities/architectures/architecture.html#Architecture.sample_input"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.sample_input" title="Permalink to this definition">¶</a></dt>
- <dd><dl class="field-list simple">
- <dt class="field-odd">Returns</dt>
- <dd class="field-odd"><p></p>
- </dd>
- <dt class="field-even">Return type</dt>
- <dd class="field-even"><p></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state">
- <span class="sig-name descname"><span class="pre">set_extra_state</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">state</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.10)"><span class="pre">Any</span></a></span></em><span class="sig-paren">)</span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.set_extra_state" title="Permalink to this definition">¶</a></dt>
- <dd><p>This function is called from <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict" title="draugr.torch_utilities.architectures.architecture.Architecture.load_state_dict"><code class="xref py py-func docutils literal notranslate"><span class="pre">load_state_dict()</span></code></a> to handle any extra state
- found within the <cite>state_dict</cite>. Implement this function and a corresponding
- <a class="reference internal" href="#draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state" title="draugr.torch_utilities.architectures.architecture.Architecture.get_extra_state"><code class="xref py py-func docutils literal notranslate"><span class="pre">get_extra_state()</span></code></a> for your module if you need to store extra state within its
- <cite>state_dict</cite>.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>state</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.10)"><em>dict</em></a>) – Extra state from the <cite>state_dict</cite></p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.share_memory">
- <span class="sig-name descname"><span class="pre">share_memory</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.share_memory" title="Permalink to this definition">¶</a></dt>
- <dd><p>See <code class="xref py py-meth docutils literal notranslate"><span class="pre">torch.Tensor.share_memory_()</span></code></p>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.state_dict">
- <span class="sig-name descname"><span class="pre">state_dict</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">destination</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">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">keep_vars</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="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.state_dict" title="Permalink to this definition">¶</a></dt>
- <dd><p>Returns a dictionary containing a whole state of the module.</p>
- <p>Both parameters and persistent buffers (e.g. running averages) are
- included. Keys are corresponding parameter and buffer names.
- Parameters and buffers set to <code class="docutils literal notranslate"><span class="pre">None</span></code> are not included.</p>
- <div class="admonition warning">
- <p class="admonition-title">Warning</p>
- <p>Currently <code class="docutils literal notranslate"><span class="pre">state_dict()</span></code> also accepts positional arguments for
- <code class="docutils literal notranslate"><span class="pre">destination</span></code>, <code class="docutils literal notranslate"><span class="pre">prefix</span></code> and <code class="docutils literal notranslate"><span class="pre">keep_vars</span></code> in order. However,
- this is being deprecated and keyword arguments will be enforced in
- future releases.</p>
- </div>
- <div class="admonition warning">
- <p class="admonition-title">Warning</p>
- <p>Please avoid the use of argument <code class="docutils literal notranslate"><span class="pre">destination</span></code> as it is not
- designed for end-users.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>destination</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.10)"><em>dict</em></a><em>, </em><em>optional</em>) – If provided, the state of module will
- be updated into the dict and the same object is returned.
- Otherwise, an <code class="docutils literal notranslate"><span class="pre">OrderedDict</span></code> will be created and returned.
- Default: <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p></li>
- <li><p><strong>prefix</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><em>str</em></a><em>, </em><em>optional</em>) – a prefix added to parameter and buffer
- names to compose the keys in state_dict. Default: <code class="docutils literal notranslate"><span class="pre">''</span></code>.</p></li>
- <li><p><strong>keep_vars</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a><em>, </em><em>optional</em>) – by default the <code class="xref py py-class docutils literal notranslate"><span class="pre">Tensor</span></code> s
- returned in the state dict are detached from autograd. If it’s
- set to <code class="docutils literal notranslate"><span class="pre">True</span></code>, detaching will not be performed.
- Default: <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p></li>
- </ul>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>a dictionary containing a whole state of the module</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.10)">dict</a></p>
- </dd>
- </dl>
- <p>Example:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">module</span><span class="o">.</span><span class="n">state_dict</span><span class="p">()</span><span class="o">.</span><span class="n">keys</span><span class="p">()</span>
- <span class="go">['bias', 'weight']</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.to">
- <span class="sig-name descname"><span class="pre">to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.to" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves and/or casts the parameters and buffers.</p>
- <p>This can be called as</p>
- <dl class="py function">
- <dt class="sig sig-object py">
- <span class="sig-name descname"><span class="pre">to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">device</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">dtype</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">non_blocking</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></dt>
- <dd></dd></dl>
- <dl class="py function">
- <dt class="sig sig-object py">
- <span class="sig-name descname"><span class="pre">to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dtype</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">non_blocking</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></dt>
- <dd></dd></dl>
- <dl class="py function">
- <dt class="sig sig-object py">
- <span class="sig-name descname"><span class="pre">to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">tensor</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">non_blocking</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></dt>
- <dd></dd></dl>
- <dl class="py function">
- <dt class="sig sig-object py">
- <span class="sig-name descname"><span class="pre">to</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">memory_format</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">torch.channels_last</span></span></em><span class="sig-paren">)</span></dt>
- <dd></dd></dl>
- <p>Its signature is similar to <code class="xref py py-meth docutils literal notranslate"><span class="pre">torch.Tensor.to()</span></code>, but only accepts
- floating point or complex <code class="xref py py-attr docutils literal notranslate"><span class="pre">dtype</span></code>s. In addition, this method will
- only cast the floating point or complex parameters and buffers to <code class="xref py py-attr docutils literal notranslate"><span class="pre">dtype</span></code>
- (if given). The integral parameters and buffers will be moved
- <code class="xref py py-attr docutils literal notranslate"><span class="pre">device</span></code>, if that is given, but with dtypes unchanged. When
- <code class="xref py py-attr docutils literal notranslate"><span class="pre">non_blocking</span></code> is set, it tries to convert/move asynchronously
- with respect to the host if possible, e.g., moving CPU Tensors with
- pinned memory to CUDA devices.</p>
- <p>See below for examples.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><ul class="simple">
- <li><p><strong>device</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">torch.device</span></code>) – the desired device of the parameters
- and buffers in this module</p></li>
- <li><p><strong>dtype</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">torch.dtype</span></code>) – the desired floating point or complex dtype of
- the parameters and buffers in this module</p></li>
- <li><p><strong>tensor</strong> (<em>torch.Tensor</em>) – Tensor whose dtype and device are the desired
- dtype and device for all parameters and buffers in this module</p></li>
- <li><p><strong>memory_format</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">torch.memory_format</span></code>) – the desired memory
- format for 4D parameters and buffers in this module (keyword
- only argument)</p></li>
- </ul>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- <p>Examples:</p>
- <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="gp">>>> </span><span class="n">linear</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">weight</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 0.1913, -0.3420],</span>
- <span class="go"> [-0.5113, -0.2325]])</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">double</span><span class="p">)</span>
- <span class="go">Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">weight</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 0.1913, -0.3420],</span>
- <span class="go"> [-0.5113, -0.2325]], dtype=torch.float64)</span>
- <span class="gp">>>> </span><span class="n">gpu1</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">"cuda:1"</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">gpu1</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">torch</span><span class="o">.</span><span class="n">half</span><span class="p">,</span> <span class="n">non_blocking</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
- <span class="go">Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">weight</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 0.1914, -0.3420],</span>
- <span class="go"> [-0.5112, -0.2324]], dtype=torch.float16, device='cuda:1')</span>
- <span class="gp">>>> </span><span class="n">cpu</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">"cpu"</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">cpu</span><span class="p">)</span>
- <span class="go">Linear(in_features=2, out_features=2, bias=True)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">weight</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 0.1914, -0.3420],</span>
- <span class="go"> [-0.5112, -0.2324]], dtype=torch.float16)</span>
- <span class="gp">>>> </span><span class="n">linear</span> <span class="o">=</span> <span class="n">nn</span><span class="o">.</span><span class="n">Linear</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">bias</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span><span class="o">.</span><span class="n">to</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">cdouble</span><span class="p">)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="o">.</span><span class="n">weight</span>
- <span class="go">Parameter containing:</span>
- <span class="go">tensor([[ 0.3741+0.j, 0.2382+0.j],</span>
- <span class="go"> [ 0.5593+0.j, -0.4443+0.j]], dtype=torch.complex128)</span>
- <span class="gp">>>> </span><span class="n">linear</span><span class="p">(</span><span class="n">torch</span><span class="o">.</span><span class="n">ones</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="n">torch</span><span class="o">.</span><span class="n">cdouble</span><span class="p">))</span>
- <span class="go">tensor([[0.6122+0.j, 0.1150+0.j],</span>
- <span class="go"> [0.6122+0.j, 0.1150+0.j],</span>
- <span class="go"> [0.6122+0.j, 0.1150+0.j]], dtype=torch.complex128)</span>
- </pre></div>
- </div>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.to_empty">
- <span class="sig-name descname"><span class="pre">to_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">device</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.to_empty" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves the parameters and buffers to the specified device without copying storage.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>device</strong> (<code class="xref py py-class docutils literal notranslate"><span class="pre">torch.device</span></code>) – The desired device of the parameters
- and buffers in this module.</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.train">
- <span class="sig-name descname"><span class="pre">train</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.train" title="Permalink to this definition">¶</a></dt>
- <dd><p>Sets the module in training mode.</p>
- <p>This has any effect only on certain modules. See documentations of
- particular modules for details of their behaviors in training/evaluation
- mode, if they are affected, e.g. <code class="xref py py-class docutils literal notranslate"><span class="pre">Dropout</span></code>, <code class="xref py py-class docutils literal notranslate"><span class="pre">BatchNorm</span></code>,
- etc.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>mode</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – whether to set training mode (<code class="docutils literal notranslate"><span class="pre">True</span></code>) or evaluation
- mode (<code class="docutils literal notranslate"><span class="pre">False</span></code>). Default: <code class="docutils literal notranslate"><span class="pre">True</span></code>.</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.type">
- <span class="sig-name descname"><span class="pre">type</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dst_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><span class="pre">dtype</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.10)"><span class="pre">str</span></a><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.type" title="Permalink to this definition">¶</a></dt>
- <dd><p>Casts all parameters and buffers to <code class="xref py py-attr docutils literal notranslate"><span class="pre">dst_type</span></code>.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>dst_type</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#type" title="(in Python v3.10)"><em>type</em></a><em> or </em><em>string</em>) – the desired type</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.xpu">
- <span class="sig-name descname"><span class="pre">xpu</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">device</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.10)"><span class="pre">Optional</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Union" title="(in Python v3.10)"><span class="pre">Union</span></a><span class="p"><span class="pre">[</span></span><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><span class="pre">int</span></a><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">device</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">T</span></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.xpu" title="Permalink to this definition">¶</a></dt>
- <dd><p>Moves all model parameters and buffers to the XPU.</p>
- <p>This also makes associated parameters and buffers different objects. So
- it should be called before constructing optimizer if the module will
- live on XPU while being optimized.</p>
- <div class="admonition note">
- <p class="admonition-title">Note</p>
- <p>This method modifies the module in-place.</p>
- </div>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>device</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.10)"><em>int</em></a><em>, </em><em>optional</em>) – if specified, all parameters will be
- copied to that device</p>
- </dd>
- <dt class="field-even">Returns</dt>
- <dd class="field-even"><p>self</p>
- </dd>
- <dt class="field-odd">Return type</dt>
- <dd class="field-odd"><p>Module</p>
- </dd>
- </dl>
- </dd></dl>
- <dl class="py method">
- <dt class="sig sig-object py" id="draugr.torch_utilities.architectures.architecture.Architecture.zero_grad">
- <span class="sig-name descname"><span class="pre">zero_grad</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">set_to_none</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><span class="pre">bool</span></a></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.10)"><span class="pre">None</span></a></span></span><a class="headerlink" href="#draugr.torch_utilities.architectures.architecture.Architecture.zero_grad" title="Permalink to this definition">¶</a></dt>
- <dd><p>Sets gradients of all model parameters to zero. See similar function
- under <code class="xref py py-class docutils literal notranslate"><span class="pre">torch.optim.Optimizer</span></code> for more context.</p>
- <dl class="field-list simple">
- <dt class="field-odd">Parameters</dt>
- <dd class="field-odd"><p><strong>set_to_none</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.10)"><em>bool</em></a>) – instead of setting to zero, set the grads to None.
- See <code class="xref py py-meth docutils literal notranslate"><span class="pre">torch.optim.Optimizer.zero_grad()</span></code> for details.</p>
- </dd>
- </dl>
- </dd></dl>
- </dd></dl>
- </section>
- </div>
-
- </div>
- </div>
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
- <div class="sphinxsidebarwrapper">
- <p class="logo"><a href="../index.html">
- <img class="logo" src="../_static/valknut.svg" alt="Logo"/>
- </a></p>
- <h1 class="logo"><a href="../index.html">Draugr</a></h1>
- <h3>Navigation</h3>
- <ul class="current">
- <li class="toctree-l1 current"><a class="reference internal" href="draugr.html">draugr</a><ul class="current">
- <li class="toctree-l2"><a class="reference internal" href="draugr.dist_is_editable.html">draugr.dist_is_editable</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.get_version.html">draugr.get_version</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.dlib_utilities.html">draugr.dlib_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.drawers.html">draugr.drawers</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.entry_points.html">draugr.entry_points</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.extensions.html">draugr.extensions</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.ffmpeg_utilities.html">draugr.ffmpeg_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.jax_utilities.html">draugr.jax_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.metrics.html">draugr.metrics</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.multiprocessing_utilities.html">draugr.multiprocessing_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.numpy_utilities.html">draugr.numpy_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.opencv_utilities.html">draugr.opencv_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.os_utilities.html">draugr.os_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.pandas_utilities.html">draugr.pandas_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.pygame_utilities.html">draugr.pygame_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.python_utilities.html">draugr.python_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.random_utilities.html">draugr.random_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.scipy_utilities.html">draugr.scipy_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.stopping.html">draugr.stopping</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.tensorboard_utilities.html">draugr.tensorboard_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.threading_utilities.html">draugr.threading_utilities</a></li>
- <li class="toctree-l2 current"><a class="reference internal" href="draugr.torch_utilities.html">draugr.torch_utilities</a><ul class="current">
- <li class="toctree-l3 current"><a class="reference internal" href="draugr.torch_utilities.architectures.html">draugr.torch_utilities.architectures</a><ul class="current">
- <li class="toctree-l4 current"><a class="reference internal" href="draugr.torch_utilities.architectures.architecture.html">draugr.torch_utilities.architectures.architecture</a><ul class="current">
- <li class="toctree-l5 current"><a class="current reference internal" href="#">draugr.torch_utilities.architectures.architecture.Architecture</a></li>
- </ul>
- </li>
- <li class="toctree-l4"><a class="reference internal" href="draugr.torch_utilities.architectures.distributional.html">draugr.torch_utilities.architectures.distributional</a></li>
- <li class="toctree-l4"><a class="reference internal" href="draugr.torch_utilities.architectures.experimental.html">draugr.torch_utilities.architectures.experimental</a></li>
- <li class="toctree-l4"><a class="reference internal" href="draugr.torch_utilities.architectures.mlp.html">draugr.torch_utilities.architectures.mlp</a></li>
- <li class="toctree-l4"><a class="reference internal" href="draugr.torch_utilities.architectures.mlp_variants.html">draugr.torch_utilities.architectures.mlp_variants</a></li>
- </ul>
- </li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.datasets.html">draugr.torch_utilities.datasets</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.distributions.html">draugr.torch_utilities.distributions</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.evaluation.html">draugr.torch_utilities.evaluation</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.exporting.html">draugr.torch_utilities.exporting</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.generators.html">draugr.torch_utilities.generators</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.images.html">draugr.torch_utilities.images</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.opencv.html">draugr.torch_utilities.opencv</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.operations.html">draugr.torch_utilities.operations</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.optimisation.html">draugr.torch_utilities.optimisation</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.persistence.html">draugr.torch_utilities.persistence</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.sessions.html">draugr.torch_utilities.sessions</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.system.html">draugr.torch_utilities.system</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.tensors.html">draugr.torch_utilities.tensors</a></li>
- <li class="toctree-l3"><a class="reference internal" href="draugr.torch_utilities.writers.html">draugr.torch_utilities.writers</a></li>
- </ul>
- </li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.tqdm_utilities.html">draugr.tqdm_utilities</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.visualisation.html">draugr.visualisation</a></li>
- <li class="toctree-l2"><a class="reference internal" href="draugr.writers.html">draugr.writers</a></li>
- </ul>
- </li>
- </ul>
- <p class="caption" role="heading"><span class="caption-text">Notes</span></p>
- <ul>
- <li class="toctree-l1"><a class="reference internal" href="../getting_started.html">Getting Started</a></li>
- </ul>
- <div class="relations">
- <h3>Related Topics</h3>
- <ul>
- <li><a href="../index.html">Documentation overview</a><ul>
- <li><a href="draugr.html">draugr</a><ul>
- <li><a href="draugr.torch_utilities.html">draugr.torch_utilities</a><ul>
- <li><a href="draugr.torch_utilities.architectures.html">draugr.torch_utilities.architectures</a><ul>
- <li><a href="draugr.torch_utilities.architectures.architecture.html">draugr.torch_utilities.architectures.architecture</a><ul>
- <li>Previous: <a href="draugr.torch_utilities.architectures.architecture.html" title="previous chapter">draugr.torch_utilities.architectures.architecture</a></li>
- <li>Next: <a href="draugr.torch_utilities.architectures.distributional.html" title="next chapter">draugr.torch_utilities.architectures.distributional</a></li>
- </ul></li>
- </ul></li>
- </ul></li>
- </ul></li>
- </ul></li>
- </ul>
- </div>
- <div id="searchbox" style="display: none" role="search">
- <h3 id="searchlabel">Quick search</h3>
- <div class="searchformwrapper">
- <form class="search" action="../search.html" method="get">
- <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
- <input type="submit" value="Go" />
- </form>
- </div>
- </div>
- <script>document.getElementById('searchbox').style.display = "block"</script>
- </div>
- </div>
- <div class="clearer"></div>
- </div>
- <div class="footer">
- ©.
-
- |
- Powered by <a href="http://sphinx-doc.org/">Sphinx 5.0.2</a>
- & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
-
- |
- <a href="../_sources/generated/draugr.torch_utilities.architectures.architecture.Architecture.rst.txt"
- rel="nofollow">Page source</a>
- </div>
-
-
- </body>
- </html>
|