From 2e478fadabe34da458fcfffa13ac6d928aac833f Mon Sep 17 00:00:00 2001 From: mhjensen Date: Fri, 19 Oct 2018 05:04:15 +0200 Subject: [PATCH] upgrading neural nets with cans --- doc/pub/NeuralNet/html/._NeuralNet-bs000.html | 57 +- doc/pub/NeuralNet/html/._NeuralNet-bs001.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs002.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs003.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs004.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs005.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs006.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs007.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs008.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs009.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs010.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs011.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs012.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs013.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs014.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs015.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs016.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs017.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs018.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs019.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs020.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs021.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs022.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs023.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs024.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs025.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs026.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs027.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs028.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs029.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs030.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs031.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs032.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs033.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs034.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs035.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs036.html | 55 +- doc/pub/NeuralNet/html/._NeuralNet-bs037.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs038.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs039.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs040.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs041.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs042.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs043.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs044.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs045.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs046.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs047.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs048.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs049.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs050.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs051.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs052.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs053.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs054.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs055.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs056.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs057.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs058.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs059.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs060.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs061.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs062.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs063.html | 53 +- doc/pub/NeuralNet/html/._NeuralNet-bs064.html | 54 +- doc/pub/NeuralNet/html/._NeuralNet-bs065.html | 55 +- doc/pub/NeuralNet/html/._NeuralNet-bs066.html | 56 +- doc/pub/NeuralNet/html/._NeuralNet-bs067.html | 57 +- doc/pub/NeuralNet/html/._NeuralNet-bs068.html | 69 +- doc/pub/NeuralNet/html/._NeuralNet-bs069.html | 59 +- doc/pub/NeuralNet/html/._NeuralNet-bs070.html | 73 +- doc/pub/NeuralNet/html/._NeuralNet-bs071.html | 83 +- doc/pub/NeuralNet/html/._NeuralNet-bs072.html | 81 +- doc/pub/NeuralNet/html/._NeuralNet-bs073.html | 381 ++ doc/pub/NeuralNet/html/._NeuralNet-bs074.html | 377 ++ doc/pub/NeuralNet/html/._NeuralNet-bs075.html | 383 ++ doc/pub/NeuralNet/html/._NeuralNet-bs076.html | 381 ++ doc/pub/NeuralNet/html/._NeuralNet-bs077.html | 387 ++ doc/pub/NeuralNet/html/._NeuralNet-bs078.html | 378 ++ doc/pub/NeuralNet/html/._NeuralNet-bs079.html | 410 ++ doc/pub/NeuralNet/html/._NeuralNet-bs080.html | 381 ++ doc/pub/NeuralNet/html/._NeuralNet-bs081.html | 509 ++ doc/pub/NeuralNet/html/._NeuralNet-bs082.html | 394 ++ doc/pub/NeuralNet/html/._NeuralNet-bs083.html | 397 ++ doc/pub/NeuralNet/html/._NeuralNet-bs084.html | 400 ++ doc/pub/NeuralNet/html/._NeuralNet-bs085.html | 381 ++ doc/pub/NeuralNet/html/._NeuralNet-bs086.html | 394 ++ doc/pub/NeuralNet/html/._NeuralNet-bs087.html | 363 ++ doc/pub/NeuralNet/html/NeuralNet-bs.html | 57 +- doc/pub/NeuralNet/html/NeuralNet-reveal.html | 575 +- .../NeuralNet/html/NeuralNet-solarized.html | 591 +- doc/pub/NeuralNet/html/NeuralNet.html | 591 +- doc/pub/NeuralNet/ipynb/NeuralNet.ipynb | 1100 ++-- .../ipynb/ipynb-NeuralNet-src.tar.gz | Bin 88051 -> 88051 bytes doc/pub/NeuralNet/pdf/NeuralNet-minted.pdf | Bin 573978 -> 591416 bytes doc/src/NeuralNet/NeuralNet-bs.html | 385 ++ doc/src/NeuralNet/NeuralNet-minted.pdf | Bin 0 -> 591416 bytes doc/src/NeuralNet/NeuralNet-plain-minted.tex | 3190 ++++++++++ doc/src/NeuralNet/NeuralNet-reveal.html | 3916 ++++++++++++ doc/src/NeuralNet/NeuralNet-solarized.html | 3642 ++++++++++++ doc/src/NeuralNet/NeuralNet.do.txt | 589 +- doc/src/NeuralNet/NeuralNet.html | 3647 ++++++++++++ doc/src/NeuralNet/NeuralNet.ipynb | 4020 +++++++++++++ doc/src/NeuralNet/NeuralNet.p.tex | 3220 ++++++++++ doc/src/NeuralNet/NeuralNet.tex | 3190 ++++++++++ ...1524234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 44 + ...E854234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 3 + ...C6A4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 32 + ...CBB4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 17 + ...81F4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 102 + ...0084234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 13 + ...8534234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 18 + ...96C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 70 + ...B5C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 29 + ...EFC4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 133 + ...7D94234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 9 + ...B324234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 17 + ...3DF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 35 + ...5814234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 3 + ...AE64234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 18 + ...B4C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 14 + ...1874234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 22 + ...6244234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 73 + ...27D4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 33 + ...5A24234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 36 + ...AE44234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 3 + ...3CF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 37 + ...C1F4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 26 + ...5114234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 17 + ...0D44234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 17 + ...9AE4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 3 + ...3AF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 36 + ...D2D4234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 42 + ...EE04234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 18 + ...9174234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 6 + ...0C34234D82CF76A2559C5DD98A6DB88BEC4.pygtex | 33 + .../_minted-NeuralNet/default.pygstyle | 101 + doc/src/NeuralNet/ipynb-NeuralNet-src.tar.gz | Bin 0 -> 88051 bytes doc/src/NeuralNet/reveal.js/.gitignore | 13 + doc/src/NeuralNet/reveal.js/.travis.yml | 7 + doc/src/NeuralNet/reveal.js/CONTRIBUTING.md | 23 + doc/src/NeuralNet/reveal.js/Gruntfile.js | 140 + doc/src/NeuralNet/reveal.js/LICENSE | 19 + doc/src/NeuralNet/reveal.js/README.md | 1246 ++++ doc/src/NeuralNet/reveal.js/bower.json | 27 + .../reveal.js/css/images/cbc_footer.png | Bin 0 -> 10008 bytes .../reveal.js/css/images/cbc_symbol.png | Bin 0 -> 2946 bytes .../reveal.js/css/images/simula_footer.png | Bin 0 -> 2513 bytes .../reveal.js/css/images/simula_logo.png | Bin 0 -> 2138 bytes .../reveal.js/css/images/simula_symbol.png | Bin 0 -> 2138 bytes .../reveal.js/css/images/uio_footer.png | Bin 0 -> 18189 bytes .../reveal.js/css/images/uio_symbol.png | Bin 0 -> 11352 bytes .../NeuralNet/reveal.js/css/print/paper.css | 203 + doc/src/NeuralNet/reveal.js/css/print/pdf.css | 178 + doc/src/NeuralNet/reveal.js/css/reveal.css | 1886 ++++++ doc/src/NeuralNet/reveal.js/css/reveal.scss | 1717 ++++++ .../NeuralNet/reveal.js/css/theme/README.md | 21 + .../NeuralNet/reveal.js/css/theme/beige.css | 154 + .../reveal.js/css/theme/beigesmall.css | 155 + .../NeuralNet/reveal.js/css/theme/black.css | 273 + .../NeuralNet/reveal.js/css/theme/blood.css | 180 + doc/src/NeuralNet/reveal.js/css/theme/cbc.css | 144 + .../reveal.js/css/theme/darkgray.css | 153 + .../NeuralNet/reveal.js/css/theme/default.css | 153 + .../NeuralNet/reveal.js/css/theme/league.css | 279 + .../NeuralNet/reveal.js/css/theme/moon.css | 153 + .../NeuralNet/reveal.js/css/theme/night.css | 141 + .../NeuralNet/reveal.js/css/theme/serif.css | 143 + .../NeuralNet/reveal.js/css/theme/simple.css | 144 + .../NeuralNet/reveal.js/css/theme/simula.css | 144 + doc/src/NeuralNet/reveal.js/css/theme/sky.css | 150 + .../reveal.js/css/theme/solarized.css | 153 + .../reveal.js/css/theme/source/beige.scss | 50 + .../css/theme/source/beigesmall.scss | 51 + .../reveal.js/css/theme/source/black.scss | 49 + .../reveal.js/css/theme/source/blood.scss | 91 + .../reveal.js/css/theme/source/cbc.scss | 39 + .../reveal.js/css/theme/source/darkgray.scss | 42 + .../reveal.js/css/theme/source/default.scss | 42 + .../reveal.js/css/theme/source/league.scss | 34 + .../reveal.js/css/theme/source/moon.scss | 68 + .../reveal.js/css/theme/source/night.scss | 35 + .../reveal.js/css/theme/source/serif.scss | 35 + .../reveal.js/css/theme/source/simple.scss | 38 + .../reveal.js/css/theme/source/simula.scss | 39 + .../reveal.js/css/theme/source/sky.scss | 46 + .../reveal.js/css/theme/source/solarized.scss | 74 + .../reveal.js/css/theme/source/white.scss | 49 + .../NeuralNet/reveal.js/css/theme/white.css | 273 + doc/src/NeuralNet/reveal.js/demo.html | 410 ++ doc/src/NeuralNet/reveal.js/index.html | 49 + doc/src/NeuralNet/reveal.js/js/reveal.js | 5241 +++++++++++++++++ .../NeuralNet/reveal.js/lib/css/zenburn.css | 80 + .../reveal.js/lib/font/league-gothic/LICENSE | 2 + .../lib/font/league-gothic/league-gothic.css | 10 + .../lib/font/league-gothic/league-gothic.eot | Bin 0 -> 25696 bytes .../lib/font/league-gothic/league-gothic.ttf | Bin 0 -> 64256 bytes .../lib/font/league-gothic/league-gothic.woff | Bin 0 -> 30764 bytes .../lib/font/source-sans-pro/LICENSE | 45 + .../source-sans-pro-italic.eot | Bin 0 -> 75720 bytes .../source-sans-pro-italic.ttf | Bin 0 -> 238084 bytes .../source-sans-pro-italic.woff | Bin 0 -> 98556 bytes .../source-sans-pro-regular.eot | Bin 0 -> 88070 bytes .../source-sans-pro-regular.ttf | Bin 0 -> 288008 bytes .../source-sans-pro-regular.woff | Bin 0 -> 114324 bytes .../source-sans-pro-semibold.eot | Bin 0 -> 89897 bytes .../source-sans-pro-semibold.ttf | Bin 0 -> 284640 bytes .../source-sans-pro-semibold.woff | Bin 0 -> 115648 bytes .../source-sans-pro-semibolditalic.eot | Bin 0 -> 75706 bytes .../source-sans-pro-semibolditalic.ttf | Bin 0 -> 240944 bytes .../source-sans-pro-semibolditalic.woff | Bin 0 -> 98816 bytes .../font/source-sans-pro/source-sans-pro.css | 39 + .../NeuralNet/reveal.js/lib/js/classList.js | 2 + .../NeuralNet/reveal.js/lib/js/head.min.js | 9 + .../NeuralNet/reveal.js/lib/js/html5shiv.js | 7 + doc/src/NeuralNet/reveal.js/package.json | 43 + .../reveal.js/plugin/highlight/highlight.js | 77 + .../reveal.js/plugin/markdown/example.html | 136 + .../reveal.js/plugin/markdown/example.md | 36 + .../reveal.js/plugin/markdown/markdown.js | 412 ++ .../reveal.js/plugin/markdown/marked.js | 6 + .../NeuralNet/reveal.js/plugin/math/math.js | 67 + .../reveal.js/plugin/multiplex/client.js | 13 + .../reveal.js/plugin/multiplex/index.js | 64 + .../reveal.js/plugin/multiplex/master.js | 34 + .../reveal.js/plugin/multiplex/package.json | 19 + .../reveal.js/plugin/notes-server/client.js | 65 + .../reveal.js/plugin/notes-server/index.js | 69 + .../reveal.js/plugin/notes-server/notes.html | 585 ++ .../reveal.js/plugin/notes/notes.html | 759 +++ .../NeuralNet/reveal.js/plugin/notes/notes.js | 155 + .../reveal.js/plugin/print-pdf/print-pdf.js | 69 + .../reveal.js/plugin/search/search.js | 206 + .../reveal.js/plugin/zoom-js/zoom.js | 272 + .../reveal.js/test/examples/assets/image1.png | Bin 0 -> 21991 bytes .../reveal.js/test/examples/assets/image2.png | Bin 0 -> 10237 bytes .../reveal.js/test/examples/barebones.html | 41 + .../test/examples/embedded-media.html | 49 + .../reveal.js/test/examples/math.html | 185 + .../test/examples/slide-backgrounds.html | 144 + .../test/examples/slide-transitions.html | 101 + .../NeuralNet/reveal.js/test/qunit-1.12.0.css | 244 + .../NeuralNet/reveal.js/test/qunit-1.12.0.js | 2212 +++++++ doc/src/NeuralNet/reveal.js/test/simple.md | 12 + .../test-markdown-element-attributes.html | 134 + .../test/test-markdown-element-attributes.js | 46 + .../test/test-markdown-external.html | 36 + .../reveal.js/test/test-markdown-external.js | 24 + .../reveal.js/test/test-markdown-options.html | 41 + .../reveal.js/test/test-markdown-options.js | 26 + .../test/test-markdown-slide-attributes.html | 128 + .../test/test-markdown-slide-attributes.js | 47 + .../reveal.js/test/test-markdown.html | 52 + .../NeuralNet/reveal.js/test/test-markdown.js | 15 + .../NeuralNet/reveal.js/test/test-pdf.html | 83 + doc/src/NeuralNet/reveal.js/test/test-pdf.js | 15 + doc/src/NeuralNet/reveal.js/test/test.html | 86 + doc/src/NeuralNet/reveal.js/test/test.js | 597 ++ 258 files changed, 60828 insertions(+), 1199 deletions(-) create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs073.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs074.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs075.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs076.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs077.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs078.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs079.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs080.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs081.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs082.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs083.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs084.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs085.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs086.html create mode 100644 doc/pub/NeuralNet/html/._NeuralNet-bs087.html create mode 100644 doc/src/NeuralNet/NeuralNet-bs.html create mode 100644 doc/src/NeuralNet/NeuralNet-minted.pdf create mode 100644 doc/src/NeuralNet/NeuralNet-plain-minted.tex create mode 100644 doc/src/NeuralNet/NeuralNet-reveal.html create mode 100644 doc/src/NeuralNet/NeuralNet-solarized.html create mode 100644 doc/src/NeuralNet/NeuralNet.html create mode 100644 doc/src/NeuralNet/NeuralNet.ipynb create mode 100644 doc/src/NeuralNet/NeuralNet.p.tex create mode 100644 doc/src/NeuralNet/NeuralNet.tex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/03D77A9F0C0688F425C5F453449B11524234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/09F4D9A376DDB6BE1E73593E04CB8E854234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/0CC1A7A85AEE6BE30862E176C9E57C6A4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/15964F0B401001BEF599F2E4776F3CBB4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/2E8469C060C87841FDF49D194310781F4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/32D39C646616C734C492A964B85F90084234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/43CB1A5F1E3939FC231D7BC1782EC8534234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/445B1F5065FDF5AC11F178B59D23C96C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/4761C81BB8B86E4C60BBB9DB7F1D6B5C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/4A1EEDBB213837E19DAA4E5C494C8EFC4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/5674DC583991D33CB701DC26C374A7D94234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/611AA00BADB5FE57A27680962EA01B324234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/72543A9CB7A748EAAE812564510313DF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/7F4C3D222E8A3446EC779D8AF22905814234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/852D2EC506B5A30B409F5280E1666AE64234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/8871809795A90C7990F0293FE5FDBB4C4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/8C55CD49CDB4373D11001CA844ABD1874234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/A17309BF5FA276F8C2FDE6BADB2726244234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/A31C7A0824D277E4D150BB687CB3D27D4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/A9997A77EBA561AC5DC567F426BBE5A24234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/A9F4724DDF4E401785DB96FBEB7EEAE44234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/C630EE0722FF84E219F35E63A84603CF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/C79E225D867290EAA7053C20C84DEC1F4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/CC3B313264565E4CB32DE0B3DBE155114234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/D2D0331B4BFCC5E4D11BBB2D4F8220D44234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/D52EBE0E5A069D53B1692A08908FA9AE4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/DDF61950C6DED1D1F6693063F7FFF3AF4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/DE149C594620EAD33F825D2C744DFD2D4234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/E2A52A7C269FA0C93FD4D1225C8F6EE04234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/E916A642A79FF5FC8777234EAA3679174234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/FD25B0786C79644DB8919AE1039CB0C34234D82CF76A2559C5DD98A6DB88BEC4.pygtex create mode 100644 doc/src/NeuralNet/_minted-NeuralNet/default.pygstyle create mode 100644 doc/src/NeuralNet/ipynb-NeuralNet-src.tar.gz create mode 100644 doc/src/NeuralNet/reveal.js/.gitignore create mode 100644 doc/src/NeuralNet/reveal.js/.travis.yml create mode 100644 doc/src/NeuralNet/reveal.js/CONTRIBUTING.md create mode 100644 doc/src/NeuralNet/reveal.js/Gruntfile.js create mode 100644 doc/src/NeuralNet/reveal.js/LICENSE create mode 100644 doc/src/NeuralNet/reveal.js/README.md create mode 100644 doc/src/NeuralNet/reveal.js/bower.json create mode 100644 doc/src/NeuralNet/reveal.js/css/images/cbc_footer.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/cbc_symbol.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/simula_footer.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/simula_logo.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/simula_symbol.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/uio_footer.png create mode 100644 doc/src/NeuralNet/reveal.js/css/images/uio_symbol.png create mode 100644 doc/src/NeuralNet/reveal.js/css/print/paper.css create mode 100644 doc/src/NeuralNet/reveal.js/css/print/pdf.css create mode 100644 doc/src/NeuralNet/reveal.js/css/reveal.css create mode 100644 doc/src/NeuralNet/reveal.js/css/reveal.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/README.md create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/beige.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/beigesmall.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/black.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/blood.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/cbc.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/darkgray.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/default.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/league.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/moon.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/night.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/serif.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/simple.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/simula.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/sky.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/solarized.css create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/beige.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/beigesmall.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/black.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/blood.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/cbc.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/darkgray.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/default.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/league.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/moon.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/night.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/serif.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/simple.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/simula.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/sky.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/solarized.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/source/white.scss create mode 100644 doc/src/NeuralNet/reveal.js/css/theme/white.css create mode 100644 doc/src/NeuralNet/reveal.js/demo.html create mode 100644 doc/src/NeuralNet/reveal.js/index.html create mode 100644 doc/src/NeuralNet/reveal.js/js/reveal.js create mode 100644 doc/src/NeuralNet/reveal.js/lib/css/zenburn.css create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/league-gothic/LICENSE create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/league-gothic/league-gothic.css create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/league-gothic/league-gothic.eot create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/league-gothic/league-gothic.ttf create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/league-gothic/league-gothic.woff create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/LICENSE create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.eot create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.ttf create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-italic.woff create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.eot create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.ttf create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-regular.woff create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.eot create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.ttf create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibold.woff create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff create mode 100644 doc/src/NeuralNet/reveal.js/lib/font/source-sans-pro/source-sans-pro.css create mode 100644 doc/src/NeuralNet/reveal.js/lib/js/classList.js create mode 100644 doc/src/NeuralNet/reveal.js/lib/js/head.min.js create mode 100644 doc/src/NeuralNet/reveal.js/lib/js/html5shiv.js create mode 100644 doc/src/NeuralNet/reveal.js/package.json create mode 100644 doc/src/NeuralNet/reveal.js/plugin/highlight/highlight.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/markdown/example.html create mode 100644 doc/src/NeuralNet/reveal.js/plugin/markdown/example.md create mode 100644 doc/src/NeuralNet/reveal.js/plugin/markdown/markdown.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/markdown/marked.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/math/math.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/multiplex/client.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/multiplex/index.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/multiplex/master.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/multiplex/package.json create mode 100644 doc/src/NeuralNet/reveal.js/plugin/notes-server/client.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/notes-server/index.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/notes-server/notes.html create mode 100644 doc/src/NeuralNet/reveal.js/plugin/notes/notes.html create mode 100644 doc/src/NeuralNet/reveal.js/plugin/notes/notes.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/print-pdf/print-pdf.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/search/search.js create mode 100644 doc/src/NeuralNet/reveal.js/plugin/zoom-js/zoom.js create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/assets/image1.png create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/assets/image2.png create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/barebones.html create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/embedded-media.html create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/math.html create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/slide-backgrounds.html create mode 100644 doc/src/NeuralNet/reveal.js/test/examples/slide-transitions.html create mode 100644 doc/src/NeuralNet/reveal.js/test/qunit-1.12.0.css create mode 100644 doc/src/NeuralNet/reveal.js/test/qunit-1.12.0.js create mode 100644 doc/src/NeuralNet/reveal.js/test/simple.md create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-element-attributes.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-element-attributes.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-external.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-external.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-options.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-options.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-slide-attributes.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown-slide-attributes.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-markdown.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test-pdf.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test-pdf.js create mode 100644 doc/src/NeuralNet/reveal.js/test/test.html create mode 100644 doc/src/NeuralNet/reveal.js/test/test.js diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs000.html b/doc/pub/NeuralNet/html/._NeuralNet-bs000.html index 2280e9a0e..77def0bb5 100644 --- a/doc/pub/NeuralNet/html/._NeuralNet-bs000.html +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs000.html @@ -6,9 +6,9 @@ Automatically generated HTML file from DocOnce source - + -Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks @@ -151,8 +151,30 @@ Automatically generated HTML file from DocOnce source '___sec67'), ('3D volumes of neurons', 2, None, '___sec68'), ('Layers used to build CNNs', 2, None, '___sec69'), - ('CNNs in brief', 2, None, '___sec70'), - ('CNNs in more detail', 2, None, '___sec71')]} + ('Transforming images', 2, None, '___sec70'), + ('CNNs in brief', 2, None, '___sec71'), + ('CNNs in more detail, building convolutional neural networks in ' + 'Tensorflow and Keras', + 2, + None, + '___sec72'), + ('Setting it up', 2, None, '___sec73'), + ('The MNIST dataset again', 2, None, '___sec74'), + ('Strong correlations', 2, None, '___sec75'), + ('Layers of a CNN', 2, None, '___sec76'), + ('Systematic reduction', 2, None, '___sec77'), + ('Prerequisites: Collect and pre-process data', + 2, + None, + '___sec78'), + ('Importing Keras and Tensorflow', 2, None, '___sec79'), + ('Using TensorFlow backend', 2, None, '___sec80'), + ('Train the model', 2, None, '___sec81'), + ('Visualizing the results', 2, None, '___sec82'), + ('Running with Keras', 2, None, '___sec83'), + ('Final part', 2, None, '___sec84'), + ('Final visualization', 2, None, '___sec85'), + ('Fun links', 2, None, '___sec86')]} end of tocinfo --> @@ -182,7 +204,7 @@ MathJax.Hub.Config({ - Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning + Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + +
+ +

 

 

 

+ + + + +

Setting it up

+ +

+It means that to represent the entire +dataset of images, we require a 4D matrix or tensor. This tensor has the dimensions: +$$ +(n_{inputs},\, n_{pixels, width},\, n_{pixels, height},\, depth) . +$$ + +

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs075.html b/doc/pub/NeuralNet/html/._NeuralNet-bs075.html new file mode 100644 index 000000000..af828474c --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs075.html @@ -0,0 +1,383 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

The MNIST dataset again

+ +

+The MNIST dataset consists of grayscale images with a pixel size of +\( 28\times 28 \), meaning we require \( 28 \times 28 = 724 \) weights to each +neuron in the first hidden layer. + +

+If we were to analyze images of size \( 128\times 128 \) we would require +\( 128 \times 128 = 16384 \) weights to each neuron. Even worse if we were +dealing with color images, as most images are, we have an image matrix +of size \( 128\times 128 \) for each color dimension (Red, Green, Blue), +meaning 3 times the number of weights \( = 49152 \) are required for every +single neuron in the first hidden layer. + +

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs076.html b/doc/pub/NeuralNet/html/._NeuralNet-bs076.html new file mode 100644 index 000000000..23daa7f6b --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs076.html @@ -0,0 +1,381 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Strong correlations

+Images typically have strong local correlations, meaning that a small +part of the image varies little from its neighboring regions. If for +example we have an image of a blue car, we can roughly assume that a +small blue part of the image is surrounded by other blue regions. + +

+Therefore, instead of connecting every single pixel to a neuron in the +first hidden layer, as we have previously done with deep neural +networks, we can instead connect each neuron to a small part of the +image (in all 3 RGB depth dimensions). The size of each small area is +fixed, and known as a receptive. + +

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs077.html b/doc/pub/NeuralNet/html/._NeuralNet-bs077.html new file mode 100644 index 000000000..c610ec456 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs077.html @@ -0,0 +1,387 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Layers of a CNN

+The layers of a convolutional neural network arrange neurons in 3D: width, height and depth. +The input image is typically a square matrix of depth 3. + +

+A convolution is performed on the image which outputs +a 3D volume of neurons. The weights to the input are arranged in a number of 2D matrices, known as filters. + +

+Each filter slides along the input image, taking the dot product +between each small part of the image and the filter, in all depth +dimensions. This is then passed through a non-linear function, +typically the Rectified Linear (ReLu) function, which serves as the +activation of the neurons in the first convolutional layer. This is +further passed through a pooling layer, which reduces the size of the +convolutional layer, e.g. by taking the maximum or average across some +small regions, and this serves as input to the next convolutional +layer. + +

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs078.html b/doc/pub/NeuralNet/html/._NeuralNet-bs078.html new file mode 100644 index 000000000..b3d6cd552 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs078.html @@ -0,0 +1,378 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Systematic reduction

+ +

+By systematically reducing the size of the input volume, through +convolution and pooling, the network should create representations of +small parts of the input, and then from them assemble representations +of larger areas. The final pooling layer is flattened to serve as +input to a hidden layer, such that each neuron in the final pooling +layer is connected to every single neuron in the hidden layer. This +then serves as input to the output layer, e.g. a softmax output for +classification. + +

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs079.html b/doc/pub/NeuralNet/html/._NeuralNet-bs079.html new file mode 100644 index 000000000..5ccfc29e2 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs079.html @@ -0,0 +1,410 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Prerequisites: Collect and pre-process data

+

+ + +

# import necessary packages
+import numpy as np
+import matplotlib.pyplot as plt
+from sklearn import datasets
+
+
+# ensure the same random numbers appear every time
+np.random.seed(0)
+
+# display images in notebook
+%matplotlib inline
+plt.rcParams['figure.figsize'] = (12,12)
+
+
+# download MNIST dataset
+digits = datasets.load_digits()
+
+# define inputs and labels
+inputs = digits.images
+labels = digits.target
+
+# RGB images have a depth of 3
+# our images are grayscale so they should have a depth of 1
+inputs = inputs[:,:,:,np.newaxis]
+
+print("inputs = (n_inputs, pixel_width, pixel_height, depth) = " + str(inputs.shape))
+print("labels = (n_inputs) = " + str(labels.shape))
+
+
+# choose some random images to display
+n_inputs = len(inputs)
+indices = np.arange(n_inputs)
+random_indices = np.random.choice(indices, size=5)
+
+for i, image in enumerate(digits.images[random_indices]):
+    plt.subplot(1, 5, i+1)
+    plt.axis('off')
+    plt.imshow(image, cmap=plt.cm.gray_r, interpolation='nearest')
+    plt.title("Label: %d" % digits.target[random_indices[i]])
+plt.show()
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs080.html b/doc/pub/NeuralNet/html/._NeuralNet-bs080.html new file mode 100644 index 000000000..91e2e7667 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs080.html @@ -0,0 +1,381 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Importing Keras and Tensorflow

+

+ + +

from keras.utils import to_categorical
+from sklearn.model_selection import train_test_split
+
+# representation of labels
+labels = to_categorical(labels)
+
+# split into train and test data
+# one-liner from scikit-learn library
+train_size = 0.8
+test_size = 1 - train_size
+X_train, X_test, Y_train, Y_test = train_test_split(inputs, labels, train_size=train_size,
+                                                    test_size=test_size)
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs081.html b/doc/pub/NeuralNet/html/._NeuralNet-bs081.html new file mode 100644 index 000000000..e8a28e958 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs081.html @@ -0,0 +1,509 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Using TensorFlow backend

+ +

+We need to define model and architecture and choose cost function and optmizer. +

+ + +

import tensorflow as tf
+
+class ConvolutionalNeuralNetworkTensorflow:
+    def __init__(
+        self,
+        X_train,
+        Y_train,
+        X_test,
+        Y_test,
+        n_filters=10,
+        n_neurons_connected=50,
+        n_categories=10,
+        receptive_field=3,
+        stride=1,
+        padding=1,
+        epochs=10,
+        batch_size=100,
+        eta=0.1,
+        lmbd=0.0,
+    ):
+        
+        self.global_step = tf.Variable(0, dtype=tf.int32, trainable=False, name='global_step')
+        
+        self.X_train = X_train
+        self.Y_train = Y_train
+        self.X_test = X_test
+        self.Y_test = Y_test
+        
+        self.n_inputs, self.input_width, self.input_height, self.depth = X_train.shape
+        
+        self.n_filters = n_filters
+        self.n_downsampled = int(self.input_width*self.input_height*n_filters / 4)
+        self.n_neurons_connected = n_neurons_connected
+        self.n_categories = n_categories
+        
+        self.receptive_field = receptive_field
+        self.stride = stride
+        self.strides = [stride, stride, stride, stride]
+        self.padding = padding
+        
+        self.epochs = epochs
+        self.batch_size = batch_size
+        self.iterations = self.n_inputs // self.batch_size
+        self.eta = eta
+        self.lmbd = lmbd
+        
+        self.create_placeholders()
+        self.create_CNN()
+        self.create_loss()
+        self.create_optimiser()
+        self.create_accuracy()
+    
+    def create_placeholders(self):
+        with tf.name_scope('data'):
+            self.X = tf.placeholder(tf.float32, shape=(None, self.input_width, self.input_height, self.depth), name='X_data')
+            self.Y = tf.placeholder(tf.float32, shape=(None, self.n_categories), name='Y_data')
+    
+    def create_CNN(self):
+        with tf.name_scope('CNN'):
+            
+            # Convolutional layer
+            self.W_conv = self.weight_variable([self.receptive_field, self.receptive_field, self.depth, self.n_filters], name='conv', dtype=tf.float32)
+            b_conv = self.weight_variable([self.n_filters], name='conv', dtype=tf.float32)
+            z_conv = tf.nn.conv2d(self.X, self.W_conv, self.strides, padding='SAME', name='conv') + b_conv
+            a_conv = tf.nn.relu(z_conv)
+            
+            # 2x2 max pooling
+            a_pool = tf.nn.max_pool(a_conv, [1, 2, 2, 1], [1, 2, 2, 1], padding='SAME', name='pool')
+            
+            # Fully connected layer
+            a_pool_flat = tf.reshape(a_pool, [-1, self.n_downsampled])
+            self.W_fc = self.weight_variable([self.n_downsampled, self.n_neurons_connected], name='fc', dtype=tf.float32)
+            b_fc = self.bias_variable([self.n_neurons_connected], name='fc', dtype=tf.float32)
+            a_fc = tf.nn.relu(tf.matmul(a_pool_flat, self.W_fc) + b_fc)
+            
+            # Output layer
+            self.W_out = self.weight_variable([self.n_neurons_connected, self.n_categories], name='out', dtype=tf.float32)
+            b_out = self.bias_variable([self.n_categories], name='out', dtype=tf.float32)
+            self.z_out = tf.matmul(a_fc, self.W_out) + b_out
+    
+    def create_loss(self):
+        with tf.name_scope('loss'):
+            softmax_loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits_v2(labels=self.Y, logits=self.z_out))
+            
+            regularizer_loss_conv = tf.nn.l2_loss(self.W_conv)
+            regularizer_loss_fc = tf.nn.l2_loss(self.W_fc)
+            regularizer_loss_out = tf.nn.l2_loss(self.W_out)
+            regularizer_loss = self.lmbd*(regularizer_loss_conv + regularizer_loss_fc + regularizer_loss_out)
+            
+            self.loss = softmax_loss + regularizer_loss
+
+    def create_accuracy(self):
+        with tf.name_scope('accuracy'):
+            probabilities = tf.nn.softmax(self.z_out)
+            predictions = tf.argmax(probabilities, 1)
+            labels = tf.argmax(self.Y, 1)
+            
+            correct_predictions = tf.equal(predictions, labels)
+            correct_predictions = tf.cast(correct_predictions, tf.float32)
+            self.accuracy = tf.reduce_mean(correct_predictions)
+    
+    def create_optimiser(self):
+        with tf.name_scope('optimizer'):
+            self.optimizer = tf.train.GradientDescentOptimizer(learning_rate=self.eta).minimize(self.loss, global_step=self.global_step)
+            
+    def weight_variable(self, shape, name='', dtype=tf.float32):
+        initial = tf.truncated_normal(shape, stddev=0.1)
+        return tf.Variable(initial, name=name, dtype=dtype)
+    
+    def bias_variable(self, shape, name='', dtype=tf.float32):
+        initial = tf.constant(0.1, shape=shape)
+        return tf.Variable(initial, name=name, dtype=dtype)
+
+    def fit(self):
+        data_indices = np.arange(self.n_inputs)
+
+        with tf.Session() as sess:
+            sess.run(tf.global_variables_initializer())
+            for i in range(self.epochs):
+                for j in range(self.iterations):
+                    chosen_datapoints = np.random.choice(data_indices, size=self.batch_size, replace=False)
+                    batch_X, batch_Y = self.X_train[chosen_datapoints], self.Y_train[chosen_datapoints]
+            
+                    sess.run([CNN.loss, CNN.optimizer],
+                        feed_dict={CNN.X: batch_X,
+                                   CNN.Y: batch_Y})
+                    accuracy = sess.run(CNN.accuracy,
+                        feed_dict={CNN.X: batch_X,
+                                   CNN.Y: batch_Y})
+                    step = sess.run(CNN.global_step)
+    
+            self.train_loss, self.train_accuracy = sess.run([CNN.loss, CNN.accuracy],
+                feed_dict={CNN.X: self.X_train,
+                           CNN.Y: self.Y_train})
+        
+            self.test_loss, self.test_accuracy = sess.run([CNN.loss, CNN.accuracy],
+                feed_dict={CNN.X: self.X_test,
+                           CNN.Y: self.Y_test})
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs082.html b/doc/pub/NeuralNet/html/._NeuralNet-bs082.html new file mode 100644 index 000000000..7b237939b --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs082.html @@ -0,0 +1,394 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Train the model

+ +

+We need now to train the model, evaluate it and test its performance on test data, and eventually include hyperparameters. +

+ + +

epochs = 100
+batch_size = 100
+n_filters = 10
+n_neurons_connected = 50
+n_categories = 10
+
+eta_vals = np.logspace(-5, 1, 7)
+lmbd_vals = np.logspace(-5, 1, 7)
+CNN_tf = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)
+        
+for i, eta in enumerate(eta_vals):
+    for j, lmbd in enumerate(lmbd_vals):
+        CNN = ConvolutionalNeuralNetworkTensorflow(X_train, Y_train, X_test, Y_test,
+                                      n_filters=n_filters, n_neurons_connected=n_neurons_connected,
+                                      n_categories=n_categories, epochs=epochs, batch_size=batch_size,
+                                      eta=eta, lmbd=lmbd)
+        CNN.fit()
+        
+        print("Learning rate = ", eta)
+        print("Lambda = ", lmbd)
+        print("Test accuracy: %.3f" % CNN.test_accuracy)
+        print()
+            
+        CNN_tf[i][j] = CNN
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs083.html b/doc/pub/NeuralNet/html/._NeuralNet-bs083.html new file mode 100644 index 000000000..ee3a7572a --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs083.html @@ -0,0 +1,397 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Visualizing the results

+ +

+ + +

# visual representation of grid search
+# uses seaborn heatmap, could probably do this in matplotlib
+import seaborn as sns
+
+sns.set()
+
+train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
+test_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
+
+for i in range(len(eta_vals)):
+    for j in range(len(lmbd_vals)):
+        CNN = CNN_tf[i][j]
+
+        train_accuracy[i][j] = CNN.train_accuracy
+        test_accuracy[i][j] = CNN.test_accuracy
+
+        
+fig, ax = plt.subplots(figsize = (10, 10))
+sns.heatmap(train_accuracy, annot=True, ax=ax, cmap="viridis")
+ax.set_title("Training Accuracy")
+ax.set_ylabel("$\eta$")
+ax.set_xlabel("$\lambda$")
+plt.show()
+
+fig, ax = plt.subplots(figsize = (10, 10))
+sns.heatmap(test_accuracy, annot=True, ax=ax, cmap="viridis")
+ax.set_title("Test Accuracy")
+ax.set_ylabel("$\eta$")
+ax.set_xlabel("$\lambda$")
+plt.show()
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs084.html b/doc/pub/NeuralNet/html/._NeuralNet-bs084.html new file mode 100644 index 000000000..5ccf7745d --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs084.html @@ -0,0 +1,400 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Running with Keras

+ +

+ + +

from keras.models import Sequential
+from keras.layers.convolutional import Conv2D
+from keras.layers.convolutional import MaxPooling2D
+from keras.layers import Flatten
+from keras.layers import Dense
+from keras.regularizers import l2
+from keras.optimizers import SGD
+
+def create_convolutional_neural_network_keras(input_shape, receptive_field,
+                                              n_filters, n_neurons_connected, n_categories,
+                                              eta, lmbd):
+    model = Sequential()
+    model.add(Conv2D(n_filters, (receptive_field, receptive_field), input_shape=input_shape, padding='same',
+              activation='relu', kernel_regularizer=l2(lmbd)))
+    model.add(MaxPooling2D(pool_size=(2, 2)))
+    model.add(Flatten())
+    model.add(Dense(n_neurons_connected, activation='relu', kernel_regularizer=l2(lmbd)))
+    model.add(Dense(n_categories, activation='softmax', kernel_regularizer=l2(lmbd)))
+    
+    sgd = SGD(lr=eta)
+    model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
+    
+    return model
+
+epochs = 100
+batch_size = 100
+input_shape = X_train.shape[1:4]
+receptive_field = 3
+n_filters = 10
+n_neurons_connected = 50
+n_categories = 10
+
+eta_vals = np.logspace(-5, 1, 7)
+lmbd_vals = np.logspace(-5, 1, 7)
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs085.html b/doc/pub/NeuralNet/html/._NeuralNet-bs085.html new file mode 100644 index 000000000..719eafb68 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs085.html @@ -0,0 +1,381 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Final part

+ +

+ + +

CNN_keras = np.zeros((len(eta_vals), len(lmbd_vals)), dtype=object)
+        
+for i, eta in enumerate(eta_vals):
+    for j, lmbd in enumerate(lmbd_vals):
+        CNN = create_convolutional_neural_network_keras(input_shape, receptive_field,
+                                              n_filters, n_neurons_connected, n_categories,
+                                              eta, lmbd)
+        CNN.fit(X_train, Y_train, epochs=epochs, batch_size=batch_size, verbose=0)
+        scores = CNN.evaluate(X_test, Y_test)
+        
+        CNN_keras[i][j] = CNN
+        
+        print("Learning rate = ", eta)
+        print("Lambda = ", lmbd)
+        print("Test accuracy: %.3f" % scores[1])
+        print()
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs086.html b/doc/pub/NeuralNet/html/._NeuralNet-bs086.html new file mode 100644 index 000000000..8ac538043 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs086.html @@ -0,0 +1,394 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Final visualization

+ +

+ + +

# visual representation of grid search
+# uses seaborn heatmap, could probably do this in matplotlib
+import seaborn as sns
+
+sns.set()
+
+train_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
+test_accuracy = np.zeros((len(eta_vals), len(lmbd_vals)))
+
+for i in range(len(eta_vals)):
+    for j in range(len(lmbd_vals)):
+        CNN = CNN_keras[i][j]
+
+        train_accuracy[i][j] = CNN.evaluate(X_train, Y_train)[1]
+        test_accuracy[i][j] = CNN.evaluate(X_test, Y_test)[1]
+
+        
+fig, ax = plt.subplots(figsize = (10, 10))
+sns.heatmap(train_accuracy, annot=True, ax=ax, cmap="viridis")
+ax.set_title("Training Accuracy")
+ax.set_ylabel("$\eta$")
+ax.set_xlabel("$\lambda$")
+plt.show()
+
+fig, ax = plt.subplots(figsize = (10, 10))
+sns.heatmap(test_accuracy, annot=True, ax=ax, cmap="viridis")
+ax.set_title("Test Accuracy")
+ax.set_ylabel("$\eta$")
+ax.set_xlabel("$\lambda$")
+plt.show()
+
+

+

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/._NeuralNet-bs087.html b/doc/pub/NeuralNet/html/._NeuralNet-bs087.html new file mode 100644 index 000000000..674788ab8 --- /dev/null +++ b/doc/pub/NeuralNet/html/._NeuralNet-bs087.html @@ -0,0 +1,363 @@ + + + + + + + +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +

 

 

 

+ + + + +

Fun links

+ +
    +
  1. Self-Driving cars using a convolutional neural network
  2. +
  3. Abstract art using convolutional neural networks
  4. +
+ + +

+ +

+ + +
+ + + + + + + +
+ +
+ + + + + + diff --git a/doc/pub/NeuralNet/html/NeuralNet-bs.html b/doc/pub/NeuralNet/html/NeuralNet-bs.html index 2280e9a0e..77def0bb5 100644 --- a/doc/pub/NeuralNet/html/NeuralNet-bs.html +++ b/doc/pub/NeuralNet/html/NeuralNet-bs.html @@ -6,9 +6,9 @@ Automatically generated HTML file from DocOnce source - + -Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning +Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks @@ -151,8 +151,30 @@ Automatically generated HTML file from DocOnce source '___sec67'), ('3D volumes of neurons', 2, None, '___sec68'), ('Layers used to build CNNs', 2, None, '___sec69'), - ('CNNs in brief', 2, None, '___sec70'), - ('CNNs in more detail', 2, None, '___sec71')]} + ('Transforming images', 2, None, '___sec70'), + ('CNNs in brief', 2, None, '___sec71'), + ('CNNs in more detail, building convolutional neural networks in ' + 'Tensorflow and Keras', + 2, + None, + '___sec72'), + ('Setting it up', 2, None, '___sec73'), + ('The MNIST dataset again', 2, None, '___sec74'), + ('Strong correlations', 2, None, '___sec75'), + ('Layers of a CNN', 2, None, '___sec76'), + ('Systematic reduction', 2, None, '___sec77'), + ('Prerequisites: Collect and pre-process data', + 2, + None, + '___sec78'), + ('Importing Keras and Tensorflow', 2, None, '___sec79'), + ('Using TensorFlow backend', 2, None, '___sec80'), + ('Train the model', 2, None, '___sec81'), + ('Visualizing the results', 2, None, '___sec82'), + ('Running with Keras', 2, None, '___sec83'), + ('Final part', 2, None, '___sec84'), + ('Final visualization', 2, None, '___sec85'), + ('Fun links', 2, None, '___sec86')]} end of tocinfo --> @@ -182,7 +204,7 @@ MathJax.Hub.Config({ - Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning + Data Analysis and Machine Learning: Neural networks, from the simple perceptron to deep learning and convolutional networks