mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-07-17 12:02:22 +08:00
Documentation for 895ae31cd7
This commit is contained in:
@@ -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"> </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< int, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> >> &config, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>< double >>> &kernals)</td></tr>
|
||||
<tr class="separator:a39cb437b5043d750dca3d013caf3687d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a215d132aa38b9c9aab6716663a751b82"><td class="memItemLeft" align="right" valign="top"> </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< int, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> >> &config, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>< double >>> &kernels)</td></tr>
|
||||
<tr class="separator:a215d132aa38b9c9aab6716663a751b82"><td class="memSeparator" colspan="2"> </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>< double > > > </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>< double >> &X)</td></tr>
|
||||
<tr class="separator:acd397b51fcf8f690b03e406ada8c9d13"><td class="memSeparator" colspan="2"> </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 & Destructor Documentation</h2>
|
||||
<a id="a39cb437b5043d750dca3d013caf3687d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a39cb437b5043d750dca3d013caf3687d">◆ </a></span>NeuralNetwork() <span class="overload">[1/5]</span></h2>
|
||||
<a id="a215d132aa38b9c9aab6716663a751b82"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a215d132aa38b9c9aab6716663a751b82">◆ </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>< double >>> & </td>
|
||||
<td class="paramname"><em>kernals</em> </td>
|
||||
<td class="paramname"><em>kernels</em> </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>  <span class="comment">// Reconstructing all pretrained layers</span></div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < 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>  <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>  config[i].first, config[i].second, kernals[i]));</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  config[i].first, config[i].second, kernels[i]));</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  }</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"INFO: Network constructed successfully"</span> << <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>  }</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>  <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>  }</div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <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>  <span class="comment">// as kernal.</span></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="comment">// as kernel.</span></div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <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>  config[0].first, config[0].second,</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  {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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::valarray<double></a>> current_pass = X;</div>
|
||||
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  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>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &l : <a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>) {</div>
|
||||
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  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>  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>  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>  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>  }</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>  predicted;</div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keyword">auto</span> <a class="code" href="../../d5/d39/namespaceactivations.html">activations</a> = this-><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>  <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>  <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>  <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<std::valarray<double></a>>> gradients;</div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  gradients.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/resize.html">resize</a>(this-><a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.size());</div>
|
||||
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="comment">// First intialize gradients to zero</span></div>
|
||||
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i < 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>  <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>  gradients[i], <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(this-><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>  gradients[i], <a class="code" href="../../d8/d77/namespacemachine__learning.html#abe6b58ec16abe0f6f8ac195e04aa8abd">get_shape</a>(this-><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>  }</div>
|
||||
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  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>  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>  this-><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>  <span class="comment">// Calculating gradient for current layer</span></div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  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>  <span class="comment">// Change error according to current kernal values</span></div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="comment">// Change error according to current kernel values</span></div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  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>  <a class="code" href="../../d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f">transpose</a>(this-><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>  <a class="code" href="../../d8/d77/namespacemachine__learning.html#ac7d9b358f1ef2ba2a1d475a5452ec41f">transpose</a>(this-><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>  <span class="comment">// Adding gradient values to collection of gradients</span></div>
|
||||
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  gradients[j] = gradients[j] + grad / double(batch_size);</div>
|
||||
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  }</div>
|
||||
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="comment">// Applying gradients</span></div>
|
||||
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = this-><a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>.size() - 1; j >= 1; j--) {</div>
|
||||
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="comment">// Updating kernal (aka weights)</span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  this-><a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernal = this-><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>  <span class="comment">// Updating kernel (aka weights)</span></div>
|
||||
<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  this-><a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>[j].kernel = this-><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>  gradients[j] * learning_rate;</div>
|
||||
<div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  }</div>
|
||||
<div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  }</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>  }</div>
|
||||
<div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::pair<int, std::string></a>> config; <span class="comment">// To store config</span></div>
|
||||
<div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<std::valarray<double></a>>></div>
|
||||
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  kernals; <span class="comment">// To store pretrained kernals</span></div>
|
||||
<div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  kernels; <span class="comment">// To store pretrained kernels</span></div>
|
||||
<div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="comment">// Loading model from saved file format</span></div>
|
||||
<div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="keywordtype">size_t</span> total_layers = 0;</div>
|
||||
<div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  in_file >> 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>  <span class="keywordtype">int</span> neurons = 0;</div>
|
||||
<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  <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>  <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::valarray<double></a>> kernal;</div>
|
||||
<div class="line"><a name="l00751"></a><span class="lineno"> 751</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::valarray<double></a>> kernel;</div>
|
||||
<div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  in_file >> neurons >> activation >> shape_a >> shape_b;</div>
|
||||
<div class="line"><a name="l00753"></a><span class="lineno"> 753</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> r = 0; r < shape_a; r++) {</div>
|
||||
<div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray<double></a> row(shape_b);</div>
|
||||
<div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> c = 0; c < shape_b; c++) {</div>
|
||||
<div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  in_file >> row[c];</div>
|
||||
<div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  }</div>
|
||||
<div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  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>  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>  }</div>
|
||||
<div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  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>  ;</div>
|
||||
<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  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>  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>  }</div>
|
||||
<div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"INFO: Model loaded successfully"</span> << <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>  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>  <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>  config, kernals); <span class="comment">// Return instance of NeuralNetwork class</span></div>
|
||||
<div class="line"><a name="l00767"></a><span class="lineno"> 767</span>  config, kernels); <span class="comment">// Return instance of NeuralNetwork class</span></div>
|
||||
<div class="line"><a name="l00768"></a><span class="lineno"> 768</span>  }</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> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="comment"> total_layers</span></div>
|
||||
<div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <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> <span class="comment"> neural_network::layers::DenseLayer) kernal_shape(1st</span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment"> neural_network::layers::DenseLayer) kernal_values</span></div>
|
||||
<div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="comment"> neural_network::layers::DenseLayer) kernel_shape(1st</span></div>
|
||||
<div class="line"><a name="l00674"></a><span class="lineno"> 674</span> <span class="comment"> neural_network::layers::DenseLayer) kernel_values</span></div>
|
||||
<div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <span class="comment"> .</span></div>
|
||||
<div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="comment"> .</span></div>
|
||||
<div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="comment"> .</span></div>
|
||||
<div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <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> <span class="comment"> neural_network::layers::DenseLayer) kernal_shape(Nth</span></div>
|
||||
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment"> neural_network::layers::DenseLayer) kernal_value</span></div>
|
||||
<div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="comment"> neural_network::layers::DenseLayer) kernel_shape(Nth</span></div>
|
||||
<div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="comment"> neural_network::layers::DenseLayer) kernel_value</span></div>
|
||||
<div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="comment"> For Example, pretrained model with 3 layers:</span></div>
|
||||
<div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="comment"> <pre></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>  out_file << <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>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &layer : this-><a class="code" href="../../d5/d2c/namespacelayers.html">layers</a>) {</div>
|
||||
<div class="line"><a name="l00711"></a><span class="lineno"> 711</span>  out_file << layer.neurons << <span class="charliteral">' '</span> << layer.activation << <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>  <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>  <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>  out_file << shape.first << <span class="charliteral">' '</span> << shape.second << <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>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &row : layer.kernal) {</div>
|
||||
<div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &row : layer.kernel) {</div>
|
||||
<div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &val : row) {</div>
|
||||
<div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  out_file << val << <span class="charliteral">' '</span>;</div>
|
||||
<div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  }</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>  << <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">", Activation : "</span></div>
|
||||
<div class="line"><a name="l00787"></a><span class="lineno"> 787</span>  << <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">", Kernal Shape : "</span></div>
|
||||
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  << <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">", kernel Shape : "</span></div>
|
||||
<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  << <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>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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>  }</div>
|
||||
<div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>
|
||||
|
||||
@@ -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 ],
|
||||
|
||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Reference in New Issue
Block a user