New fully-connected image

This commit is contained in:
2024-04-07 13:51:11 +02:00
parent 1e5256dc99
commit 39ae2f6969
4 changed files with 379 additions and 917 deletions

148
drawings/convolution.drawio Normal file
View File

@@ -0,0 +1,148 @@
<mxfile host="app.diagrams.net" modified="2024-04-05T16:16:14.302Z" agent="Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0" etag="mftZ5PoK8RPPj-JacT8L" version="24.2.2" type="device">
<diagram name="Seite-1" id="W3X7nrMai_GspNY-sJf_">
<mxGraphModel dx="876" dy="476" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="W1JztGaJZFA7r8mRVNIE-1" value="" style="shape=table;startSize=0;container=1;collapsible=0;childLayout=tableLayout;fillColor=#E0F4FF;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="240" y="360" width="240" height="160" as="geometry" />
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-2" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-1">
<mxGeometry width="240" height="41" as="geometry" />
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-3" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-4" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry x="39" width="42" height="41" as="geometry">
<mxRectangle width="42" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-5" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry x="81" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-6" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry x="120" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-7" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry x="159" width="42" height="41" as="geometry">
<mxRectangle width="42" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-8" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-2">
<mxGeometry x="201" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-9" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-1">
<mxGeometry y="41" width="240" height="38" as="geometry" />
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-10" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry width="39" height="38" as="geometry">
<mxRectangle width="39" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-11" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry x="39" width="42" height="38" as="geometry">
<mxRectangle width="42" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-12" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry x="81" width="39" height="38" as="geometry">
<mxRectangle width="39" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-13" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry x="120" width="39" height="38" as="geometry">
<mxRectangle width="39" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-14" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry x="159" width="42" height="38" as="geometry">
<mxRectangle width="42" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-15" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-9">
<mxGeometry x="201" width="39" height="38" as="geometry">
<mxRectangle width="39" height="38" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-16" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-1">
<mxGeometry y="79" width="240" height="40" as="geometry" />
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-17" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry width="39" height="40" as="geometry">
<mxRectangle width="39" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-18" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry x="39" width="42" height="40" as="geometry">
<mxRectangle width="42" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-19" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry x="81" width="39" height="40" as="geometry">
<mxRectangle width="39" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-20" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry x="120" width="39" height="40" as="geometry">
<mxRectangle width="39" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-21" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry x="159" width="42" height="40" as="geometry">
<mxRectangle width="42" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-22" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-16">
<mxGeometry x="201" width="39" height="40" as="geometry">
<mxRectangle width="39" height="40" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-23" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;strokeColor=inherit;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-1">
<mxGeometry y="119" width="240" height="41" as="geometry" />
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-24" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-25" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry x="39" width="42" height="41" as="geometry">
<mxRectangle width="42" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-26" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry x="81" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-27" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry x="120" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-28" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry x="159" width="42" height="41" as="geometry">
<mxRectangle width="42" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-29" value="1" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;strokeColor=inherit;overflow=hidden;fillColor=none;top=0;left=0;bottom=0;right=0;pointerEvents=1;" vertex="1" parent="W1JztGaJZFA7r8mRVNIE-23">
<mxGeometry x="201" width="39" height="41" as="geometry">
<mxRectangle width="39" height="41" as="alternateBounds" />
</mxGeometry>
</mxCell>
<mxCell id="W1JztGaJZFA7r8mRVNIE-44" value="&lt;font color=&quot;#b75450&quot;&gt;Filter&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fillStyle=auto;strokeWidth=3;fillOpacity=40;" vertex="1" parent="1">
<mxGeometry x="240" y="360" width="80" height="80" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

217
drawings/dnn.drawio Normal file
View File

@@ -0,0 +1,217 @@
<mxfile host="Electron" modified="2024-04-07T11:45:48.759Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.1.0 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="Ltgvumhk_kA8Zjq61lBQ" version="24.1.0" type="device">
<diagram name="Seite-1" id="y70wuE-GsvUdFvvlSWny">
<mxGraphModel dx="1178" dy="679" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="y6B-Wl55EwHwSYtlcI2c-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-1" target="y6B-Wl55EwHwSYtlcI2c-7" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-1" value="$$i_0$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="154" y="140" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-3" value="$$i_1$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="154" y="190" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-4" value="$$i_2$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="154" y="240" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-5" value="$$i_3$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="1" vertex="1">
<mxGeometry x="154" y="290" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-6" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="174" y="360" as="sourcePoint" />
<mxPoint x="174" y="340" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-7" value="$$o_0$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="254" y="120" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-8" value="$$o_1$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="254" y="170" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-9" value="$$o_2$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="254" y="220" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-10" value="$$o_3$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="254" y="270" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-11" value="$$o_4$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="1" vertex="1">
<mxGeometry x="254" y="320" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-13" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="273.8" y="390" as="sourcePoint" />
<mxPoint x="273.8" y="370" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-16" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-1" target="y6B-Wl55EwHwSYtlcI2c-8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="170" as="sourcePoint" />
<mxPoint x="264" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-17" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" target="y6B-Wl55EwHwSYtlcI2c-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="194" y="160" as="sourcePoint" />
<mxPoint x="274" y="160" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-19" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-1" target="y6B-Wl55EwHwSYtlcI2c-10" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="224" y="190" as="sourcePoint" />
<mxPoint x="284" y="170" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-20" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-1" target="y6B-Wl55EwHwSYtlcI2c-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="234" y="200" as="sourcePoint" />
<mxPoint x="294" y="180" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-21" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-3" target="y6B-Wl55EwHwSYtlcI2c-7" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="244" y="210" as="sourcePoint" />
<mxPoint x="304" y="190" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-22" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-3" target="y6B-Wl55EwHwSYtlcI2c-8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="254" y="220" as="sourcePoint" />
<mxPoint x="314" y="200" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-23" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-3" target="y6B-Wl55EwHwSYtlcI2c-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="264" y="230" as="sourcePoint" />
<mxPoint x="324" y="210" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-24" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-4" target="y6B-Wl55EwHwSYtlcI2c-7" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="274" y="240" as="sourcePoint" />
<mxPoint x="214" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-25" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-3" target="y6B-Wl55EwHwSYtlcI2c-10" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="284" y="250" as="sourcePoint" />
<mxPoint x="344" y="230" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-26" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-3" target="y6B-Wl55EwHwSYtlcI2c-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="294" y="260" as="sourcePoint" />
<mxPoint x="354" y="240" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-27" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-4" target="y6B-Wl55EwHwSYtlcI2c-8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="304" y="270" as="sourcePoint" />
<mxPoint x="364" y="250" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-28" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-4" target="y6B-Wl55EwHwSYtlcI2c-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="314" y="280" as="sourcePoint" />
<mxPoint x="374" y="260" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-29" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-4" target="y6B-Wl55EwHwSYtlcI2c-10" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="324" y="290" as="sourcePoint" />
<mxPoint x="384" y="270" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-30" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-4" target="y6B-Wl55EwHwSYtlcI2c-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="334" y="300" as="sourcePoint" />
<mxPoint x="394" y="280" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-31" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-5" target="y6B-Wl55EwHwSYtlcI2c-7" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="344" y="310" as="sourcePoint" />
<mxPoint x="194" y="400" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-32" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-5" target="y6B-Wl55EwHwSYtlcI2c-11" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="354" y="320" as="sourcePoint" />
<mxPoint x="414" y="300" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-33" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-5" target="y6B-Wl55EwHwSYtlcI2c-10" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="364" y="330" as="sourcePoint" />
<mxPoint x="424" y="310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-34" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-5" target="y6B-Wl55EwHwSYtlcI2c-9" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="374" y="340" as="sourcePoint" />
<mxPoint x="434" y="320" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-35" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" source="y6B-Wl55EwHwSYtlcI2c-5" target="y6B-Wl55EwHwSYtlcI2c-8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="384" y="350" as="sourcePoint" />
<mxPoint x="444" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-37" value="" style="endArrow=none;dashed=1;html=1;dashPattern=1 3;strokeWidth=2;rounded=0;fillColor=#fad9d5;strokeColor=#ae4132;" parent="1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="224" y="350" as="sourcePoint" />
<mxPoint x="224" y="330" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="y6B-Wl55EwHwSYtlcI2c-38" value="$$W_{m,n} =&lt;br style=&quot;font-size: 24px;&quot;&gt; \begin{pmatrix}&lt;br style=&quot;font-size: 24px;&quot;&gt; w_{1,1} &amp;amp; w_{1,2} &amp;amp; \cdots &amp;amp; w_{1,n} \\&lt;br style=&quot;font-size: 24px;&quot;&gt; w_{2,1} &amp;amp; w_{2,2} &amp;amp; \cdots &amp;amp; w_{2,n} \\&lt;br style=&quot;font-size: 24px;&quot;&gt; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&lt;br style=&quot;font-size: 24px;&quot;&gt; w_{m,1} &amp;amp; w_{m,2} &amp;amp; \cdots &amp;amp; w_{m,n}&lt;br style=&quot;font-size: 24px;&quot;&gt; \end{pmatrix}$$" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontColor=#AE4132;fontStyle=0;fontSize=24;" parent="1" vertex="1">
<mxGeometry x="360" y="200" width="440" height="220" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-2" value="$$o_m$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
<mxGeometry x="254" y="410" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-3" value="$$i_n$$" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
<mxGeometry x="154" y="370" width="40" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-4" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;dashed=1;" edge="1" parent="1" target="Y3yYdLvzpnhM01C_kKpc-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="194" y="390" as="sourcePoint" />
<mxPoint x="254" y="420" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-14" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;dashed=1;" edge="1" parent="1" source="Y3yYdLvzpnhM01C_kKpc-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="204" y="400" as="sourcePoint" />
<mxPoint x="240" y="360" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-15" style="rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=none;endFill=0;fillColor=#fad9d5;strokeColor=#ae4132;dashed=1;" edge="1" parent="1" target="Y3yYdLvzpnhM01C_kKpc-2">
<mxGeometry relative="1" as="geometry">
<mxPoint x="210" y="360" as="sourcePoint" />
<mxPoint x="274" y="450" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-21" value="" style="group" vertex="1" connectable="0" parent="1">
<mxGeometry x="410" y="130" width="280" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-16" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;font color=&quot;#5c79a3&quot;&gt;$$o_m$$&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="Y3yYdLvzpnhM01C_kKpc-21">
<mxGeometry width="120" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-17" value="$$=$$" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=24;" vertex="1" parent="Y3yYdLvzpnhM01C_kKpc-21">
<mxGeometry x="50" width="90" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-18" value="$$\cdot$$" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;fontSize=24;" vertex="1" parent="Y3yYdLvzpnhM01C_kKpc-21">
<mxGeometry x="125" width="130" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-19" value="&lt;span style=&quot;font-size: 24px;&quot;&gt;&lt;font color=&quot;#ae4132&quot;&gt;$$W_{m,n}$$&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="Y3yYdLvzpnhM01C_kKpc-21">
<mxGeometry x="60" width="170" height="40" as="geometry" />
</mxCell>
<mxCell id="Y3yYdLvzpnhM01C_kKpc-20" value="&lt;font color=&quot;#60854c&quot; style=&quot;font-size: 24px;&quot;&gt;$$i_n$$&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" vertex="1" parent="Y3yYdLvzpnhM01C_kKpc-21">
<mxGeometry x="170" width="110" height="40" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 159 KiB

After

Width:  |  Height:  |  Size: 368 KiB

View File

@@ -1,19 +1,14 @@
---
layout: figure
figureUrl: /dnn.svg
figureCaption: A fully connected DNN layer
figureFootnoteNumber: 1
---
## Processing-in-Memory
### Applicable Workloads
<hr/>
<Footnotes separator>
<Footnote :number=1>
He et al. „Newton: A DRAM-makers Accelerator-in-Memory (AiM) Architecture for Machine Learning“, 2020.
</Footnote>
</Footnotes>
- Fully connected layers have a large weight matrix
- Weight matrix does not fit onto on-chip cache
- No data reuse in the matrix
<div class="flex justify-center">
<img src="/dnn.svg">
</div>
<!--
- Workload must be memory-bound
@@ -36,10 +31,9 @@ clicks: 1
### Applicable Workloads
<hr/>
<br>
- Convolutional layers have excessive data reuse
- Small filter matrix fits onto on-chip cache
- Fully connected layers have a small filter matrix
- Matrix does fit onto on-chip cache
- Excessive data reuse in the matrix
<br>