diff --git a/digit_4_14x14.csv b/digit_4_14x14.csv new file mode 100644 index 0000000000000000000000000000000000000000..7e5a671413d9fac3df4f5cc033849d0f8094d761 --- /dev/null +++ b/digit_4_14x14.csv @@ -0,0 +1,14 @@ +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,3.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,6.700000000000000000e+01,2.200000000000000000e+01,0.000000000000000000e+00,1.000000000000000000e+00 +0.000000000000000000e+00,5.000000000000000000e+00,9.500000000000000000e+01,1.000000000000000000e+01,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.660000000000000000e+02,3.800000000000000000e+01,0.000000000000000000e+00,1.000000000000000000e+00 +0.000000000000000000e+00,1.700000000000000000e+01,1.760000000000000000e+02,8.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,1.000000000000000000e+00,4.000000000000000000e+00,0.000000000000000000e+00,6.900000000000000000e+01,1.880000000000000000e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,5.800000000000000000e+01,1.960000000000000000e+02,7.000000000000000000e+00,2.000000000000000000e+00,2.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.390000000000000000e+02,1.670000000000000000e+02,0.000000000000000000e+00,4.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,1.020000000000000000e+02,1.720000000000000000e+02,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,7.000000000000000000e+00,2.600000000000000000e+01,8.400000000000000000e+01,2.300000000000000000e+02,9.100000000000000000e+01,0.000000000000000000e+00,3.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,8.500000000000000000e+01,2.160000000000000000e+02,1.080000000000000000e+02,1.350000000000000000e+02,1.640000000000000000e+02,1.670000000000000000e+02,1.560000000000000000e+02,1.270000000000000000e+02,2.310000000000000000e+02,2.200000000000000000e+01,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,4.000000000000000000e+00,8.400000000000000000e+01,1.110000000000000000e+02,1.080000000000000000e+02,6.400000000000000000e+01,2.200000000000000000e+01,0.000000000000000000e+00,6.500000000000000000e+01,2.060000000000000000e+02,2.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.120000000000000000e+02,1.630000000000000000e+02,0.000000000000000000e+00,3.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,3.000000000000000000e+00,4.000000000000000000e+00,3.000000000000000000e+00,2.000000000000000000e+00,4.000000000000000000e+00,0.000000000000000000e+00,1.020000000000000000e+02,1.760000000000000000e+02,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,3.000000000000000000e+00,0.000000000000000000e+00,1.040000000000000000e+02,2.200000000000000000e+02,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,3.500000000000000000e+01,9.700000000000000000e+01,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00 +0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,1.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00,0.000000000000000000e+00 diff --git a/images/neuralnets/CNN_lecun.png b/images/neuralnets/CNN_lecun.png new file mode 100644 index 0000000000000000000000000000000000000000..2099bb341975db8a86e232965b15075d245193be Binary files /dev/null and b/images/neuralnets/CNN_lecun.png differ diff --git a/images/neuralnets/neural_net_keras_1.svg b/images/neuralnets/neural_net_keras_1.svg new file mode 100644 index 0000000000000000000000000000000000000000..1bba256c76266a6867427966659c266c8c8bd4ca --- /dev/null +++ b/images/neuralnets/neural_net_keras_1.svg @@ -0,0 +1,223 @@ +<?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 2.38.0 (20140413.2041) + --> +<!-- Title: G Pages: 1 --> +<svg width="780pt" height="412pt" + viewBox="0.00 0.00 780.00 412.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 408)"> +<title>G</title> +<polygon fill="white" stroke="none" points="-4,4 -4,-408 776,-408 776,4 -4,4"/> +<g id="clust1" class="cluster"><title>cluster_0</title> +<polygon fill="none" stroke="none" points="1,-98 1,-306 104,-306 104,-98 1,-98"/> +<text text-anchor="middle" x="52.5" y="-286" font-family="Times,serif" font-size="20.00">Input layer</text> +</g> +<g id="clust2" class="cluster"><title>cluster_1</title> +<polygon fill="none" stroke="none" points="174,-8 174,-396 420,-396 420,-8 174,-8"/> +<text text-anchor="middle" x="297" y="-376" font-family="Times,serif" font-size="20.00">Hidden layers</text> +</g> +<g id="clust3" class="cluster"><title>cluster_2</title> +<polygon fill="none" stroke="none" points="490,-143 490,-261 606,-261 606,-143 490,-143"/> +<text text-anchor="middle" x="548" y="-241" font-family="Times,serif" font-size="20.00">Output layer</text> +</g> +<g id="clust4" class="cluster"><title>cluster_3</title> +<polygon fill="none" stroke="none" points="676,-143 676,-231 764,-231 764,-143 676,-143"/> +</g> +<!-- 0_0 --> +<g id="node1" class="node"><title>0_0</title> +<ellipse fill="none" stroke="none" cx="52" cy="-232" rx="36" ry="36"/> +<text text-anchor="middle" x="52" y="-227" font-family="Times,serif" font-size="20.00">x1</text> +</g> +<!-- 1_0 --> +<g id="node3" class="node"><title>1_0</title> +<ellipse fill="none" stroke="black" cx="218" cy="-322" rx="36" ry="36"/> +</g> +<!-- 0_0->1_0 --> +<g id="edge1" class="edge"><title>0_0->1_0</title> +<path fill="none" stroke="black" d="M83.8471,-248.928C110.221,-263.402 148.349,-284.325 177.052,-300.077"/> +<polygon fill="black" stroke="black" points="175.562,-303.252 186.013,-304.995 178.93,-297.115 175.562,-303.252"/> +</g> +<!-- 1_1 --> +<g id="node4" class="node"><title>1_1</title> +<ellipse fill="none" stroke="black" cx="218" cy="-232" rx="36" ry="36"/> +</g> +<!-- 0_0->1_1 --> +<g id="edge2" class="edge"><title>0_0->1_1</title> +<path fill="none" stroke="black" d="M88.1821,-232C112.61,-232 145.375,-232 171.746,-232"/> +<polygon fill="black" stroke="black" points="171.876,-235.5 181.876,-232 171.876,-228.5 171.876,-235.5"/> +</g> +<!-- 1_2 --> +<g id="node5" class="node"><title>1_2</title> +<ellipse fill="none" stroke="black" cx="218" cy="-142" rx="36" ry="36"/> +</g> +<!-- 0_0->1_2 --> +<g id="edge3" class="edge"><title>0_0->1_2</title> +<path fill="none" stroke="black" d="M83.8471,-215.072C110.221,-200.598 148.349,-179.675 177.052,-163.923"/> +<polygon fill="black" stroke="black" points="178.93,-166.885 186.013,-159.005 175.562,-160.748 178.93,-166.885"/> +</g> +<!-- 1_3 --> +<g id="node6" class="node"><title>1_3</title> +<ellipse fill="none" stroke="black" cx="218" cy="-52" rx="36" ry="36"/> +</g> +<!-- 0_0->1_3 --> +<g id="edge4" class="edge"><title>0_0->1_3</title> +<path fill="none" stroke="black" d="M76.847,-205.826C105.754,-174.099 154.526,-120.569 186.238,-85.7634"/> +<polygon fill="black" stroke="black" points="188.976,-87.9544 193.124,-78.2051 183.802,-83.2399 188.976,-87.9544"/> +</g> +<!-- 0_1 --> +<g id="node2" class="node"><title>0_1</title> +<ellipse fill="none" stroke="none" cx="52" cy="-142" rx="36" ry="36"/> +<text text-anchor="middle" x="52" y="-137" font-family="Times,serif" font-size="20.00">x2</text> +</g> +<!-- 0_1->1_0 --> +<g id="edge5" class="edge"><title>0_1->1_0</title> +<path fill="none" stroke="black" d="M76.847,-168.174C105.754,-199.901 154.526,-253.431 186.238,-288.237"/> +<polygon fill="black" stroke="black" points="183.802,-290.76 193.124,-295.795 188.976,-286.046 183.802,-290.76"/> +</g> +<!-- 0_1->1_1 --> +<g id="edge6" class="edge"><title>0_1->1_1</title> +<path fill="none" stroke="black" d="M83.8471,-158.928C110.221,-173.402 148.349,-194.325 177.052,-210.077"/> +<polygon fill="black" stroke="black" points="175.562,-213.252 186.013,-214.995 178.93,-207.115 175.562,-213.252"/> +</g> +<!-- 0_1->1_2 --> +<g id="edge7" class="edge"><title>0_1->1_2</title> +<path fill="none" stroke="black" d="M88.1821,-142C112.61,-142 145.375,-142 171.746,-142"/> +<polygon fill="black" stroke="black" points="171.876,-145.5 181.876,-142 171.876,-138.5 171.876,-145.5"/> +</g> +<!-- 0_1->1_3 --> +<g id="edge8" class="edge"><title>0_1->1_3</title> +<path fill="none" stroke="black" d="M83.8471,-125.072C110.221,-110.598 148.349,-89.6746 177.052,-73.9229"/> +<polygon fill="black" stroke="black" points="178.93,-76.8845 186.013,-69.0052 175.562,-70.7479 178.93,-76.8845"/> +</g> +<!-- 2_0 --> +<g id="node7" class="node"><title>2_0</title> +<ellipse fill="none" stroke="black" cx="376" cy="-52" rx="36" ry="36"/> +</g> +<!-- 1_0->2_0 --> +<g id="edge9" class="edge"><title>1_0->2_0</title> +<path fill="none" stroke="black" d="M236.895,-291.028C265.266,-241.925 320.554,-146.233 351.886,-92.0042"/> +<polygon fill="black" stroke="black" points="355.102,-93.4356 357.074,-83.0259 349.041,-89.9336 355.102,-93.4356"/> +</g> +<!-- 2_1 --> +<g id="node8" class="node"><title>2_1</title> +<ellipse fill="none" stroke="black" cx="376" cy="-142" rx="36" ry="36"/> +</g> +<!-- 1_0->2_1 --> +<g id="edge10" class="edge"><title>1_0->2_1</title> +<path fill="none" stroke="black" d="M242.355,-295.052C269.66,-263.546 314.92,-211.324 344.854,-176.784"/> +<polygon fill="black" stroke="black" points="347.836,-178.687 351.741,-168.838 342.546,-174.102 347.836,-178.687"/> +</g> +<!-- 2_2 --> +<g id="node9" class="node"><title>2_2</title> +<ellipse fill="none" stroke="black" cx="376" cy="-232" rx="36" ry="36"/> +</g> +<!-- 1_0->2_2 --> +<g id="edge11" class="edge"><title>1_0->2_2</title> +<path fill="none" stroke="black" d="M249.449,-304.433C274.065,-290.232 308.899,-270.135 335.633,-254.712"/> +<polygon fill="black" stroke="black" points="337.449,-257.705 344.362,-249.676 333.951,-251.641 337.449,-257.705"/> +</g> +<!-- 2_3 --> +<g id="node10" class="node"><title>2_3</title> +<ellipse fill="none" stroke="black" cx="376" cy="-322" rx="36" ry="36"/> +</g> +<!-- 1_0->2_3 --> +<g id="edge12" class="edge"><title>1_0->2_3</title> +<path fill="none" stroke="black" d="M254.009,-322C276.311,-322 305.432,-322 329.515,-322"/> +<polygon fill="black" stroke="black" points="329.838,-325.5 339.838,-322 329.838,-318.5 329.838,-325.5"/> +</g> +<!-- 1_1->2_0 --> +<g id="edge13" class="edge"><title>1_1->2_0</title> +<path fill="none" stroke="black" d="M242.355,-205.052C269.66,-173.546 314.92,-121.324 344.854,-86.7839"/> +<polygon fill="black" stroke="black" points="347.836,-88.6868 351.741,-78.8377 342.546,-84.1023 347.836,-88.6868"/> +</g> +<!-- 1_1->2_1 --> +<g id="edge14" class="edge"><title>1_1->2_1</title> +<path fill="none" stroke="black" d="M249.449,-214.433C274.065,-200.232 308.899,-180.135 335.633,-164.712"/> +<polygon fill="black" stroke="black" points="337.449,-167.705 344.362,-159.676 333.951,-161.641 337.449,-167.705"/> +</g> +<!-- 1_1->2_2 --> +<g id="edge15" class="edge"><title>1_1->2_2</title> +<path fill="none" stroke="black" d="M254.009,-232C276.311,-232 305.432,-232 329.515,-232"/> +<polygon fill="black" stroke="black" points="329.838,-235.5 339.838,-232 329.838,-228.5 329.838,-235.5"/> +</g> +<!-- 1_1->2_3 --> +<g id="edge16" class="edge"><title>1_1->2_3</title> +<path fill="none" stroke="black" d="M249.449,-249.567C274.065,-263.768 308.899,-283.865 335.633,-299.288"/> +<polygon fill="black" stroke="black" points="333.951,-302.359 344.362,-304.324 337.449,-296.295 333.951,-302.359"/> +</g> +<!-- 1_2->2_0 --> +<g id="edge17" class="edge"><title>1_2->2_0</title> +<path fill="none" stroke="black" d="M249.449,-124.433C274.065,-110.232 308.899,-90.1353 335.633,-74.7119"/> +<polygon fill="black" stroke="black" points="337.449,-77.7047 344.362,-69.6758 333.951,-71.6414 337.449,-77.7047"/> +</g> +<!-- 1_2->2_1 --> +<g id="edge18" class="edge"><title>1_2->2_1</title> +<path fill="none" stroke="black" d="M254.009,-142C276.311,-142 305.432,-142 329.515,-142"/> +<polygon fill="black" stroke="black" points="329.838,-145.5 339.838,-142 329.838,-138.5 329.838,-145.5"/> +</g> +<!-- 1_2->2_2 --> +<g id="edge19" class="edge"><title>1_2->2_2</title> +<path fill="none" stroke="black" d="M249.449,-159.567C274.065,-173.768 308.899,-193.865 335.633,-209.288"/> +<polygon fill="black" stroke="black" points="333.951,-212.359 344.362,-214.324 337.449,-206.295 333.951,-212.359"/> +</g> +<!-- 1_2->2_3 --> +<g id="edge20" class="edge"><title>1_2->2_3</title> +<path fill="none" stroke="black" d="M242.355,-168.948C269.66,-200.454 314.92,-252.676 344.854,-287.216"/> +<polygon fill="black" stroke="black" points="342.546,-289.898 351.741,-295.162 347.836,-285.313 342.546,-289.898"/> +</g> +<!-- 1_3->2_0 --> +<g id="edge21" class="edge"><title>1_3->2_0</title> +<path fill="none" stroke="black" d="M254.009,-52C276.311,-52 305.432,-52 329.515,-52"/> +<polygon fill="black" stroke="black" points="329.838,-55.5001 339.838,-52 329.838,-48.5001 329.838,-55.5001"/> +</g> +<!-- 1_3->2_1 --> +<g id="edge22" class="edge"><title>1_3->2_1</title> +<path fill="none" stroke="black" d="M249.449,-69.5666C274.065,-83.7682 308.899,-103.865 335.633,-119.288"/> +<polygon fill="black" stroke="black" points="333.951,-122.359 344.362,-124.324 337.449,-116.295 333.951,-122.359"/> +</g> +<!-- 1_3->2_2 --> +<g id="edge23" class="edge"><title>1_3->2_2</title> +<path fill="none" stroke="black" d="M242.355,-78.9478C269.66,-110.454 314.92,-162.676 344.854,-197.216"/> +<polygon fill="black" stroke="black" points="342.546,-199.898 351.741,-205.162 347.836,-195.313 342.546,-199.898"/> +</g> +<!-- 1_3->2_3 --> +<g id="edge24" class="edge"><title>1_3->2_3</title> +<path fill="none" stroke="black" d="M236.895,-82.9724C265.266,-132.075 320.554,-227.767 351.886,-281.996"/> +<polygon fill="black" stroke="black" points="349.041,-284.066 357.074,-290.974 355.102,-280.564 349.041,-284.066"/> +</g> +<!-- 3_0 --> +<g id="node11" class="node"><title>3_0</title> +<ellipse fill="none" stroke="black" cx="548" cy="-187" rx="36" ry="36"/> +</g> +<!-- 2_0->3_0 --> +<g id="edge25" class="edge"><title>2_0->3_0</title> +<path fill="none" stroke="black" d="M404.692,-73.9905C433.711,-97.0353 479.412,-133.327 511.164,-158.542"/> +<polygon fill="black" stroke="black" points="509.312,-161.541 519.32,-165.019 513.666,-156.059 509.312,-161.541"/> +</g> +<!-- 2_1->3_0 --> +<g id="edge26" class="edge"><title>2_1->3_0</title> +<path fill="none" stroke="black" d="M410.993,-150.998C437.516,-158.019 474.553,-167.823 503.281,-175.427"/> +<polygon fill="black" stroke="black" points="502.503,-178.842 513.065,-178.017 504.294,-172.075 502.503,-178.842"/> +</g> +<!-- 2_2->3_0 --> +<g id="edge27" class="edge"><title>2_2->3_0</title> +<path fill="none" stroke="black" d="M410.993,-223.002C437.516,-215.981 474.553,-206.177 503.281,-198.573"/> +<polygon fill="black" stroke="black" points="504.294,-201.925 513.065,-195.983 502.503,-195.158 504.294,-201.925"/> +</g> +<!-- 2_3->3_0 --> +<g id="edge28" class="edge"><title>2_3->3_0</title> +<path fill="none" stroke="black" d="M404.692,-300.009C433.711,-276.965 479.412,-240.673 511.164,-215.458"/> +<polygon fill="black" stroke="black" points="513.666,-217.941 519.32,-208.981 509.312,-212.459 513.666,-217.941"/> +</g> +<!-- 4_0 --> +<g id="node12" class="node"><title>4_0</title> +<ellipse fill="none" stroke="none" cx="720" cy="-187" rx="36" ry="36"/> +</g> +<!-- 3_0->4_0 --> +<g id="edge29" class="edge"><title>3_0->4_0</title> +<path fill="none" stroke="black" d="M584.224,-187C610.095,-187 645.465,-187 673.479,-187"/> +<polygon fill="black" stroke="black" points="673.821,-190.5 683.821,-187 673.821,-183.5 673.821,-190.5"/> +</g> +</g> +</svg>