Documentation for 895ae31cd7

This commit is contained in:
github-actions
2020-10-11 14:35:44 +00:00
parent f3eb1efac0
commit 5373838f24
29 changed files with 81 additions and 81 deletions

View File

@@ -145,8 +145,8 @@ Public Member Functions</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a39cb437b5043d750dca3d013caf3687d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a39cb437b5043d750dca3d013caf3687d">NeuralNetwork</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &gt;&gt; &amp;config, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt;&gt; &amp;kernals)</td></tr>
<tr class="separator:a39cb437b5043d750dca3d013caf3687d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a215d132aa38b9c9aab6716663a751b82"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a215d132aa38b9c9aab6716663a751b82">NeuralNetwork</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>&lt; int, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &gt;&gt; &amp;config, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt;&gt; &amp;kernels)</td></tr>
<tr class="separator:a215d132aa38b9c9aab6716663a751b82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd397b51fcf8f690b03e406ada8c9d13"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#acd397b51fcf8f690b03e406ada8c9d13">__detailed_single_prediction</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; &amp;X)</td></tr>
<tr class="separator:acd397b51fcf8f690b03e406ada8c9d13"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
@@ -159,8 +159,8 @@ Private Attributes</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">NeuralNetwork</a> class is implements MLP. This class is used by actual user to create and train networks. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a39cb437b5043d750dca3d013caf3687d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39cb437b5043d750dca3d013caf3687d">&#9670;&nbsp;</a></span>NeuralNetwork() <span class="overload">[1/5]</span></h2>
<a id="a215d132aa38b9c9aab6716663a751b82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a215d132aa38b9c9aab6716663a751b82">&#9670;&nbsp;</a></span>NeuralNetwork() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
@@ -178,7 +178,7 @@ Private Attributes</h2></td></tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt;&gt; &amp;&#160;</td>
<td class="paramname"><em>kernals</em>&#160;</td>
<td class="paramname"><em>kernels</em>&#160;</td>
</tr>
<tr>
<td></td>
@@ -195,7 +195,7 @@ Private Attributes</h2></td></tr>
<p>Private Constructor for class <a class="el" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html">NeuralNetwork</a>. This constructor is used internally to load model. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">config</td><td>vector containing pair (neurons, activation) </td></tr>
<tr><td class="paramname">kernals</td><td>vector containing all pretrained kernals </td></tr>
<tr><td class="paramname">kernels</td><td>vector containing all pretrained kernels </td></tr>
</table>
</dd>
</dl>
@@ -219,14 +219,14 @@ Private Attributes</h2></td></tr>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="comment">// Reconstructing all pretrained layers</span></div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; config.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.emplace_back(neural_network::layers::DenseLayer(</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; config[i].first, config[i].second, kernals[i]));</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; config[i].first, config[i].second, kernels[i]));</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; }</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;INFO: Network constructed successfully&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a39cb437b5043d750dca3d013caf3687d_cgraph.svg" width="302" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network_a215d132aa38b9c9aab6716663a751b82_cgraph.svg" width="302" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -305,7 +305,7 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a>(EXIT_FAILURE);</div>
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; }</div>
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <span class="comment">// Separately creating first layer so it can have unit matrix</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="comment">// as kernal.</span></div>
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <span class="comment">// as kernel.</span></div>
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>&#160; <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.push_back(neural_network::layers::DenseLayer(</div>
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; config[0].first, config[0].second,</div>
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; {config[0].first, config[0].first}, <span class="keyword">false</span>));</div>
@@ -447,7 +447,7 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::valarray&lt;double&gt;</a>&gt; current_pass = X;</div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; details.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(X);</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;l : <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>) {</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; current_pass = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a7491744dcfc8844338d55065d0cd0c79">multiply</a>(current_pass, l.kernal);</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; current_pass = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a7491744dcfc8844338d55065d0cd0c79">multiply</a>(current_pass, l.kernel);</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; current_pass = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a8b3b06a63bd16b91237c85a295309774">apply_function</a>(current_pass, l.activation_function);</div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; details.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(current_pass);</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
@@ -749,13 +749,13 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>&#160; predicted;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <span class="keyword">auto</span> <a class="code" href="../../d5/d39/namespaceactivations.html">activations</a> = this-&gt;<a class="code" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#acd397b51fcf8f690b03e406ada8c9d13">__detailed_single_prediction</a>(X[i]);</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; <span class="comment">// Gradients vector to store gradients for all layers</span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="comment">// They will be averaged and applied to kernal</span></div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <span class="comment">// They will be averaged and applied to kernel</span></div>
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;std::valarray&lt;double&gt;</a>&gt;&gt; gradients;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; gradients.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/resize.html">resize</a>(this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.size());</div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <span class="comment">// First intialize gradients to zero</span></div>
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; gradients.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++) {</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; <a class="code" href="../../d8/d77/namespacemachine__learning.html#a4d136cbf20e3126ed9b934ab2d03f18b">zeroes_initialization</a>(</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gradients[i], <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i].kernal));</div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; gradients[i], <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i].kernel));</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; }</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; predicted = <a class="code" href="../../d5/d39/namespaceactivations.html">activations</a>.back(); <span class="comment">// Predicted vector</span></div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; cur_error = predicted - Y[i]; <span class="comment">// Absoulute error</span></div>
@@ -776,16 +776,16 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].dactivation_function));</div>
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>&#160; <span class="comment">// Calculating gradient for current layer</span></div>
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>&#160; grad = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a7491744dcfc8844338d55065d0cd0c79">multiply</a>(<a class="code" href="../../d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f">transpose</a>(<a class="code" href="../../d5/d39/namespaceactivations.html">activations</a>[j]), cur_error);</div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="comment">// Change error according to current kernal values</span></div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="comment">// Change error according to current kernel values</span></div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160; cur_error = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a7491744dcfc8844338d55065d0cd0c79">multiply</a>(cur_error,</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <a class="code" href="../../d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f">transpose</a>(this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernal));</div>
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>&#160; <a class="code" href="../../d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f">transpose</a>(this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernel));</div>
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>&#160; <span class="comment">// Adding gradient values to collection of gradients</span></div>
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>&#160; gradients[j] = gradients[j] + grad / double(batch_size);</div>
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>&#160; }</div>
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>&#160; <span class="comment">// Applying gradients</span></div>
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.size() - 1; j &gt;= 1; j--) {</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="comment">// Updating kernal (aka weights)</span></div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernal = this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernal -</div>
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>&#160; <span class="comment">// Updating kernel (aka weights)</span></div>
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>&#160; this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernel = this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernel -</div>
<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>&#160; gradients[j] * learning_rate;</div>
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>&#160; }</div>
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>&#160; }</div>
@@ -1085,7 +1085,7 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div>
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::pair&lt;int, std::string&gt;</a>&gt; config; <span class="comment">// To store config</span></div>
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;std::valarray&lt;double&gt;</a>&gt;&gt;</div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; kernals; <span class="comment">// To store pretrained kernals</span></div>
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>&#160; kernels; <span class="comment">// To store pretrained kernels</span></div>
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>&#160; <span class="comment">// Loading model from saved file format</span></div>
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>&#160; <span class="keywordtype">size_t</span> total_layers = 0;</div>
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>&#160; in_file &gt;&gt; total_layers;</div>
@@ -1093,23 +1093,23 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00748"></a><span class="lineno"> 748</span>&#160; <span class="keywordtype">int</span> neurons = 0;</div>
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> activation;</div>
<div class="line"><a name="l00750"></a><span class="lineno"> 750</span>&#160; <span class="keywordtype">size_t</span> shape_a = 0, shape_b = 0;</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::valarray&lt;double&gt;</a>&gt; kernal;</div>
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::valarray&lt;double&gt;</a>&gt; kernel;</div>
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>&#160; in_file &gt;&gt; neurons &gt;&gt; activation &gt;&gt; shape_a &gt;&gt; shape_b;</div>
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> r = 0; r &lt; shape_a; r++) {</div>
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> row(shape_b);</div>
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> c = 0; c &lt; shape_b; c++) {</div>
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>&#160; in_file &gt;&gt; row[c];</div>
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>&#160; }</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; kernal.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(row);</div>
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>&#160; kernel.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(row);</div>
<div class="line"><a name="l00759"></a><span class="lineno"> 759</span>&#160; }</div>
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>&#160; config.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">make_pair</a>(neurons, activation));</div>
<div class="line"><a name="l00761"></a><span class="lineno"> 761</span>&#160; ;</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; kernals.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(kernal);</div>
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>&#160; kernels.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(kernel);</div>
<div class="line"><a name="l00763"></a><span class="lineno"> 763</span>&#160; }</div>
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;INFO: Model loaded successfully&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00765"></a><span class="lineno"> 765</span>&#160; in_file.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ifstream/close.html">close</a>(); <span class="comment">// Closing file</span></div>
<div class="line"><a name="l00766"></a><span class="lineno"> 766</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08">NeuralNetwork</a>(</div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; config, kernals); <span class="comment">// Return instance of NeuralNetwork class</span></div>
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>&#160; config, kernels); <span class="comment">// Return instance of NeuralNetwork class</span></div>
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>&#160; }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -1204,7 +1204,7 @@ Here is the call graph for this function:</div>
</dd>
</dl>
<p>Format in which model is saved:</p>
<p>total_layers neurons(1st neural_network::layers::DenseLayer) activation_name(1st <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernal_shape(1st <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernal_values neurons(Nth neural_network::layers::DenseLayer) activation_name(Nth <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernal_shape(Nth <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernal_value</p>
<p>total_layers neurons(1st neural_network::layers::DenseLayer) activation_name(1st <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernel_shape(1st <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernel_values neurons(Nth neural_network::layers::DenseLayer) activation_name(Nth <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernel_shape(Nth <a class="el" href="../../dc/d93/classmachine__learning_1_1neural__network_1_1layers_1_1_dense_layer.html">neural_network::layers::DenseLayer</a>) kernel_value</p>
<p>For Example, pretrained model with 3 layers: </p><pre>
3
4 none
@@ -1248,14 +1248,14 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00670"></a><span class="lineno"> 670</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span>&#160;<span class="comment"> total_layers</span></div>
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span>&#160;<span class="comment"> neurons(1st neural_network::layers::DenseLayer) activation_name(1st</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernal_shape(1st</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernal_values</span></div>
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernel_shape(1st</span></div>
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernel_values</span></div>
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span>&#160;<span class="comment"> .</span></div>
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span>&#160;<span class="comment"> .</span></div>
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span>&#160;<span class="comment"> .</span></div>
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span>&#160;<span class="comment"> neurons(Nth neural_network::layers::DenseLayer) activation_name(Nth</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernal_shape(Nth</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernal_value</span></div>
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernel_shape(Nth</span></div>
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span>&#160;<span class="comment"> neural_network::layers::DenseLayer) kernel_value</span></div>
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span>&#160;<span class="comment"></span> </div>
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span>&#160;<span class="comment"> For Example, pretrained model with 3 layers:</span></div>
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span>&#160;<span class="comment"> &lt;pre&gt;</span></div>
@@ -1287,9 +1287,9 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00709"></a><span class="lineno"> 709</span>&#160; out_file &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00710"></a><span class="lineno"> 710</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;layer : this-&gt;<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>) {</div>
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>&#160; out_file &lt;&lt; layer.neurons &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; layer.activation &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> shape = <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(layer.kernal);</div>
<div class="line"><a name="l00712"></a><span class="lineno"> 712</span>&#160; <span class="keyword">const</span> <span class="keyword">auto</span> shape = <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(layer.kernel);</div>
<div class="line"><a name="l00713"></a><span class="lineno"> 713</span>&#160; out_file &lt;&lt; shape.first &lt;&lt; <span class="charliteral">&#39; &#39;</span> &lt;&lt; shape.second &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;row : layer.kernal) {</div>
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;row : layer.kernel) {</div>
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &amp;val : row) {</div>
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>&#160; out_file &lt;&lt; val &lt;&lt; <span class="charliteral">&#39; &#39;</span>;</div>
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>&#160; }</div>
@@ -1393,8 +1393,8 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>&#160; &lt;&lt; <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i - 1].neurons; <span class="comment">// number of neurons</span></div>
<div class="line"><a name="l00786"></a><span class="lineno"> 786</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;, Activation : &quot;</span></div>
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>&#160; &lt;&lt; <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i - 1].activation; <span class="comment">// activation</span></div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;, Kernal Shape : &quot;</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; &lt;&lt; <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i - 1].kernal); <span class="comment">// kernal shape</span></div>
<div class="line"><a name="l00788"></a><span class="lineno"> 788</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;, kernel Shape : &quot;</span></div>
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>&#160; &lt;&lt; <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(<a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[i - 1].kernel); <span class="comment">// kernel shape</span></div>
<div class="line"><a name="l00790"></a><span class="lineno"> 790</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00791"></a><span class="lineno"> 791</span>&#160; }</div>
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>

View File

@@ -1,6 +1,6 @@
var classmachine__learning_1_1neural__network_1_1_neural_network =
[
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a39cb437b5043d750dca3d013caf3687d", null ],
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a215d132aa38b9c9aab6716663a751b82", null ],
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#ae7cf126a3a8f9d20c81b21584d061a08", null ],
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a8f984bfd3e32b9b71c33a4f62335c710", null ],
[ "NeuralNetwork", "d4/df4/classmachine__learning_1_1neural__network_1_1_neural_network.html#a176b955c90ae57d7dbc3c63f27c84c75", null ],