{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# PCA" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "import conx as cx\n", "import random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Non-Linearly Separable" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import math" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def distance(x1, y1, x2, y2):\n", " return math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "negatives = []\n", "while len(negatives) < 500:\n", " x = random.random()\n", " y = random.random()\n", " d = distance(x, y, 0.5, 0.5)\n", " if d > 0.375 and d < 0.5:\n", " negatives.append([x, y])\n", "positives = []\n", "while len(positives) < 500:\n", " x = random.random()\n", " y = random.random()\n", " d = distance(x, y, 0.5, 0.5)\n", " if d < 0.25:\n", " positives.append([x, y])" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "symbols = {\n", " \"Positive\": \"bo\",\n", " \"Negative\": \"ro\"\n", "}" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cx.scatter([[\"Positive\", positives],\n", " [\"Negative\", negatives]],\n", " symbols=symbols,\n", " height=6.0, width=6.0)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "net = cx.Network(\"Non-Linearly Separable\", 2, 5, 1, activation=\"sigmoid\")\n", "net.compile(error=\"mean_absolute_error\", optimizer=\"adam\") " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "application/javascript": [ "\n", "require(['base/js/namespace'], function(Jupyter) {\n", " Jupyter.notebook.kernel.comm_manager.register_target('conx_svg_control', function(comm, msg) {\n", " comm.on_msg(function(msg) {\n", " var data = msg[\"content\"][\"data\"];\n", " var images = document.getElementsByClassName(data[\"class\"]);\n", " for (var i = 0; i < images.length; i++) {\n", " if (data[\"href\"]) {\n", " images[i].setAttributeNS(null, \"href\", data[\"href\"]);\n", " }\n", " if (data[\"src\"]) {\n", " images[i].setAttributeNS(null, \"src\", data[\"src\"]);\n", " }\n", " }\n", " });\n", " });\n", "});\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " Layer: output (output)\n", " output range: (0, 1)\n", " shape = (1,)\n", " Keras class = Dense\n", " activation = sigmoidoutputWeights from hidden to output\n", " output/kernel has shape (5, 1)\n", " output/bias has shape (1,)Layer: hidden (hidden)\n", " output range: (0, 1)\n", " shape = (5,)\n", " Keras class = Dense\n", " activation = sigmoidhiddenWeights from input to hidden\n", " hidden/kernel has shape (2, 5)\n", " hidden/bias has shape (5,)Layer: input (input)\n", " output range: (-Infinity, +Infinity)\n", " shape = (2,)\n", " Keras class = InputinputNon-Linearly Separable" ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "net.picture()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "ds = cx.Dataset()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "ds.load([(p, [ 1.0], \"Positive\") for p in positives] +\n", " [(n, [ 0.0], \"Negative\") for n in negatives])" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "ds.shuffle()" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ds.split(0.1)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "net.set_dataset(ds)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "========================================================\n", "Testing validation dataset with tolerance 0.4...\n", "Total count: 900\n", " correct: 454\n", " incorrect: 446\n", "Total percentage correct: 0.5044444444444445\n" ] } ], "source": [ "net.evaluate(tolerance=0.4)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "8dd8ecd6c7c34b97b2afb5a6e3146dbd", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type Dashboard.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "Dashboard(children=(Accordion(children=(HBox(children=(VBox(children=(Select(description='Dataset:', index=1, options=('Test', 'Train'), rows=1, value='Train'), FloatSlider(value=0.5, continuous_update=False, description='Zoom', layout=Layout(width='65%'), max=1.0, style=SliderStyle(description_width='initial')), IntText(value=150, description='Horizontal space between banks:', style=DescriptionStyle(description_width='initial')), IntText(value=30, description='Vertical space between layers:', style=DescriptionStyle(description_width='initial')), HBox(children=(Checkbox(value=False, description='Show Targets', style=DescriptionStyle(description_width='initial')), Checkbox(value=False, description='Errors', style=DescriptionStyle(description_width='initial')))), Select(description='Features:', options=('',), rows=1, value=''), IntText(value=3, description='Feature columns:', style=DescriptionStyle(description_width='initial')), FloatText(value=1.0, description='Feature scale:', style=DescriptionStyle(description_width='initial'))), layout=Layout(width='100%')), VBox(children=(Select(description='Layer:', index=2, options=('input', 'hidden', 'output'), rows=1, value='output'), Checkbox(value=True, description='Visible'), Select(description='Colormap:', options=('', 'Accent', 'Accent_r', 'Blues', 'Blues_r', 'BrBG', 'BrBG_r', 'BuGn', 'BuGn_r', 'BuPu', 'BuPu_r', 'CMRmap', 'CMRmap_r', 'Dark2', 'Dark2_r', 'GnBu', 'GnBu_r', 'Greens', 'Greens_r', 'Greys', 'Greys_r', 'OrRd', 'OrRd_r', 'Oranges', 'Oranges_r', 'PRGn', 'PRGn_r', 'Paired', 'Paired_r', 'Pastel1', 'Pastel1_r', 'Pastel2', 'Pastel2_r', 'PiYG', 'PiYG_r', 'PuBu', 'PuBuGn', 'PuBuGn_r', 'PuBu_r', 'PuOr', 'PuOr_r', 'PuRd', 'PuRd_r', 'Purples', 'Purples_r', 'RdBu', 'RdBu_r', 'RdGy', 'RdGy_r', 'RdPu', 'RdPu_r', 'RdYlBu', 'RdYlBu_r', 'RdYlGn', 'RdYlGn_r', 'Reds', 'Reds_r', 'Set1', 'Set1_r', 'Set2', 'Set2_r', 'Set3', 'Set3_r', 'Spectral', 'Spectral_r', 'Vega10', 'Vega10_r', 'Vega20', 'Vega20_r', 'Vega20b', 'Vega20b_r', 'Vega20c', 'Vega20c_r', 'Wistia', 'Wistia_r', 'YlGn', 'YlGnBu', 'YlGnBu_r', 'YlGn_r', 'YlOrBr', 'YlOrBr_r', 'YlOrRd', 'YlOrRd_r', 'afmhot', 'afmhot_r', 'autumn', 'autumn_r', 'binary', 'binary_r', 'bone', 'bone_r', 'brg', 'brg_r', 'bwr', 'bwr_r', 'cool', 'cool_r', 'coolwarm', 'coolwarm_r', 'copper', 'copper_r', 'cubehelix', 'cubehelix_r', 'flag', 'flag_r', 'gist_earth', 'gist_earth_r', 'gist_gray', 'gist_gray_r', 'gist_heat', 'gist_heat_r', 'gist_ncar', 'gist_ncar_r', 'gist_rainbow', 'gist_rainbow_r', 'gist_stern', 'gist_stern_r', 'gist_yarg', 'gist_yarg_r', 'gnuplot', 'gnuplot2', 'gnuplot2_r', 'gnuplot_r', 'gray', 'gray_r', 'hot', 'hot_r', 'hsv', 'hsv_r', 'inferno', 'inferno_r', 'jet', 'jet_r', 'magma', 'magma_r', 'nipy_spectral', 'nipy_spectral_r', 'ocean', 'ocean_r', 'pink', 'pink_r', 'plasma', 'plasma_r', 'prism', 'prism_r', 'rainbow', 'rainbow_r', 'seismic', 'seismic_r', 'spectral', 'spectral_r', 'spring', 'spring_r', 'summer', 'summer_r', 'tab10', 'tab10_r', 'tab20', 'tab20_r', 'tab20b', 'tab20b_r', 'tab20c', 'tab20c_r', 'terrain', 'terrain_r', 'viridis', 'viridis_r', 'winter', 'winter_r'), rows=1, value=''), HTML(value=''), FloatText(value=0.0, description='Leftmost color maps to:', style=DescriptionStyle(description_width='initial')), FloatText(value=1.0, description='Rightmost color maps to:', style=DescriptionStyle(description_width='initial')), IntText(value=0, description='Feature to show:', style=DescriptionStyle(description_width='initial')), HBox(children=(Checkbox(value=False, description='Rotate network', layout=Layout(width='52%'), style=DescriptionStyle(description_width='initial')), Button(icon='save', layout=Layout(width='10%'), style=ButtonStyle())))), layout=Layout(width='100%')))),), selected_index=None, _titles={'0': 'Non-Linearly Separable'}), VBox(children=(HBox(children=(IntSlider(value=0, continuous_update=False, description='Dataset index', layout=Layout(width='100%'), max=899), Label(value='of 900', layout=Layout(width='100px'))), layout=Layout(height='40px')), HBox(children=(Button(icon='fast-backward', layout=Layout(width='100%'), style=ButtonStyle()), Button(icon='backward', layout=Layout(width='100%'), style=ButtonStyle()), IntText(value=0, layout=Layout(width='100%')), Button(icon='forward', layout=Layout(width='100%'), style=ButtonStyle()), Button(icon='fast-forward', layout=Layout(width='100%'), style=ButtonStyle()), Button(description='Play', icon='play', layout=Layout(width='100%'), style=ButtonStyle()), Button(icon='refresh', layout=Layout(width='25%'), style=ButtonStyle())), layout=Layout(height='50px', width='100%'))), layout=Layout(width='100%')), HTML(value='

', layout=Layout(justify_content='center', overflow_x='auto', overflow_y='auto', width='95%')), Output()))" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "net.dashboard()" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "symbols = {\n", " \"Positive (correct)\": \"w+\",\n", " \"Positive (wrong)\": \"k+\",\n", " \"Negative (correct)\": \"r_\",\n", " \"Negative (wrong)\": \"k_\",\n", "}" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "net.plot_activation_map(scatter=net.evaluate_and_label(), symbols=symbols, title=\"Before Training\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may want to either `net.reset()` or `net.retrain()` if the following cell doesn't complete with 100% accuracy. Calling `net.reset()` may be needed if the network has gotten stuck in a local minimum; `net.retrain()` may be necessary if the network just needs additional training." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "if net.saved():\n", " net.load()\n", " net.plot_results()\n", "else:\n", " net.train(epochs=10000, accuracy=1.0, report_rate=50,\n", " tolerance=0.4, batch_size=128, record=100)\n", " net.save()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cx.scatter(net.evaluate_and_label())" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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3+7d+WbePI4+5xxemzyZy5NJ+u6yC3++/nqeeeUV7rnvPjp++y4bLe3Ig3/5Exu1b8/yVq3Y6/DDOWvQ3oy59EzGj7+dj2bVOrMupEkTqNkdzjx9KFOnTeGPZw1k2ZoN+O9/pzNhwl08+OADbLvtJtx555usXLmSAQP249hjD2ebbbatey3Llq1i3ryv2XffPQB47rn/MGvWszz77Gxat27NwoU/0aTJCizrdC644AJ69uzJnXfeyV133YVl3USLFhvQvHlTnn32bebOnc3119/OTz8t4N//fo2mTZty7bWXUFNTwz/+MY3FixcxaNDeDBp0FI88cj/z5y/k+effZcWKH/juuw9o374948ffzp133kqHDh1o02YVm2++PevWraFFC8VGG21sf15LVtG2bSdWr57PZZdlkkIz7duuC78b6CY3oKUWvBrWR29vqtPX0aJFdp9WrYLHqC8fBDwQad42bYLvm8ZoTqZtWhnWmhfWV1JUSh0CjMa21t4tItdq98/DltvXAPOBU0TkK+feWuBdp+nXIhItAVseWAI28eVAfrmgbZs2DB04kLsnTqSV5xcw47XX+Ojzz+s82EuWLuWXZct45e23efiGGwA4aN996diu3sly64QJPPrCC9C0Kd/MncsnX3zBxh39PbOHHnww555/PitXruSpZ1+gT5++tGrViueee4Z33nmHqVMfAeDnnxfz2WefZJDiTz8toH37esfLjBnPMWzYCFq3tr3CHTtuxOLFi1m2bCX9+w/i55/ncNhhh3HRRRexZMkcVq5cwoABB2Ss57DDhtap4jNmPMPy5b/w8MP/AmDlyhV8993XvPTSc5x00h9p1qwZbdp0ZqedOtf133TT7my0Uf3xYZ06bcq8eXPqSLFt286sj/j73y3+8Y9UaLsLLkhy4YVW6RcUhPVVUlRKNcV2VR0IfAu8rpSaJiLeXeZvATUiskwpdSZwPeDmr1ouIt1Ltb5y4/TjjuOg3/2OYZ4ktOvWreM/48bRziQqGJCePZvnXn2VmffdR+vOnUkceywrVupB3Jlo2bIlib59efqZZ5j8yBSOOcZNISbceONtDBhwcF3b1av1vq1YuTKasbtdu878/PMcNt3UTuzauXMNTZu2QGQpc+faR+0uW7aAlSvn8csvc2jTpjMg3H33Y3Ttmn/+yZUrV9CyZavwho0Q//ynxZgx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wf36MeLCC2nfti2jL7+c8dOm8eW333LC4MEMO+cc9uzWjXc++ICHRo/m9XfeYfS4cYgIB/bpw2WOtLdt376cPmwYz770Ei1btOC+G29k04035stvv+XMyy5j2fLlHNKvH2MmTOCLGTMAOCSRYMp//hOJFCuFXpiJ71XPpaOayKoccL3PhaII+RWMiEnRwU1jxvA3Q+qw804/nfMjZs8xOV0UcPHQoew+fDhXnngi7bBtFm2BP9x0E6cPH87e3bvz3bx5DD/nHKZPnszf7rqL/WpqOGfECGpfeYUJnv3Sf7vsMjq2b0/TFSv4zUknccpvfsPt55zDvZMn89748Vl2yMMPPJBpzz3HgD59WLV6NS+9/jrXXnQR4x97jHZt2vD0/fezctUqBp12Gv169WKbLbes67tq9Wq++u47ftXZ3qvcu0cPZr39Ngf368fcH37g+wV2wtdX33qLwQcdBMDn33zDrZZFzW67MW/+fEbddhvPPPAAHdq25ZhzzuHJdJqBiQTLli+nZ7duXHLWWVxx6608OHUq5516KpfedBOnDxvGUQcfzH1TMs+h7r7LLlx7xx2RPotKwY/4whBVAowqUVYziuh9rsuvAKCUcvMr1JGiiNR62s8CTggbNCZFB+ePHBmZ/HQEeaAB2rVpw4kDB3Krljrsxdde4+PP65W8X5YuZemyZbz29tvc46QO67/vvnTwpA675+GHeSqdBuCb779n5jff0LNDBwTbDqnjN/vuy2U33cTKVauonTmTXj160KplS6a/+ioffPopTzz/PAA/L13KF998k0GKPy1aRPu29a+sV/fujJkwgY8+/5wdt92WxUuW8P2CBcx+912uuuACflq8mK222IKa3exoqrfef599e/akk5Pa7OhDDmHWW28xMJGg+QYbcND++wOw+847M/211wB44913uc957UcdfDDW6NF183faaKM6Im7I8JMmvYTXW7u8bSB/FbpakAMpdnJyILgYIyLueR6F5lcwIibFIiDIsyzYDpdjjzuOQ373O44dNAhx2q9bt47Hx42jZcTUYS+/8QYvvvYa08aOpVXLlgw54wxWrFpVZ4M07Ydt3qIF+/TsSe3MmTz27LMcceCBCLbNb9QFF5DYZ5+sPi6at2jBilWr6uo223RTFi9ZwgszZ9Jrzz1ZtHgxU599ltatW9Nqww1Zt3gxrVu2rAu3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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "net.plot_activation_map(scatter=net.evaluate_and_label(), symbols=symbols, title=\"After Training\")" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "states = [net.propagate_to(\"hidden\", input) for input in net.dataset.inputs]\n", "pca = cx.PCA(states)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "symbols = {\n", " \"Positive (correct)\": \"b+\",\n", " \"Positive (wrong)\": \"k+\",\n", " \"Negative (correct)\": \"r_\",\n", " \"Negative (wrong)\": \"k_\",\n", "}" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "eda82bf1549f40fc93a8f19ecaff3526", "version_major": 2, "version_minor": 0 }, "text/html": [ "

Failed to display Jupyter Widget of type SequenceViewer.

\n", "

\n", " If you're reading this message in the Jupyter Notebook or JupyterLab Notebook, it may mean\n", " that the widgets JavaScript is still loading. If this message persists, it\n", " likely means that the widgets JavaScript library is either not installed or\n", " not enabled. See the Jupyter\n", " Widgets Documentation for setup instructions.\n", "

\n", "

\n", " If you're reading this message in another frontend (for example, a static\n", " rendering on GitHub or NBViewer),\n", " it may mean that your frontend doesn't currently support widgets.\n", "

\n" ], "text/plain": [ "SequenceViewer(children=(VBox(children=(HBox(children=(IntSlider(value=0, continuous_update=False, description='Non-Linearly Separable Playback:', layout=Layout(width='100%'), style=SliderStyle(description_width='initial')), Label(value='of 101', layout=Layout(width='100px'))), layout=Layout(height='40px')), HBox(children=(Button(icon='fast-backward', layout=Layout(width='100%'), style=ButtonStyle()), Button(icon='backward', layout=Layout(width='100%'), style=ButtonStyle()), IntText(value=0, layout=Layout(width='100%')), Button(icon='forward', layout=Layout(width='100%'), style=ButtonStyle()), Button(icon='fast-forward', layout=Layout(width='100%'), style=ButtonStyle()), Button(description='Play', icon='play', layout=Layout(width='100%'), style=ButtonStyle())), layout=Layout(height='50px', width='100%'))), layout=Layout(width='100%')), Output()))" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "pb = net.playback(lambda net,epoch: cx.scatter(**pca.transform_network_bank(net, \"hidden\", test=True),\n", " symbols=symbols,\n", " title=\"Epoch %s\" % epoch))\n", "pb" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "pb.goto(\"end\")" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "movie = net.movie(lambda net,epoch: cx.scatter(**pca.transform_network_bank(net, \"hidden\", test=True),\n", " symbols=symbols,\n", " format=\"image\",\n", " title=\"Epoch %s\" % epoch),\n", " step=1)\n", "movie" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "def function(x, y): \n", " outputs = net.propagate([x, y])\n", " return outputs[0] " ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cx.heatmap(function)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "" ], "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cx.scatter(**pca.transform_network_bank(net, \"hidden\", test=True),\n", " symbols=symbols)" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "matrix = [[-1 for i in range(50)] for j in range(50)]\n", "for y in cx.frange(0, 1, 0.01):\n", " for x in cx.frange(0, 1, 0.01):\n", " hiddens = net.propagate_to(\"hidden\", [x, y])\n", " vector = pca.transform_one(hiddens, scale=True)\n", " try:\n", " matrix[int(vector[1] * 50)][int(vector[0] * 50)] = net.propagate([x, y])[0]\n", " except:\n", " pass" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cx.heatmap(matrix)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.3" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "00026dc967284c779ebfaeb1536fa4ec": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SliderStyleModel", "state": { "description_width": "initial" } }, "0082341589174b91982383b494bea5c3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "0321b5aa9b47463091795d0afc59ead1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "height": "40px" } }, "0402bcce7072407e9c73b148992a2ac9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "045fe1162a1047e68542f1f68bc80c28": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "fast-backward", "layout": "IPY_MODEL_05fbacf4773e497caf6718e3f8c7db54", "style": "IPY_MODEL_ab7838ae35cf4049a6a880d684df2f11" } }, "0585c3fe871647d6a0aac86ee56dd186": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "05e9e44856b6457db946360bfa5856a4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "05fbacf4773e497caf6718e3f8c7db54": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "078510a106ba4bad9bd1e666246dda2f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "079d3163245f4b05a23c3cff7e55c721": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "08c31d9d3a09487faffcf8817bd44b7b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "08d13a31a5bc4bbda0123a0d2495dca2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_e2ee82006a0d459daf71c5bfe05e41af", "style": "IPY_MODEL_ea7936627f7b4e19bf343d851843c9b3", "value": "" } }, "0bf63735e13c482db8ad3af39b8a69b7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "123b236c8f2547a794ee1efe8ea524ca": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "12a5d46aa63d4f359bd80b4ff9a90d83": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "13aea84932304b5fbbf4021ea13c6270": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "CheckboxModel", "state": { "description": "Rotate network", "disabled": false, "layout": "IPY_MODEL_75fca3bac3d848c1b3d318dbe7cb173c", "style": "IPY_MODEL_3e78567cc9194bc0b9cf3ed8056cd4f5", "value": false } }, "17749a32ca854c248ab8072df30935ba": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "1b93fed37b464a749f337f7e67e0e543": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "description": "Play", "icon": "play", "layout": "IPY_MODEL_078510a106ba4bad9bd1e666246dda2f", "style": "IPY_MODEL_41b107ecafea4cf190ed08d150c67da2" } }, "1edde74e053744c8aed2564b3eaa6dd5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "1eea40e2d96947e7b0ad0ba98b622952": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "1f128a91c1a843f282195aa1f48a6c71": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "1fc84af0f6994b348eda8ad9b28599c3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "217498f82f164282bfac4b8cec0c63c9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "22485b4fc76e4509a74998dcdf8c650f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "LabelModel", "state": { "layout": "IPY_MODEL_f575564013fb487e9c0c20bdaf91ae28", "style": "IPY_MODEL_17749a32ca854c248ab8072df30935ba", "value": "of 101" } }, "23f471105d614d71a49fa7d363005f26": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "2533ff79dddd4f6281e4645ba5c81472": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "268ff2d6a14f4f2597f836a212c5bfeb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "26b725e9d9504f1991b767d44a3348d4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "26cdea28666e4a9e9a8ac079a6120353": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "justify_content": "center", "overflow_x": "auto", "overflow_y": "auto", "width": "95%" } }, "27580ecc03ad4c1d8b6f3bc2d1497024": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_693dc7c6ba004cb18c0491c4e3e97c59", "IPY_MODEL_22485b4fc76e4509a74998dcdf8c650f" ], "layout": "IPY_MODEL_d4adefc2b4ab4c979f14232e99a80aeb" } }, "2904e9dfb5a9416282dbd8600a470241": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "CheckboxModel", "state": { "description": "Show Targets", "disabled": false, "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "style": "IPY_MODEL_fc5531ac19e44db691bb0f0675600ad1", "value": false } }, "2a08a33acd10441784991c331372a260": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "description": "Play", "icon": "play", "layout": "IPY_MODEL_1fc84af0f6994b348eda8ad9b28599c3", "style": "IPY_MODEL_f6c7b36f22c945ec9dd830134955254c" } }, "2c2c19c1117848e0a46a7782bf617faa": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "backward", "layout": "IPY_MODEL_aa50556d5ae84398a4300bc52d55ce9c", "style": "IPY_MODEL_5213f1bd03754c6f9dfd8e9ae6fcb421" } }, "2c6e0d4b882a4eec9cf3ad1130e469e2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "10%" } }, "2c9690f5f0084f95ab175991cdb828c9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "2cc4216a9e3e45299ac0e1cf1dc64c78": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "2daf7862f5e2415e922faa987585c4e6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "LabelModel", "state": { "layout": "IPY_MODEL_878af0c72f634f69afacabec225ba514", "style": "IPY_MODEL_1f128a91c1a843f282195aa1f48a6c71", "value": "of 900" } }, "2f78fe16fe1c413fa5cf1a55f741961e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "FloatSliderModel", "state": { "continuous_update": false, "description": "Zoom", "layout": "IPY_MODEL_f64ae589716446fdbb4f54d360ebf9a3", "max": 1, "step": 0.1, "style": "IPY_MODEL_00026dc967284c779ebfaeb1536fa4ec", "value": 0.5 } }, "3079a6450b334b368b209f41819b3f6f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "310f0b2fc9a04e83b523e5fe72e9e1a4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "318890cacb014aeeb3c9623fb165fc24": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "334647e99d60433cbbc892304b7eb8c4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SelectModel", "state": { "_options_labels": [ "", "Accent", "Accent_r", "Blues", "Blues_r", "BrBG", "BrBG_r", "BuGn", "BuGn_r", "BuPu", "BuPu_r", "CMRmap", "CMRmap_r", "Dark2", "Dark2_r", "GnBu", "GnBu_r", "Greens", "Greens_r", "Greys", "Greys_r", "OrRd", "OrRd_r", "Oranges", "Oranges_r", "PRGn", "PRGn_r", "Paired", "Paired_r", "Pastel1", "Pastel1_r", "Pastel2", "Pastel2_r", "PiYG", "PiYG_r", "PuBu", "PuBuGn", "PuBuGn_r", "PuBu_r", "PuOr", "PuOr_r", "PuRd", "PuRd_r", "Purples", "Purples_r", "RdBu", "RdBu_r", "RdGy", "RdGy_r", "RdPu", "RdPu_r", "RdYlBu", "RdYlBu_r", "RdYlGn", "RdYlGn_r", "Reds", "Reds_r", "Set1", "Set1_r", "Set2", "Set2_r", "Set3", "Set3_r", "Spectral", "Spectral_r", "Vega10", "Vega10_r", "Vega20", "Vega20_r", "Vega20b", "Vega20b_r", "Vega20c", "Vega20c_r", "Wistia", "Wistia_r", "YlGn", "YlGnBu", "YlGnBu_r", "YlGn_r", "YlOrBr", "YlOrBr_r", "YlOrRd", "YlOrRd_r", "afmhot", "afmhot_r", "autumn", "autumn_r", "binary", "binary_r", "bone", "bone_r", "brg", "brg_r", "bwr", "bwr_r", "cool", "cool_r", "coolwarm", "coolwarm_r", "copper", "copper_r", "cubehelix", "cubehelix_r", "flag", "flag_r", "gist_earth", "gist_earth_r", "gist_gray", "gist_gray_r", "gist_heat", "gist_heat_r", "gist_ncar", "gist_ncar_r", "gist_rainbow", "gist_rainbow_r", "gist_stern", "gist_stern_r", "gist_yarg", "gist_yarg_r", "gnuplot", "gnuplot2", "gnuplot2_r", "gnuplot_r", "gray", "gray_r", "hot", "hot_r", "hsv", "hsv_r", "inferno", "inferno_r", "jet", "jet_r", "magma", "magma_r", "nipy_spectral", "nipy_spectral_r", "ocean", "ocean_r", "pink", "pink_r", "plasma", "plasma_r", "prism", "prism_r", "rainbow", "rainbow_r", "seismic", "seismic_r", "spectral", "spectral_r", "spring", "spring_r", "summer", "summer_r", "tab10", "tab10_r", "tab20", "tab20_r", "tab20b", "tab20b_r", "tab20c", "tab20c_r", "terrain", "terrain_r", "viridis", "viridis_r", "winter", "winter_r" ], "description": "Colormap:", "index": 0, "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "rows": 1, "style": "IPY_MODEL_ced25b642c4b465b9b3962471fb8709e" } }, "34c2aea7495c49a483740bb1aa2c9d05": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "37ee0f65196d48bcbd6ee434d3bbdb84": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "height": "50px", "width": "100%" } }, "385210a8ecb4482c927df564fb45e030": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "3917fa379b4b462db8f7180716e63841": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_a7187e76a4f8458eaf693e5e775e1a72", "IPY_MODEL_c04bff50ee584e5b99761087a7f74f17" ], "layout": "IPY_MODEL_2cc4216a9e3e45299ac0e1cf1dc64c78" } }, "3e075a9847d343c08df7b2102f7e223e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SelectModel", "state": { "_options_labels": [ "input", "hidden", "output" ], "description": "Layer:", "index": 2, "layout": "IPY_MODEL_c3fdf1dafd5e4944bc213950bc5e3a6c", "rows": 1, "style": "IPY_MODEL_7122c917772d4f7e819283752860a8e8" } }, "3e78567cc9194bc0b9cf3ed8056cd4f5": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "3f3a25c93fd14dffa5902737524d9d59": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SliderStyleModel", "state": { "description_width": "initial" } }, "3f6c70ca997d4e7d9ec1bb59f4c77994": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "40455c893757439da49d5ae1275bd726": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "4109e9e346ba42f5b5da0b84e54c9c0f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "41b107ecafea4cf190ed08d150c67da2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "41f3e41ac3b64bc6a464009e42687b9d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "CheckboxModel", "state": { "description": "Visible", "disabled": false, "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "style": "IPY_MODEL_cb4a4fd661e54527be3f22c5e6c68266", "value": true } }, "4225500849034404b08de1f78dc4b0f8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_27580ecc03ad4c1d8b6f3bc2d1497024", "IPY_MODEL_e0a33fca8cc04b6cba8f8a1d5fe297b1" ], "layout": "IPY_MODEL_079d3163245f4b05a23c3cff7e55c721" } }, "470074f5b30041a58bd60308b2992fb4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "4b635ddfb6d34234ae13e1c3fe27c954": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HTMLModel", "state": { "layout": "IPY_MODEL_26cdea28666e4a9e9a8ac079a6120353", "style": "IPY_MODEL_0585c3fe871647d6a0aac86ee56dd186", "value": "

\n \n \n \n \n \n \n Layer: output (output)\n output range: (0, 1)\n shape = (1,)\n Keras class = Dense\n activation = sigmoidoutputWeights from hidden to output\n output/kernel has shape (5, 1)\n output/bias has shape (1,)Layer: hidden (hidden)\n output range: (0, 1)\n shape = (5,)\n Keras class = Dense\n activation = sigmoidhiddenWeights from input to hidden\n hidden/kernel has shape (2, 5)\n hidden/bias has shape (5,)Layer: input (input)\n output range: (0.0038417564, 0.997856)\n shape = (2,)\n Keras class = InputinputNon-Linearly Separable

" } }, "505540ff3a97430893f578481722ccb7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "description": "Feature to show:", "layout": "IPY_MODEL_217498f82f164282bfac4b8cec0c63c9", "step": 1, "style": "IPY_MODEL_f97777d2cb084c7a9deedf5208807385" } }, "5213f1bd03754c6f9dfd8e9ae6fcb421": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "5475f71247cd406d9b7ddd5a60b376d7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "55249932757342959672620cb767f4de": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_13aea84932304b5fbbf4021ea13c6270", "IPY_MODEL_594f77b6d3b14da9ad09ba000dedbb0c" ], "layout": "IPY_MODEL_23f471105d614d71a49fa7d363005f26" } }, "567f3c97ef3045c68de1332b0cae596e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "FloatTextModel", "state": { "description": "Leftmost color maps to:", "layout": "IPY_MODEL_0082341589174b91982383b494bea5c3", "step": null, "style": "IPY_MODEL_5c47438892164844ad0a481370c8570b" } }, "594f77b6d3b14da9ad09ba000dedbb0c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "save", "layout": "IPY_MODEL_2c6e0d4b882a4eec9cf3ad1130e469e2", "style": "IPY_MODEL_310f0b2fc9a04e83b523e5fe72e9e1a4" } }, "5aabeb0cdc8a44e28e551d8b2b34e46e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "5ad34dadae6041a885ff502da01cf95d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "5b8ab327ef844637b5583f745f5493eb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_7d37b1eaae0844239f9c8654f8ee33e8", "IPY_MODEL_dc64f706271f469fa10ca21e5c8ce4af" ], "layout": "IPY_MODEL_470074f5b30041a58bd60308b2992fb4" } }, "5c47438892164844ad0a481370c8570b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "5e3755c738274ef2b363177538d02f6f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "5f839a29796742e2abd7f4911d2f7c27": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "60c99e9e18d64204ad3f07d124c35d10": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "fast-backward", "layout": "IPY_MODEL_123b236c8f2547a794ee1efe8ea524ca", "style": "IPY_MODEL_5475f71247cd406d9b7ddd5a60b376d7" } }, "612b7a3ecc8a480bae05e7c2de292b15": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "612d2ea93da14892b3358e0afaadf339": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SliderStyleModel", "state": { "description_width": "" } }, "616c748f979f44898f1e5f1f3dda6d5e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "CheckboxModel", "state": { "description": "Errors", "disabled": false, "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "style": "IPY_MODEL_34c2aea7495c49a483740bb1aa2c9d05", "value": false } }, "63ef1101ceba403ba81db6b2d177f6d3": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_76d0bbdf0c3e4709a97f12641e09b2d1" } }, "66e74713475a4f1d90bba1bbd7ccbab0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "693dc7c6ba004cb18c0491c4e3e97c59": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntSliderModel", "state": { "continuous_update": false, "description": "Non-Linearly Separable Playback:", "layout": "IPY_MODEL_79dad620251341b389ca925a23c4c83a", "style": "IPY_MODEL_3f3a25c93fd14dffa5902737524d9d59", "value": 100 } }, "7122c917772d4f7e819283752860a8e8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "75fca3bac3d848c1b3d318dbe7cb173c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "52%" } }, "76d0bbdf0c3e4709a97f12641e09b2d1": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "79dad620251341b389ca925a23c4c83a": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "7d37b1eaae0844239f9c8654f8ee33e8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_b55aa69bac904c2f9a94ac6fab40bcd3", "IPY_MODEL_2daf7862f5e2415e922faa987585c4e6" ], "layout": "IPY_MODEL_0321b5aa9b47463091795d0afc59ead1" } }, "7dc9652f935e4d8eb3b3e950ad1f89d1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SelectModel", "state": { "_options_labels": [ "" ], "description": "Features:", "index": 0, "layout": "IPY_MODEL_8129f2dde5fa45e9b9443650ba4e2be9", "rows": 1, "style": "IPY_MODEL_86e2ceea3a6c48c8a870ee68c8b59166" } }, "7e3310517dcb47eb8d436a424ac5b202": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "SelectModel", "state": { "_options_labels": [ "Test", "Train" ], "description": "Dataset:", "index": 1, "layout": "IPY_MODEL_3079a6450b334b368b209f41819b3f6f", "rows": 1, "style": "IPY_MODEL_f2a8fc8e729b4cc2bdc5cc6c4dfe0ca9" } }, "810ac747161e4053b123fb1fcfa4b0cb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "8129f2dde5fa45e9b9443650ba4e2be9": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "855cb23de704462cb596f0bc4a8a154f": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "86e2ceea3a6c48c8a870ee68c8b59166": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "878af0c72f634f69afacabec225ba514": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100px" } }, "8b91c0b330f24cda9a149a000de15c9e": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "height": "50px", "width": "100%" } }, "8dd8ecd6c7c34b97b2afb5a6e3146dbd": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_ef7e961d4ef943b59f3e2e0cf465a316", "IPY_MODEL_5b8ab327ef844637b5583f745f5493eb", "IPY_MODEL_4b635ddfb6d34234ae13e1c3fe27c954", "IPY_MODEL_63ef1101ceba403ba81db6b2d177f6d3" ], "layout": "IPY_MODEL_5e3755c738274ef2b363177538d02f6f" } }, "9c5f7527e6ac44288aefa741ce060562": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "layout": "IPY_MODEL_318890cacb014aeeb3c9623fb165fc24", "step": 1, "style": "IPY_MODEL_66e74713475a4f1d90bba1bbd7ccbab0" } }, "9df790b465034bafb4980a1c350d1193": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "CheckboxModel", "state": { "description": "Rotate", "disabled": false, "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "style": "IPY_MODEL_a6f3bf31aad14340b5182c81b5a406f4", "value": true } }, "9e8b07d643e54d119c32286d9e14c3ba": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "fast-forward", "layout": "IPY_MODEL_08c31d9d3a09487faffcf8817bd44b7b", "style": "IPY_MODEL_268ff2d6a14f4f2597f836a212c5bfeb" } }, "a6f3bf31aad14340b5182c81b5a406f4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "a7187e76a4f8458eaf693e5e775e1a72": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_7e3310517dcb47eb8d436a424ac5b202", "IPY_MODEL_2f78fe16fe1c413fa5cf1a55f741961e", "IPY_MODEL_c21cd0bfebee44c0a5dcec9bec61b4bb", "IPY_MODEL_ec6912a1066e4890ac3c9cb76c96d5b0", "IPY_MODEL_ec950936cbe944318774667e8f7535d8", "IPY_MODEL_7dc9652f935e4d8eb3b3e950ad1f89d1", "IPY_MODEL_d4aad980ffff47d39eade4abb78e92da", "IPY_MODEL_ebb20a853f5a42b483fa0e4ce850efb2" ], "layout": "IPY_MODEL_4109e9e346ba42f5b5da0b84e54c9c0f" } }, "aa50556d5ae84398a4300bc52d55ce9c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "aa8df739411d4260955c84bd70b192ca": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "FloatTextModel", "state": { "description": "Rightmost color maps to:", "layout": "IPY_MODEL_f16d1def228346f8817c3bc3f8b5aa07", "step": null, "style": "IPY_MODEL_40455c893757439da49d5ae1275bd726", "value": 1 } }, "ab7838ae35cf4049a6a880d684df2f11": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "ab9ba53373264d60b5d1b424a53a9f41": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "ada342f7638447fb88bbe4a570a94840": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "layout": "IPY_MODEL_05e9e44856b6457db946360bfa5856a4" } }, "b54c914f08004d72a7c32073b5577b7b": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "b55aa69bac904c2f9a94ac6fab40bcd3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntSliderModel", "state": { "continuous_update": false, "description": "Dataset index", "layout": "IPY_MODEL_2c9690f5f0084f95ab175991cdb828c9", "max": 899, "style": "IPY_MODEL_612d2ea93da14892b3358e0afaadf339" } }, "b8061889f5d74d64b4971cb4ff70ded1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "backward", "layout": "IPY_MODEL_b54c914f08004d72a7c32073b5577b7b", "style": "IPY_MODEL_1edde74e053744c8aed2564b3eaa6dd5" } }, "c04bff50ee584e5b99761087a7f74f17": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_3e075a9847d343c08df7b2102f7e223e", "IPY_MODEL_41f3e41ac3b64bc6a464009e42687b9d", "IPY_MODEL_334647e99d60433cbbc892304b7eb8c4", "IPY_MODEL_08d13a31a5bc4bbda0123a0d2495dca2", "IPY_MODEL_567f3c97ef3045c68de1332b0cae596e", "IPY_MODEL_aa8df739411d4260955c84bd70b192ca", "IPY_MODEL_505540ff3a97430893f578481722ccb7", "IPY_MODEL_55249932757342959672620cb767f4de" ], "layout": "IPY_MODEL_810ac747161e4053b123fb1fcfa4b0cb" } }, "c05b66418f044073b9353439a5716f17": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "c21cd0bfebee44c0a5dcec9bec61b4bb": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "description": "Horizontal space between banks:", "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "step": 1, "style": "IPY_MODEL_0402bcce7072407e9c73b148992a2ac9", "value": 150 } }, "c28fa44d8a154481abb976eff0529abf": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "fast-forward", "layout": "IPY_MODEL_26b725e9d9504f1991b767d44a3348d4", "style": "IPY_MODEL_12a5d46aa63d4f359bd80b4ff9a90d83" } }, "c3fdf1dafd5e4944bc213950bc5e3a6c": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "ca2b46ffdbda4e02858923240d516fa2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "forward", "layout": "IPY_MODEL_855cb23de704462cb596f0bc4a8a154f", "style": "IPY_MODEL_2533ff79dddd4f6281e4645ba5c81472" } }, "cb4a4fd661e54527be3f22c5e6c68266": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "ced25b642c4b465b9b3962471fb8709e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "d163f5cd2edb4b3b8031a4f976a39e5a": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "d17f346fa26744f2a8808908c17b3ec2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "refresh", "layout": "IPY_MODEL_e47b9e54076444a3b98f487137cfd546", "style": "IPY_MODEL_c05b66418f044073b9353439a5716f17" } }, "d2af67dd99524b98814cf49bb635d539": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "d37dae67806d4c64aa7d8893bf989a7f": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "layout": "IPY_MODEL_e11fb14b2ba34a9890aef0c3451793cb", "step": 1, "style": "IPY_MODEL_5aabeb0cdc8a44e28e551d8b2b34e46e", "value": 100 } }, "d4aad980ffff47d39eade4abb78e92da": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "description": "Feature columns:", "layout": "IPY_MODEL_5f839a29796742e2abd7f4911d2f7c27", "step": 1, "style": "IPY_MODEL_d163f5cd2edb4b3b8031a4f976a39e5a", "value": 3 } }, "d4adefc2b4ab4c979f14232e99a80aeb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "height": "40px" } }, "dc64f706271f469fa10ca21e5c8ce4af": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_60c99e9e18d64204ad3f07d124c35d10", "IPY_MODEL_b8061889f5d74d64b4971cb4ff70ded1", "IPY_MODEL_9c5f7527e6ac44288aefa741ce060562", "IPY_MODEL_faeae7adfc51412cb5eefab29841b007", "IPY_MODEL_c28fa44d8a154481abb976eff0529abf", "IPY_MODEL_2a08a33acd10441784991c331372a260", "IPY_MODEL_d17f346fa26744f2a8808908c17b3ec2" ], "layout": "IPY_MODEL_8b91c0b330f24cda9a149a000de15c9e" } }, "e0a33fca8cc04b6cba8f8a1d5fe297b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_045fe1162a1047e68542f1f68bc80c28", "IPY_MODEL_2c2c19c1117848e0a46a7782bf617faa", "IPY_MODEL_d37dae67806d4c64aa7d8893bf989a7f", "IPY_MODEL_ca2b46ffdbda4e02858923240d516fa2", "IPY_MODEL_9e8b07d643e54d119c32286d9e14c3ba", "IPY_MODEL_1b93fed37b464a749f337f7e67e0e543" ], "layout": "IPY_MODEL_37ee0f65196d48bcbd6ee434d3bbdb84" } }, "e11fb14b2ba34a9890aef0c3451793cb": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "e2ee82006a0d459daf71c5bfe05e41af": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "e47b9e54076444a3b98f487137cfd546": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "25%" } }, "ea7936627f7b4e19bf343d851843c9b3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "ebb20a853f5a42b483fa0e4ce850efb2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "FloatTextModel", "state": { "description": "Feature scale:", "layout": "IPY_MODEL_1eea40e2d96947e7b0ad0ba98b622952", "step": null, "style": "IPY_MODEL_ab9ba53373264d60b5d1b424a53a9f41", "value": 1 } }, "ec6912a1066e4890ac3c9cb76c96d5b0": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "IntTextModel", "state": { "description": "Vertical space between layers:", "layout": "IPY_MODEL_0bf63735e13c482db8ad3af39b8a69b7", "step": 1, "style": "IPY_MODEL_385210a8ecb4482c927df564fb45e030", "value": 30 } }, "ec950936cbe944318774667e8f7535d8": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "HBoxModel", "state": { "children": [ "IPY_MODEL_2904e9dfb5a9416282dbd8600a470241", "IPY_MODEL_616c748f979f44898f1e5f1f3dda6d5e" ], "layout": "IPY_MODEL_612b7a3ecc8a480bae05e7c2de292b15" } }, "eda82bf1549f40fc93a8f19ecaff3526": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "VBoxModel", "state": { "children": [ "IPY_MODEL_4225500849034404b08de1f78dc4b0f8", "IPY_MODEL_ada342f7638447fb88bbe4a570a94840" ], "layout": "IPY_MODEL_3f6c70ca997d4e7d9ec1bb59f4c77994" } }, "ef7e961d4ef943b59f3e2e0cf465a316": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "AccordionModel", "state": { "_titles": { "0": "Non-Linearly Separable" }, "children": [ "IPY_MODEL_3917fa379b4b462db8f7180716e63841" ], "layout": "IPY_MODEL_d2af67dd99524b98814cf49bb635d539", "selected_index": null } }, "f16d1def228346f8817c3bc3f8b5aa07": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": {} }, "f2a8fc8e729b4cc2bdc5cc6c4dfe0ca9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "f575564013fb487e9c0c20bdaf91ae28": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100px" } }, "f64ae589716446fdbb4f54d360ebf9a3": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "65%" } }, "f6c7b36f22c945ec9dd830134955254c": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonStyleModel", "state": {} }, "f776d7e67eec4b528b47d360cc69b4a2": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.0.0", "model_name": "LayoutModel", "state": { "width": "100%" } }, "f97777d2cb084c7a9deedf5208807385": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } }, "faeae7adfc51412cb5eefab29841b007": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "ButtonModel", "state": { "icon": "forward", "layout": "IPY_MODEL_f776d7e67eec4b528b47d360cc69b4a2", "style": "IPY_MODEL_5ad34dadae6041a885ff502da01cf95d" } }, "fc5531ac19e44db691bb0f0675600ad1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.1.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "initial" } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 2 }