Files
C-Plus-Plus/d2/d23/neural__network_8cpp__incl.svg
2023-04-28 14:48:59 +00:00

321 lines
15 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 8.0.4 (20230421.1958)
-->
<!-- Title: machine_learning/neural_network.cpp Pages: 1 -->
<!--zoomable 149 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="text/javascript"><![CDATA[
var edges = document.getElementsByTagName('g');
if (edges && edges.length) {
for (var i=0;i<edges.length;i++) {
if (edges[i].id.substr(0,4)=='edge') {
edges[i].setAttribute('class','edge');
}
}
}
]]></script>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
</use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
</use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="dirArrow">
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040">
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
</use>
</g>
</defs>
<script type="text/javascript">
var viewWidth = 678;
var viewHeight = 149;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>machine_learning/neural_network.cpp</title>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Implementation of [Multilayer Perceptron] (https://en.wikipedia.org/wiki/Multilayer_perceptron).">
<polygon fill="#999999" stroke="#666666" points="398.38,-141 277.38,-141 277.38,-110.5 398.38,-110.5 398.38,-141"/>
<text text-anchor="start" x="285.38" y="-127.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning/neural</text>
<text text-anchor="middle" x="337.88" y="-116.25" font-family="Helvetica,sans-Serif" font-size="10.00">_network.cpp</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="55.75,-19.25 0,-19.25 0,0 55.75,0 55.75,-19.25"/>
<text text-anchor="middle" x="27.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="#63b8ff" d="M276.97,-114.06C236.61,-105.87 182.98,-92.84 137.88,-74.5 105.41,-61.3 70.92,-39.92 49.4,-25.57"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="51.72,-22.24 41.47,-19.53 47.79,-28.04 51.72,-22.24"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="414,-74.5 365.75,-74.5 365.75,-55.25 414,-55.25 414,-74.5"/>
<text text-anchor="middle" x="389.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="#63b8ff" d="M350.73,-110.2C357.96,-102.01 367.04,-91.73 374.63,-83.14"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="376.86,-85.76 380.86,-75.95 371.62,-81.13 376.86,-85.76"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="119.5,-19.25 74.25,-19.25 74.25,0 119.5,0 119.5,-19.25"/>
<text text-anchor="middle" x="96.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">chrono</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M277.06,-113.92C243.14,-106.2 200.98,-93.7 166.88,-74.5 145.03,-62.2 124.39,-41.91 111.26,-27.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="114.36,-25.59 105.11,-20.42 109.11,-30.23 114.36,-25.59"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="475.38,-74.5 432.38,-74.5 432.38,-55.25 475.38,-55.25 475.38,-74.5"/>
<text text-anchor="middle" x="453.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="#63b8ff" d="M366.85,-110.05C385.11,-100.78 408.54,-88.88 426.49,-79.77"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="427.75,-82.55 435.09,-74.9 424.58,-76.31 427.75,-82.55"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="542.38,-74.5 493.38,-74.5 493.38,-55.25 542.38,-55.25 542.38,-74.5"/>
<text text-anchor="middle" x="517.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="#63b8ff" d="M382.83,-110.05C413.76,-99.93 454.26,-86.68 482.81,-77.34"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="483.71,-80.41 492.12,-73.97 481.53,-73.75 483.71,-80.41"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="190.62,-19.25 137.12,-19.25 137.12,0 190.62,0 190.62,-19.25"/>
<text text-anchor="middle" x="163.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="#63b8ff" d="M277.15,-119.32C244.46,-113.3 205.83,-100.73 180.88,-74.5 169.62,-62.67 165.62,-44.25 164.29,-30.23"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="167.74,-30.11 163.7,-20.31 160.75,-30.49 167.74,-30.11"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="611.5,-74.5 560.25,-74.5 560.25,-55.25 611.5,-55.25 611.5,-74.5"/>
<text text-anchor="middle" x="585.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="#63b8ff" d="M398.82,-110.74C439.17,-101.4 493.52,-88.68 549.44,-75.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="550.01,-78.29 558.9,-72.52 548.35,-71.49 550.01,-78.29"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="669.88,-74.5 629.88,-74.5 629.88,-55.25 669.88,-55.25 669.88,-74.5"/>
<text text-anchor="middle" x="649.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="#63b8ff" d="M398.73,-115.99C453.96,-107.57 537.78,-93.66 619.24,-74.67"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="619.74,-77.91 628.67,-72.2 618.14,-71.09 619.74,-77.91"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="325.12,-19.25 274.62,-19.25 274.62,0 325.12,0 325.12,-19.25"/>
<text text-anchor="middle" x="299.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">valarray</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="#63b8ff" d="M333.06,-110.3C326.29,-89.97 313.94,-52.88 306.37,-30.12"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="309.38,-29.08 302.9,-20.7 302.73,-31.29 309.38,-29.08"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="386.38,-19.25 343.38,-19.25 343.38,0 386.38,0 386.38,-19.25"/>
<text text-anchor="middle" x="364.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="#63b8ff" d="M341.29,-110.3C346.1,-89.97 354.88,-52.88 360.26,-30.12"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="363.83,-31.24 362.73,-20.7 357.02,-29.62 363.83,-31.24"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:href="../../d8/d95/vector__ops_8hpp.html" target="_top" xlink:title="Various functions for vectors associated with [NeuralNetwork (aka Multilayer Perceptron)] (https://en...">
<polygon fill="white" stroke="#666666" points="272.25,-74.5 189.5,-74.5 189.5,-55.25 272.25,-55.25 272.25,-74.5"/>
<text text-anchor="middle" x="230.88" y="-61" font-family="Helvetica,sans-Serif" font-size="10.00">vector_ops.hpp</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node12</title>
<path fill="none" stroke="#63b8ff" d="M311.15,-110.05C294.54,-100.91 273.3,-89.22 256.83,-80.16"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="258.73,-76.66 248.28,-74.9 255.36,-82.79 258.73,-76.66"/>
</g>
<!-- Node12&#45;&gt;Node2 -->
<g id="edge12" class="edge">
<title>Node12&#45;&gt;Node2</title>
<path fill="none" stroke="#63b8ff" d="M196.44,-54.84C160.51,-45.42 104.28,-30.67 66.77,-20.83"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="67.81,-17.22 57.25,-18.07 66.03,-23.99 67.81,-17.22"/>
</g>
<!-- Node12&#45;&gt;Node4 -->
<g id="edge13" class="edge">
<title>Node12&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M208.14,-54.84C186.68,-46.31 154.24,-33.42 129.92,-23.76"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="131.3,-20.14 120.72,-19.7 128.72,-26.65 131.3,-20.14"/>
</g>
<!-- Node12&#45;&gt;Node7 -->
<g id="edge14" class="edge">
<title>Node12&#45;&gt;Node7</title>
<path fill="none" stroke="#63b8ff" d="M219.51,-54.84C209.63,-46.99 195.11,-35.45 183.38,-26.12"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="186.08,-23.01 176.07,-19.52 181.72,-28.49 186.08,-23.01"/>
</g>
<!-- Node12&#45;&gt;Node10 -->
<g id="edge16" class="edge">
<title>Node12&#45;&gt;Node10</title>
<path fill="none" stroke="#63b8ff" d="M242.58,-54.84C252.75,-46.99 267.71,-35.45 279.79,-26.12"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="281.56,-28.41 287.34,-19.52 277.29,-22.86 281.56,-28.41"/>
</g>
<!-- Node12&#45;&gt;Node11 -->
<g id="edge17" class="edge">
<title>Node12&#45;&gt;Node11</title>
<path fill="none" stroke="#63b8ff" d="M253.61,-54.84C275.33,-46.21 308.3,-33.11 332.71,-23.41"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="333.92,-26.29 341.92,-19.35 331.34,-19.79 333.92,-26.29"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="257,-19.25 208.75,-19.25 208.75,0 257,0 257,-19.25"/>
<text text-anchor="middle" x="232.88" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">random</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;Node13</title>
<path fill="none" stroke="#63b8ff" d="M231.21,-55.08C231.46,-48.42 231.81,-38.99 232.13,-30.53"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="235.66,-30.73 232.54,-20.61 228.66,-30.47 235.66,-30.73"/>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
<use xlink:href="#rim" fill="#404040">
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
</use>
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="neural__network_8cpp__incl_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
</svg>