Files
C-Plus-Plus/d2/d23/neural__network_8cpp__incl.svg
2023-01-22 19:44:10 +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 7.0.6 (20230106.0513)
-->
<!-- Title: machine_learning/neural_network.cpp Pages: 1 -->
<!--zoomable 148 -->
<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 = 687;
var viewHeight = 148;
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="402,-140 280,-140 280,-110 402,-110 402,-140"/>
<text text-anchor="start" x="288" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning/neural</text>
<text text-anchor="middle" x="341" y="-117" 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="56,-19 0,-19 0,0 56,0 56,-19"/>
<text text-anchor="middle" x="28" y="-7" 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="M279.52,-113.39C238.77,-105.25 184.61,-92.28 139,-74 106.44,-60.95 71.8,-39.83 50.04,-25.56"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="52.25,-22.83 41.99,-20.2 48.37,-28.66 52.25,-22.83"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="418.5,-74 369.5,-74 369.5,-55 418.5,-55 418.5,-74"/>
<text text-anchor="middle" x="394" y="-62" 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="M354.1,-109.54C361.48,-101.39 370.75,-91.16 378.5,-82.61"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="381,-85.06 385.12,-75.3 375.82,-80.36 381,-85.06"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="120,-19 74,-19 74,0 120,0 120,-19"/>
<text text-anchor="middle" x="97" y="-7" 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="M279.54,-113.26C245.25,-105.59 202.6,-93.15 168,-74 146.16,-61.91 125.39,-42 112.03,-27.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="114.69,-25.43 105.39,-20.37 109.51,-30.13 114.69,-25.43"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="481,-74 437,-74 437,-55 481,-55 481,-74"/>
<text text-anchor="middle" x="459" y="-62" 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="M370.17,-109.54C388.77,-100.32 412.73,-88.44 431.08,-79.34"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="432.4,-82.6 439.8,-75.02 429.29,-76.32 432.4,-82.6"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="549,-74 499,-74 499,-55 549,-55 549,-74"/>
<text text-anchor="middle" x="524" y="-62" 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="M386.24,-109.54C417.54,-99.53 458.64,-86.39 487.78,-77.08"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="488.8,-80.43 497.26,-74.05 486.67,-73.76 488.8,-80.43"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="192,-19 138,-19 138,0 192,0 192,-19"/>
<text text-anchor="middle" x="165" y="-7" 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="M279.54,-118.85C246.44,-112.95 207.32,-100.44 182,-74 170.88,-62.39 166.85,-44.33 165.47,-30.43"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="168.98,-30.44 164.92,-20.66 161.99,-30.84 168.98,-30.44"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="619,-74 567,-74 567,-55 619,-55 619,-74"/>
<text text-anchor="middle" x="593" y="-62" 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="M402.31,-110.08C443.16,-100.75 498.35,-88.07 555.55,-74.56"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="556.24,-77.99 565.16,-72.29 554.62,-71.18 556.24,-77.99"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="678.5,-74 637.5,-74 637.5,-55 678.5,-55 678.5,-74"/>
<text text-anchor="middle" x="658" y="-62" 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="M402.39,-115.19C458.25,-106.75 543.15,-92.86 625.95,-74.26"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="626.64,-77.69 635.61,-72.06 625.09,-70.87 626.64,-77.69"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="328.5,-19 277.5,-19 277.5,0 328.5,0 328.5,-19"/>
<text text-anchor="middle" x="303" y="-7" 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="M336.19,-109.63C329.42,-89.4 317.06,-52.49 309.48,-29.86"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="312.9,-29.04 306.4,-20.66 306.26,-31.26 312.9,-29.04"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="391,-19 347,-19 347,0 391,0 391,-19"/>
<text text-anchor="middle" x="369" y="-7" 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="M344.55,-109.63C349.51,-89.49 358.56,-52.83 364.15,-30.18"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="367.49,-31.25 366.48,-20.7 360.69,-29.57 367.49,-31.25"/>
</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="274.5,-74 191.5,-74 191.5,-55 274.5,-55 274.5,-74"/>
<text text-anchor="middle" x="233" y="-62" 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="M314.3,-109.54C297.44,-100.4 275.76,-88.66 259.02,-79.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="261.12,-76.75 250.66,-75.07 257.79,-82.91 261.12,-76.75"/>
</g>
<!-- Node12&#45;&gt;Node2 -->
<g id="edge12" class="edge">
<title>Node12&#45;&gt;Node2</title>
<path fill="none" stroke="#63b8ff" d="M198.22,-54.51C161.99,-45.14 105.32,-30.49 67.44,-20.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="68.36,-17.32 57.8,-18.2 66.6,-24.1 68.36,-17.32"/>
</g>
<!-- Node12&#45;&gt;Node4 -->
<g id="edge13" class="edge">
<title>Node12&#45;&gt;Node4</title>
<path fill="none" stroke="#63b8ff" d="M209.93,-54.51C188.11,-46.01 155.12,-33.15 130.42,-23.53"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="131.73,-20.28 121.14,-19.91 129.19,-26.8 131.73,-20.28"/>
</g>
<!-- Node12&#45;&gt;Node7 -->
<g id="edge14" class="edge">
<title>Node12&#45;&gt;Node7</title>
<path fill="none" stroke="#63b8ff" d="M221.46,-54.51C211.54,-46.77 196.99,-35.43 185.14,-26.2"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="187.6,-23.68 177.56,-20.29 183.29,-29.2 187.6,-23.68"/>
</g>
<!-- Node12&#45;&gt;Node10 -->
<g id="edge16" class="edge">
<title>Node12&#45;&gt;Node10</title>
<path fill="none" stroke="#63b8ff" d="M244.87,-54.51C255.09,-46.77 270.07,-35.43 282.26,-26.2"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="284.23,-29.1 290.09,-20.27 280.01,-23.52 284.23,-29.1"/>
</g>
<!-- Node12&#45;&gt;Node11 -->
<g id="edge17" class="edge">
<title>Node12&#45;&gt;Node11</title>
<path fill="none" stroke="#63b8ff" d="M256.07,-54.51C278.02,-45.96 311.28,-33 336.02,-23.35"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="337.26,-26.62 345.31,-19.73 334.72,-20.1 337.26,-26.62"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:title=" ">
<polygon fill="#e0e0e0" stroke="#999999" points="259.5,-19 210.5,-19 210.5,0 259.5,0 259.5,-19"/>
<text text-anchor="middle" x="235" y="-7" 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="M233.33,-54.75C233.57,-48.27 233.92,-39.16 234.23,-30.9"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="237.73,-31.08 234.61,-20.95 230.73,-30.82 237.73,-31.08"/>
</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>