blob: 091e6fde0a5cfe73f8d7c0d84d9c1202be1de6b8 [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Hyperband diagonal using MNIST\n",
"\n",
"Implemention of Hyperband https://arxiv.org/pdf/1603.06560.pdf for MPP - uses the Hyperband schedule but runs it on a diagonal across brackets, instead of one bracket at a time. \n",
"\n",
"Model architecture based on https://keras.io/examples/mnist_transfer_cnn/ \n",
"\n",
"To load images into tables we use the script called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning which uses the Python Imaging Library so supports multiple formats http://www.pythonware.com/products/pil/\n",
"\n",
"## Table of contents\n",
"<a href=\"#import_libraries\">1. Import libraries</a>\n",
"\n",
"<a href=\"#load_and_prepare_data\">2. Load and prepare data</a>\n",
"\n",
"<a href=\"#image_preproc\">3. Call image preprocessor</a>\n",
"\n",
"<a href=\"#define_and_load_model\">4. Define and load model architecture</a>\n",
"\n",
"<a href=\"#hyperband\">5. Hyperband diagonal</a>\n",
"\n",
"<a href=\"#plot\">6. Plot results</a>\n",
"\n",
"<a href=\"#print\">7. Print run schedules</a>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/config.py:13: ShimWarning: The `IPython.config` package has been deprecated since IPython 4.0. You should import from traitlets.config instead.\n",
" \"You should import from traitlets.config instead.\", ShimWarning)\n",
"/Users/fmcquillan/anaconda/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.\n",
" warn(\"IPython.utils.traitlets has moved to a top-level traitlets package.\")\n"
]
}
],
"source": [
"%load_ext sql"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Greenplum Database 5.x on GCP (PM demo machine) - direct external IP access\n",
"#%sql postgresql://gpadmin@34.67.65.96:5432/madlib\n",
"\n",
"# Greenplum Database 5.x on GCP - via tunnel\n",
"%sql postgresql://gpadmin@localhost:8000/madlib\n",
" \n",
"# PostgreSQL local\n",
"#%sql postgresql://fmcquillan@localhost:5432/madlib\n",
"\n",
"# psycopg2 connection\n",
"import psycopg2 as p2\n",
"#conn = p2.connect('postgresql://fmcquillan@localhost:5432/madlib')\n",
"conn = p2.connect('postgresql://gpadmin@localhost:8000/madlib')\n",
"cur = conn.cursor()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>version</th>\n",
" </tr>\n",
" <tr>\n",
" <td>MADlib version: 1.17-dev, git revision: rel/v1.16-47-g5a1717e, cmake configuration time: Tue Nov 19 01:02:39 UTC 2019, build type: release, build system: Linux-3.10.0-957.27.2.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'MADlib version: 1.17-dev, git revision: rel/v1.16-47-g5a1717e, cmake configuration time: Tue Nov 19 01:02:39 UTC 2019, build type: release, build system: Linux-3.10.0-957.27.2.el7.x86_64, C compiler: gcc 4.8.5, C++ compiler: g++ 4.8.5',)]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql select madlib.version();\n",
"#%sql select version();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"import_libraries\"></a>\n",
"# 1. Import libraries\n",
"From https://keras.io/examples/mnist_transfer_cnn/ import libraries and define some params"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Couldn't import dot_parser, loading of dot files will not be possible.\n"
]
}
],
"source": [
"from __future__ import print_function\n",
"\n",
"import datetime\n",
"import keras\n",
"from keras.datasets import mnist\n",
"from keras.models import Sequential\n",
"from keras.layers import Dense, Dropout, Activation, Flatten\n",
"from keras.layers import Conv2D, MaxPooling2D\n",
"from keras import backend as K\n",
"\n",
"now = datetime.datetime.now\n",
"\n",
"#batch_size = 128\n",
"num_classes = 10\n",
"#epochs = 5\n",
"\n",
"# input image dimensions\n",
"img_rows, img_cols = 28, 28\n",
"# number of convolutional filters to use\n",
"filters = 32\n",
"# size of pooling area for max pooling\n",
"pool_size = 2\n",
"# convolution kernel size\n",
"kernel_size = 3\n",
"\n",
"if K.image_data_format() == 'channels_first':\n",
" input_shape = (1, img_rows, img_cols)\n",
"else:\n",
" input_shape = (img_rows, img_cols, 1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Others needed in this workbook"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"load_and_prepare_data\"></a>\n",
"# 2. Load and prepare data\n",
"\n",
"First load MNIST data from Keras, consisting of 60,000 28x28 grayscale images of the 10 digits, along with a test set of 10,000 images."
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(10000, 28, 28)\n",
"(10000, 28, 28, 1)\n"
]
}
],
"source": [
"# the data, split between train and test sets\n",
"(x_train, y_train), (x_test, y_test) = mnist.load_data()\n",
"\n",
"# reshape to match model architecture\n",
"print(x_test.shape)\n",
"x_train = x_train.reshape(len(x_train), *input_shape)\n",
"x_test = x_test.reshape(len(x_test), *input_shape)\n",
"print(x_test.shape)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load datasets into tables using image loader scripts called <em>madlib_image_loader.py</em> located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"# MADlib tools directory\n",
"import sys\n",
"import os\n",
"madlib_site_dir = '/Users/fmcquillan/Documents/Product/MADlib/Demos/data'\n",
"sys.path.append(madlib_site_dir)\n",
"\n",
"# Import image loader module\n",
"from madlib_image_loader import ImageLoader, DbCredentials"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"# Specify database credentials, for connecting to db\n",
"db_creds = DbCredentials(user='gpadmin',\n",
" host='localhost',\n",
" port='8000',\n",
" password='')"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"# Initialize ImageLoader (increase num_workers to run faster)\n",
"iloader = ImageLoader(num_workers=5, db_creds=db_creds)"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"MainProcess: Connected to madlib db.\n",
"Executing: CREATE TABLE train_mnist (id SERIAL, x REAL[], y TEXT)\n",
"CREATE TABLE\n",
"Created table train_mnist in madlib db\n",
"Spawning 5 workers...\n",
"Initializing PoolWorker-11 [pid 34068]\n",
"PoolWorker-11: Created temporary directory /tmp/madlib_RbuQlbqxI5\n",
"Initializing PoolWorker-12 [pid 34069]\n",
"PoolWorker-12: Created temporary directory /tmp/madlib_tEyH9GMFGV\n",
"Initializing PoolWorker-13 [pid 34070]\n",
"PoolWorker-13: Created temporary directory /tmp/madlib_TyYs4viAVD\n",
"Initializing PoolWorker-14 [pid 34071]\n",
"Initializing PoolWorker-15 [pid 34072]\n",
"PoolWorker-14: Created temporary directory /tmp/madlib_KTwnncRsaq\n",
"PoolWorker-15: Created temporary directory /tmp/madlib_jtG9zAC8HU\n",
"PoolWorker-11: Connected to madlib db.\n",
"PoolWorker-13: Connected to madlib db.\n",
"PoolWorker-14: Connected to madlib db.\n",
"PoolWorker-12: Connected to madlib db.\n",
"PoolWorker-15: Connected to madlib db.\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0000.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0000.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0000.tmp\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0000.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0000.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0001.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0001.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0001.tmp\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0001.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0001.tmp\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0002.tmp\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0002.tmp\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0002.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0002.tmp\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0002.tmp\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0003.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0003.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0003.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0003.tmp\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0003.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0004.tmp\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0004.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0004.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0004.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0004.tmp\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0005.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0005.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0005.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0005.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0005.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0006.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0006.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0006.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0006.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0006.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0007.tmp\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0007.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0007.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0007.tmp\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0007.tmp\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0008.tmp\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0008.tmp\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0008.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0008.tmp\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0008.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0009.tmp\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0009.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0009.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0009.tmp\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0009.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0010.tmp\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0010.tmp\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0010.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0010.tmp\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0010.tmp\n",
"PoolWorker-13: Wrote 1000 images to /tmp/madlib_TyYs4viAVD/train_mnist0011.tmp\n",
"PoolWorker-11: Wrote 1000 images to /tmp/madlib_RbuQlbqxI5/train_mnist0011.tmp\n",
"PoolWorker-14: Wrote 1000 images to /tmp/madlib_KTwnncRsaq/train_mnist0011.tmp\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"PoolWorker-12: Wrote 1000 images to /tmp/madlib_tEyH9GMFGV/train_mnist0011.tmp\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-13: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Loaded 1000 images into train_mnist\n",
"PoolWorker-14: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Wrote 1000 images to /tmp/madlib_jtG9zAC8HU/train_mnist0011.tmp\n",
"PoolWorker-12: Loaded 1000 images into train_mnist\n",
"PoolWorker-15: Loaded 1000 images into train_mnist\n",
"PoolWorker-11: Removed temporary directory /tmp/madlib_RbuQlbqxI5\n",
"PoolWorker-15: Removed temporary directory /tmp/madlib_jtG9zAC8HU\n",
"PoolWorker-12: Removed temporary directory /tmp/madlib_tEyH9GMFGV\n",
"PoolWorker-13: Removed temporary directory /tmp/madlib_TyYs4viAVD\n",
"PoolWorker-14: Removed temporary directory /tmp/madlib_KTwnncRsaq\n",
"Done! Loaded 60000 images in 45.7068669796s\n",
"5 workers terminated.\n",
"MainProcess: Connected to madlib db.\n",
"Executing: CREATE TABLE test_mnist (id SERIAL, x REAL[], y TEXT)\n",
"CREATE TABLE\n",
"Created table test_mnist in madlib db\n",
"Spawning 5 workers...\n",
"Initializing PoolWorker-16 [pid 34074]\n",
"PoolWorker-16: Created temporary directory /tmp/madlib_MjwU1yRoMW\n",
"Initializing PoolWorker-17 [pid 34075]\n",
"PoolWorker-17: Created temporary directory /tmp/madlib_kTezv88uWu\n",
"Initializing PoolWorker-18 [pid 34076]\n",
"PoolWorker-18: Created temporary directory /tmp/madlib_TFIofbewK1\n",
"Initializing PoolWorker-19 [pid 34077]\n",
"PoolWorker-19: Created temporary directory /tmp/madlib_QUIRxlckvj\n",
"PoolWorker-20: Created temporary directory /tmp/madlib_Eii5YFUzCZ\n",
"Initializing PoolWorker-20 [pid 34078]\n",
"PoolWorker-17: Connected to madlib db.\n",
"PoolWorker-18: Connected to madlib db.\n",
"PoolWorker-19: Connected to madlib db.\n",
"PoolWorker-16: Connected to madlib db.\n",
"PoolWorker-20: Connected to madlib db.\n",
"PoolWorker-18: Wrote 1000 images to /tmp/madlib_TFIofbewK1/test_mnist0000.tmp\n",
"PoolWorker-19: Wrote 1000 images to /tmp/madlib_QUIRxlckvj/test_mnist0000.tmp\n",
"PoolWorker-17: Wrote 1000 images to /tmp/madlib_kTezv88uWu/test_mnist0000.tmp\n",
"PoolWorker-16: Wrote 1000 images to /tmp/madlib_MjwU1yRoMW/test_mnist0000.tmp\n",
"PoolWorker-20: Wrote 1000 images to /tmp/madlib_Eii5YFUzCZ/test_mnist0000.tmp\n",
"PoolWorker-18: Loaded 1000 images into test_mnist\n",
"PoolWorker-17: Loaded 1000 images into test_mnist\n",
"PoolWorker-19: Loaded 1000 images into test_mnist\n",
"PoolWorker-18: Wrote 1000 images to /tmp/madlib_TFIofbewK1/test_mnist0001.tmp\n",
"PoolWorker-16: Loaded 1000 images into test_mnist\n",
"PoolWorker-20: Loaded 1000 images into test_mnist\n",
"PoolWorker-18: Loaded 1000 images into test_mnist\n",
"PoolWorker-19: Wrote 1000 images to /tmp/madlib_QUIRxlckvj/test_mnist0001.tmp\n",
"PoolWorker-17: Wrote 1000 images to /tmp/madlib_kTezv88uWu/test_mnist0001.tmp\n",
"PoolWorker-16: Wrote 1000 images to /tmp/madlib_MjwU1yRoMW/test_mnist0001.tmp\n",
"PoolWorker-20: Wrote 1000 images to /tmp/madlib_Eii5YFUzCZ/test_mnist0001.tmp\n",
"PoolWorker-19: Loaded 1000 images into test_mnist\n",
"PoolWorker-17: Loaded 1000 images into test_mnist\n",
"PoolWorker-16: Loaded 1000 images into test_mnist\n",
"PoolWorker-20: Loaded 1000 images into test_mnist\n",
"PoolWorker-16: Removed temporary directory /tmp/madlib_MjwU1yRoMW\n",
"PoolWorker-19: Removed temporary directory /tmp/madlib_QUIRxlckvj\n",
"PoolWorker-17: Removed temporary directory /tmp/madlib_kTezv88uWu\n",
"PoolWorker-20: Removed temporary directory /tmp/madlib_Eii5YFUzCZ\n",
"PoolWorker-18: Removed temporary directory /tmp/madlib_TFIofbewK1\n",
"Done! Loaded 10000 images in 6.80017995834s\n",
"5 workers terminated.\n"
]
}
],
"source": [
"# Drop tables\n",
"%sql DROP TABLE IF EXISTS train_mnist, test_mnist\n",
"\n",
"# Save images to temporary directories and load into database\n",
"iloader.load_dataset_from_np(x_train, y_train, 'train_mnist', append=False)\n",
"iloader.load_dataset_from_np(x_test, y_test, 'test_mnist', append=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"image_preproc\"></a>\n",
"# 3. Call image preprocessor\n",
"\n",
"Transforms from one image per row to multiple images per row for batch optimization. Also normalizes and one-hot encodes.\n",
"\n",
"Training dataset"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>source_table</th>\n",
" <th>output_table</th>\n",
" <th>dependent_varname</th>\n",
" <th>independent_varname</th>\n",
" <th>dependent_vartype</th>\n",
" <th>class_values</th>\n",
" <th>buffer_size</th>\n",
" <th>normalizing_const</th>\n",
" <th>num_classes</th>\n",
" </tr>\n",
" <tr>\n",
" <td>train_mnist</td>\n",
" <td>train_mnist_packed</td>\n",
" <td>y</td>\n",
" <td>x</td>\n",
" <td>text</td>\n",
" <td>[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']</td>\n",
" <td>1000</td>\n",
" <td>255.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'train_mnist', u'train_mnist_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9'], 1000, 255.0, 10)]"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS train_mnist_packed, train_mnist_packed_summary;\n",
"\n",
"SELECT madlib.training_preprocessor_dl('train_mnist', -- Source table\n",
" 'train_mnist_packed', -- Output table\n",
" 'y', -- Dependent variable\n",
" 'x', -- Independent variable\n",
" 1000, -- Buffer size\n",
" 255 -- Normalizing constant\n",
" );\n",
"\n",
"SELECT * FROM train_mnist_packed_summary;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Test dataset"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>source_table</th>\n",
" <th>output_table</th>\n",
" <th>dependent_varname</th>\n",
" <th>independent_varname</th>\n",
" <th>dependent_vartype</th>\n",
" <th>class_values</th>\n",
" <th>buffer_size</th>\n",
" <th>normalizing_const</th>\n",
" <th>num_classes</th>\n",
" </tr>\n",
" <tr>\n",
" <td>test_mnist</td>\n",
" <td>test_mnist_packed</td>\n",
" <td>y</td>\n",
" <td>x</td>\n",
" <td>text</td>\n",
" <td>[u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9']</td>\n",
" <td>5000</td>\n",
" <td>255.0</td>\n",
" <td>10</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'test_mnist', u'test_mnist_packed', u'y', u'x', u'text', [u'0', u'1', u'2', u'3', u'4', u'5', u'6', u'7', u'8', u'9'], 5000, 255.0, 10)]"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS test_mnist_packed, test_mnist_packed_summary;\n",
"\n",
"SELECT madlib.validation_preprocessor_dl('test_mnist', -- Source table\n",
" 'test_mnist_packed', -- Output table\n",
" 'y', -- Dependent variable\n",
" 'x', -- Independent variable\n",
" 'train_mnist_packed' -- Training preproc table\n",
" );\n",
"\n",
"SELECT * FROM test_mnist_packed_summary;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"define_and_load_model\"></a>\n",
"# 4. Define and load model architecture\n",
"\n",
"Model with feature and classification layers trainable"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_3 (Conv2D) (None, 26, 26, 32) 320 \n",
"_________________________________________________________________\n",
"activation_5 (Activation) (None, 26, 26, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_4 (Conv2D) (None, 24, 24, 32) 9248 \n",
"_________________________________________________________________\n",
"activation_6 (Activation) (None, 24, 24, 32) 0 \n",
"_________________________________________________________________\n",
"max_pooling2d_2 (MaxPooling2 (None, 12, 12, 32) 0 \n",
"_________________________________________________________________\n",
"dropout_3 (Dropout) (None, 12, 12, 32) 0 \n",
"_________________________________________________________________\n",
"flatten_2 (Flatten) (None, 4608) 0 \n",
"_________________________________________________________________\n",
"dense_3 (Dense) (None, 128) 589952 \n",
"_________________________________________________________________\n",
"activation_7 (Activation) (None, 128) 0 \n",
"_________________________________________________________________\n",
"dropout_4 (Dropout) (None, 128) 0 \n",
"_________________________________________________________________\n",
"dense_4 (Dense) (None, 10) 1290 \n",
"_________________________________________________________________\n",
"activation_8 (Activation) (None, 10) 0 \n",
"=================================================================\n",
"Total params: 600,810\n",
"Trainable params: 600,810\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"# define two groups of layers: feature (convolutions) and classification (dense)\n",
"feature_layers = [\n",
" Conv2D(filters, kernel_size,\n",
" padding='valid',\n",
" input_shape=input_shape),\n",
" Activation('relu'),\n",
" Conv2D(filters, kernel_size),\n",
" Activation('relu'),\n",
" MaxPooling2D(pool_size=pool_size),\n",
" Dropout(0.25),\n",
" Flatten(),\n",
"]\n",
"\n",
"classification_layers = [\n",
" Dense(128),\n",
" Activation('relu'),\n",
" Dropout(0.5),\n",
" Dense(num_classes),\n",
" Activation('softmax')\n",
"]\n",
"\n",
"# create complete model\n",
"model = Sequential(feature_layers + classification_layers)\n",
"\n",
"model.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load into model architecture table using psycopg2"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>model_id</th>\n",
" <th>name</th>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>feature + classification layers trainable</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(1, u'feature + classification layers trainable')]"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql DROP TABLE IF EXISTS model_arch_table_mnist;\n",
"query = \"SELECT madlib.load_keras_model('model_arch_table_mnist', %s, NULL, %s)\"\n",
"cur.execute(query,[model.to_json(), \"feature + classification layers trainable\"])\n",
"conn.commit()\n",
"\n",
"# check model loaded OK\n",
"%sql SELECT model_id, name FROM model_arch_table_mnist;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"hyperband\"></a>\n",
"# 5. Hyperband"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create tables"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"Done.\n",
"Done.\n",
"Done.\n",
"Done.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"Done.\n",
"Done.\n",
"Done.\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"-- overall results table\n",
"DROP TABLE IF EXISTS results_mnist;\n",
"CREATE TABLE results_mnist ( \n",
" mst_key INTEGER, -- note not SERIAL\n",
" model_id INTEGER, \n",
" compile_params TEXT,\n",
" fit_params TEXT, \n",
" model_type TEXT, \n",
" model_size DOUBLE PRECISION, \n",
" metrics_elapsed_time DOUBLE PRECISION[], \n",
" metrics_type TEXT[], \n",
" training_metrics_final DOUBLE PRECISION, \n",
" training_loss_final DOUBLE PRECISION, \n",
" training_metrics DOUBLE PRECISION[], \n",
" training_loss DOUBLE PRECISION[], \n",
" validation_metrics_final DOUBLE PRECISION, \n",
" validation_loss_final DOUBLE PRECISION, \n",
" validation_metrics DOUBLE PRECISION[], \n",
" validation_loss DOUBLE PRECISION[], \n",
" model_arch_table TEXT, \n",
" num_iterations INTEGER, \n",
" start_training_time TIMESTAMP, \n",
" end_training_time TIMESTAMP,\n",
" s INTEGER, \n",
" i INTEGER,\n",
" run_id SERIAL\n",
" );\n",
"\n",
"-- model selection table\n",
"DROP TABLE IF EXISTS mst_table_hb_mnist;\n",
"CREATE TABLE mst_table_hb_mnist (\n",
" mst_key SERIAL, \n",
" s INTEGER, -- bracket\n",
" model_id INTEGER, \n",
" compile_params VARCHAR, \n",
" fit_params VARCHAR\n",
" );\n",
"\n",
"-- model selection summary table\n",
"DROP TABLE IF EXISTS mst_table_hb_mnist_summary;\n",
"CREATE TABLE mst_table_hb_mnist_summary (model_arch_table VARCHAR);\n",
"INSERT INTO mst_table_hb_mnist_summary VALUES ('model_arch_table_mnist');\n",
"\n",
"-- model selection table for diagonal\n",
"DROP TABLE IF EXISTS mst_diag_table_hb_mnist;\n",
"CREATE TABLE mst_diag_table_hb_mnist (\n",
" mst_key INTEGER, -- note not SERIAL since this table derived from main model selection table\n",
" s INTEGER, -- bracket\n",
" model_id INTEGER, \n",
" compile_params VARCHAR, \n",
" fit_params VARCHAR\n",
" );\n",
"\n",
"-- model selection summary table for diagonal\n",
"DROP TABLE IF EXISTS mst_diag_table_hb_mnist_summary;\n",
"CREATE TABLE mst_diag_table_hb_mnist_summary (model_arch_table VARCHAR);\n",
"INSERT INTO mst_diag_table_hb_mnist_summary VALUES ('model_arch_table_mnist');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Table names"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"results_table = 'results_mnist'\n",
"\n",
"output_table = 'mnist_multi_model'\n",
"output_table_info = '_'.join([output_table, 'info'])\n",
"output_table_summary = '_'.join([output_table, 'summary'])\n",
"\n",
"mst_table = 'mst_table_hb_mnist'\n",
"mst_table_summary = '_'.join([mst_table, 'summary'])\n",
"\n",
"mst_diag_table = 'mst_diag_table_hb_mnist'\n",
"mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
"\n",
"model_arch_table = 'model_arch_library_mnist'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hyperband diagonal"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from random import random\n",
"from math import log, ceil\n",
"from time import time, ctime\n",
"\n",
"class Hyperband_diagonal:\n",
" \n",
" def __init__( self, get_params_function, try_params_function ):\n",
" self.get_params = get_params_function\n",
" self.try_params = try_params_function\n",
"\n",
" self.max_iter = 9 # maximum iterations per configuration\n",
" self.eta = 3 # defines configuration downsampling rate (default = 3)\n",
"\n",
" self.logeta = lambda x: log( x ) / log( self.eta )\n",
" self.s_max = int( self.logeta( self.max_iter ))\n",
" self.B = ( self.s_max + 1 ) * self.max_iter\n",
" self.setup_full_schedule()\n",
" self.create_mst_superset()\n",
" \n",
" # create full Hyperband schedule for all brackets\n",
" def setup_full_schedule(self):\n",
" self.n_vals = np.zeros((self.s_max+1, self.s_max+1), dtype=int)\n",
" self.r_vals = np.zeros((self.s_max+1, self.s_max+1), dtype=int)\n",
" sum_leaf_n_i = 0 # count configurations at leaf nodes across all s\n",
"\n",
" #### Begin Finite Horizon Hyperband outlerloop. Repeat indefinitely.\n",
" for s in reversed(range(self.s_max+1)):\n",
"\n",
" print (\" \")\n",
" print (\"Hyperband brackets\")\n",
" print (\" \")\n",
" print (\"s=\" + str(s))\n",
" print (\"n_i r_i\")\n",
" print (\"------------\")\n",
" counter = 0\n",
"\n",
" n = int(ceil(int(self.B/self.max_iter/(s+1))*self.eta**s)) # initial number of configurations\n",
" r = self.max_iter*self.eta**(-s) # initial number of iterations to run configurations for\n",
"\n",
" #### Begin Finite Horizon Successive Halving with (n,r)\n",
" #T = [ get_random_hyperparameter_configuration() for i in range(n) ] \n",
" for i in range(s+1):\n",
" # Run each of the n_i configs for r_i iterations and keep best n_i/eta\n",
" n_i = n*self.eta**(-i)\n",
" r_i = r*self.eta**(i)\n",
"\n",
" self.n_vals[s][i] = n_i\n",
" self.r_vals[s][i] = r_i\n",
"\n",
" print (str(n_i) + \" \" + str (r_i))\n",
"\n",
" # check if leaf node for this s\n",
" if counter == s:\n",
" sum_leaf_n_i += n_i\n",
" counter += 1\n",
"\n",
" #val_losses = [ run_then_return_val_loss(num_iters=r_i,hyperparameters=t) for t in T ]\n",
" #T = [ T[i] for i in argsort(val_losses)[0:int( n_i/eta )] ]\n",
" #### End Finite Horizon Successive Halving with (n,r)\n",
"\n",
" #print (\" \")\n",
" #print (\"sum of configurations at leaf nodes across all s = \" + str(sum_leaf_n_i))\n",
" #print (\"(if have more workers than this, they may not be 100% busy)\")\n",
" \n",
" # generate model selection tuples for all brackets\n",
" def create_mst_superset(self):\n",
" # get hyper parameter configs for each bracket s\n",
" for s in reversed(range(self.s_max+1)):\n",
" n = int(ceil(int(self.B/self.max_iter/(s+1))*self.eta**s)) # initial number of configurations\n",
" r = self.max_iter*self.eta**(-s) # initial number of iterations to run configurations for\n",
"\n",
" \n",
" print (\" \")\n",
" print (\"Create superset of MSTs, i.e., i=0 for for each bracket s\")\n",
" print (\" \")\n",
" print (\"s=\" + str(s))\n",
" print (\"n=\" + str(n))\n",
" print (\"r=\" + str(r))\n",
" print (\" \")\n",
" \n",
" # n random configurations for each bracket s\n",
" self.get_params(n, s)\n",
" \n",
" \n",
" # run Hyperband diagonal logic\n",
" # can be called multiple times\n",
" def run( self, skip_last = 0, dry_run = False ): \n",
" print (\"outer loop on diagonal:\")\n",
" # outer loop on diagonal\n",
" for i in range(self.s_max+1):\n",
" print (\" \")\n",
" print (\"i=\" + str(i))\n",
" \n",
" # zero out diagonal table\n",
" %sql TRUNCATE TABLE $mst_diag_table\n",
" \n",
" # loop on brackets s desc to create diagonal table\n",
" print (\"loop on s desc to create diagonal table:\")\n",
" for s in range(self.s_max, self.s_max-i-1, -1):\n",
"\n",
" # build up mst table for diagonal\n",
" %sql INSERT INTO $mst_diag_table (SELECT * FROM $mst_table WHERE s=$s);\n",
" \n",
" # multi-model training\n",
" print (\"try params for i = \" + str(i))\n",
" U = self.try_params(i, self.r_vals[self.s_max][i]) # r_i is the same for all diagonal elements\n",
"\n",
" # select a number of best configurations for the next loop\n",
" # filter out early stops, if any\n",
" \n",
" # loop on brackets s desc to prune model selection table\n",
" print (\"loop on s desc to prune mst table:\")\n",
" for s in range(self.s_max, self.s_max-i-1, -1):\n",
" \n",
" k = int( self.n_vals[s][i] / self.eta)\n",
" \n",
" # temporarily re-run table names again due to weird scope issues\n",
" results_table = 'results_mnist'\n",
"\n",
" output_table = 'mnist_multi_model'\n",
" output_table_info = '_'.join([output_table, 'info'])\n",
" output_table_summary = '_'.join([output_table, 'summary'])\n",
"\n",
" mst_table = 'mst_table_hb_mnist'\n",
" mst_table_summary = '_'.join([mst_table, 'summary'])\n",
"\n",
" mst_diag_table = 'mst_diag_table_hb_mnist'\n",
" mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
"\n",
" model_arch_table = 'model_arch_library_mnist'\n",
" \n",
" query = \"\"\"\n",
" DELETE FROM {mst_table} WHERE s={s} AND mst_key NOT IN (SELECT {output_table_info}.mst_key FROM {output_table_info} JOIN {mst_table} ON {output_table_info}.mst_key={mst_table}.mst_key WHERE s={s} ORDER BY validation_loss_final ASC LIMIT {k}::INT);\n",
" \"\"\".format(**locals())\n",
" cur.execute(query)\n",
" conn.commit()\n",
" #%sql DELETE FROM $mst_table WHERE mst_key NOT IN (SELECT mst_key FROM $output_table_info WHERE s=$s ORDER BY validation_loss_final ASC LIMIT $k::INT);\n",
"# %sql DELETE FROM $mst_table WHERE s={0} AND mst_key NOT IN (SELECT $output_table_info.mst_key FROM $output_table_info JOIN $mst_table ON $output_table_info.mst_key=$mst_table.mst_key WHERE s=$s ORDER BY validation_loss_final ASC LIMIT $k::INT);\n",
" #%sql DELETE FROM mst_table_hb_mnist WHERE s=1 AND mst_key NOT IN (SELECT mnist_multi_model_info.mst_key FROM mnist_multi_model_info JOIN mst_table_hb_mnist ON mnist_multi_model_info.mst_key=mst_table_hb_mnist.mst_key WHERE s=1 ORDER BY validation_loss_final ASC LIMIT 1);\n",
" return"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"def get_params(n, s):\n",
" \n",
" from sklearn.model_selection import ParameterSampler\n",
" from scipy.stats.distributions import uniform\n",
" import numpy as np\n",
" \n",
" # model architecture\n",
" model_id = [1]\n",
"\n",
" # compile params\n",
" # loss function\n",
" loss = ['categorical_crossentropy']\n",
" # optimizer\n",
" optimizer = ['Adam', 'SGD']\n",
" # learning rate (sample on log scale here not in ParameterSampler)\n",
" lr_range = [0.001, 0.1]\n",
" lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n)\n",
" # metrics\n",
" metrics = ['accuracy']\n",
"\n",
" # fit params\n",
" # batch size\n",
" batch_size = [64, 128]\n",
" # epochs\n",
" epochs = [1]\n",
"\n",
" # create random param list\n",
" param_grid = {\n",
" 'model_id': model_id,\n",
" 'loss': loss,\n",
" 'optimizer': optimizer,\n",
" 'lr': lr,\n",
" 'metrics': metrics,\n",
" 'batch_size': batch_size,\n",
" 'epochs': epochs\n",
" }\n",
" param_list = list(ParameterSampler(param_grid, n_iter=n))\n",
" \n",
" for params in param_list:\n",
"\n",
" model_id = str(params.get(\"model_id\"))\n",
" compile_params = \"$$loss='\" + str(params.get(\"loss\")) + \"',optimizer='\" + str(params.get(\"optimizer\")) + \"(lr=\" + str(params.get(\"lr\")) + \")',metrics=['\" + str(params.get(\"metrics\")) + \"']$$\" \n",
" fit_params = \"$$batch_size=\" + str(params.get(\"batch_size\")) + \",epochs=\" + str(params.get(\"epochs\")) + \"$$\" \n",
" row_content = \"(\" + str(s) + \", \" + model_id + \", \" + compile_params + \", \" + fit_params + \");\"\n",
" \n",
" %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
" \n",
" return"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"def try_params(i, r):\n",
" \n",
" # multi-model fit\n",
" # TO DO: use warm start to continue from where left off after if not 1st time thru for this s value\n",
" %sql DROP TABLE IF EXISTS $output_table, $output_table_summary, $output_table_info;\n",
" \n",
" # passing vars as madlib args does not seem to work\n",
" #%sql SELECT madlib.madlib_keras_fit_multiple_model('train_mnist_packed', $output_table, $mst_diag_table, $r_i::INT, 0);\n",
" %sql SELECT madlib.madlib_keras_fit_multiple_model('train_mnist_packed', 'mnist_multi_model', 'mst_diag_table_hb_mnist', $r::INT, 0, 'test_mnist_packed');\n",
" \n",
" # save results via temp table\n",
" # add everything from info table\n",
" %sql DROP TABLE IF EXISTS temp_results;\n",
" %sql CREATE TABLE temp_results AS (SELECT * FROM $output_table_info);\n",
" \n",
" # add summary table info and i value (same for each row)\n",
" %sql ALTER TABLE temp_results ADD COLUMN model_arch_table TEXT, ADD COLUMN num_iterations INTEGER, ADD COLUMN start_training_time TIMESTAMP, ADD COLUMN end_training_time TIMESTAMP, ADD COLUMN s INTEGER, ADD COLUMN i INTEGER;\n",
" %sql UPDATE temp_results SET model_arch_table = (SELECT model_arch_table FROM $output_table_summary), num_iterations = (SELECT num_iterations FROM $output_table_summary), start_training_time = (SELECT start_training_time FROM $output_table_summary), end_training_time = (SELECT end_training_time FROM $output_table_summary), i = $i;\n",
" \n",
" # get the s value for each run (not the same for each row since diagonal table crosses multiple brackets)\n",
" %sql UPDATE temp_results SET s = m.s FROM mst_diag_table_hb_mnist AS m WHERE m.mst_key = temp_results.mst_key;\n",
" \n",
" # copy temp table into results table\n",
" %sql INSERT INTO $results_table (SELECT * FROM temp_results);\n",
"\n",
" return"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" \n",
"Hyperband brackets\n",
" \n",
"s=2\n",
"n_i r_i\n",
"------------\n",
"9 1.0\n",
"3.0 3.0\n",
"1.0 9.0\n",
" \n",
"Hyperband brackets\n",
" \n",
"s=1\n",
"n_i r_i\n",
"------------\n",
"3 3.0\n",
"1.0 9.0\n",
" \n",
"Hyperband brackets\n",
" \n",
"s=0\n",
"n_i r_i\n",
"------------\n",
"3 9\n",
" \n",
"Create superset of MSTs, i.e., i=0 for for each bracket s\n",
" \n",
"s=2\n",
"n=9\n",
"r=1.0\n",
" \n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
" \n",
"Create superset of MSTs, i.e., i=0 for for each bracket s\n",
" \n",
"s=1\n",
"n=3\n",
"r=3.0\n",
" \n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
" \n",
"Create superset of MSTs, i.e., i=0 for for each bracket s\n",
" \n",
"s=0\n",
"n=3\n",
"r=9\n",
" \n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"outer loop on diagonal:\n",
" \n",
"i=0\n",
"Done.\n",
"loop on s desc to create diagonal table:\n",
"9 rows affected.\n",
"try params for i = 0\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"9 rows affected.\n",
"Done.\n",
"9 rows affected.\n",
"9 rows affected.\n",
"9 rows affected.\n",
"loop on s desc to prune mst table:\n",
" \n",
"i=1\n",
"Done.\n",
"loop on s desc to create diagonal table:\n",
"3 rows affected.\n",
"3 rows affected.\n",
"try params for i = 1\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"6 rows affected.\n",
"Done.\n",
"6 rows affected.\n",
"6 rows affected.\n",
"6 rows affected.\n",
"loop on s desc to prune mst table:\n",
" \n",
"i=2\n",
"Done.\n",
"loop on s desc to create diagonal table:\n",
"1 rows affected.\n",
"0 rows affected.\n",
"3 rows affected.\n",
"try params for i = 2\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"4 rows affected.\n",
"Done.\n",
"4 rows affected.\n",
"4 rows affected.\n",
"4 rows affected.\n",
"loop on s desc to prune mst table:\n"
]
}
],
"source": [
"hp = Hyperband_diagonal(get_params, try_params )\n",
"results = hp.run()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"plot\"></a>\n",
"# 6. Plot results"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib notebook\n",
"import matplotlib.pyplot as plt\n",
"from matplotlib.ticker import MaxNLocator\n",
"from collections import defaultdict\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"sns.set_palette(sns.color_palette(\"hls\", 20))\n",
"plt.rcParams.update({'font.size': 12})\n",
"pd.set_option('display.max_colwidth', -1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Training dataset"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"15 rows affected.\n"
]
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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gXyZD4bGNVu6cOh06851b7NlqP4iIAIiIAJDQ0B2XQ93O5+vA9klhbLrBhLiLFua9ghtShZOoD1CT60TTjjBeKntvffefS4yptagHcZqqfT05+c+7c7q6mrjZccCDSxIkNxo67BoFb3reB4WKKAdT1uHtgxvbNL2Sa2yavcK5xzo5cZwXwqMVu5choDyRiI98VLDVnl+2tNMcWN9j+ANX9rTjECxBEenhDhGtDDiwWrMRbzffvsNuETafLSZ//73v5sIGN7IpmhIm5H2PwU4ioqW6DnggOogAg4SyEZEy3TabMaQEOfg5mkoERAB5wjQOKLbOhu94jKFETp3Ro0kAiIgAiIgAiIgAiJQCAKy6wpBVWOKgAg4RSAbEU1CnFPUNY4IiIDrCLAaEz0ErWqXrpugJiQCIiACIiACIiACImCLgOw6W5jUSQREYIgISIgbIvA6rQiIwOAS4J3RW2+9Fcy9sf/++3e72TOslGG6LCDAxsqczEOmJgIiIAIiIAIiIAIi4E4CsuvcuS+alQiIgD0CDE9noZVcUvXwDMztzjyVzHXOFEUDNYWmDkRIr4uACBSEwAsvvGDyVliNCfuZJ43FK6zGBPsU5dREQAREQAREQAREQATcS0B2nXv3RjMTAREYmEB9fb3J9U0RLdtCKxyduRo3bNhg8h5OmTJlwBNKiBsQkTqIgAgUgsDOnTtNxSUmbOXdA1beZDJ9JvpnwtbLLrusl1BXiDloTBEQAREQAREQAREQgfwJyK7Ln6FGEAERGDoCrE68ceNGU0SOQppdMY5edCwos3XrVuNRxwJxZWVlAy5EQtyAiNRBBERABERABERABERABERABERABERABERgOBJgaCmrIO/atcssr6SkZMDqxzyms7PT9Ge135qaGjDKy06TEGeHkvqIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAgMSwIU1hieSu84pkziv/trFN+YE66iogJVVVW2veiMcBcfaPRhiViLEgEREAEREAEREAEREAEREAEREAEREAEREIHBJSAhbnB562wiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIAIjlICEuKSNb2xsxN/+9jfbCfZG6DWjZYuACIiACIiACKQQYMXndevW4eSTT8aECRPEJ08CssnyBKjDRUAEREAERGAEE3C7XSYhLunivPfee3H++eeP4MtVSxcBERABERABEciHwD333IPzzjsvnyF0LADZZLoMREAEREAEREAE8iXgVrtMQlzSzr744os4+uijwc1asGBBvnuu40VABERABERABEYIgeXLl5ubeS+88AKOOuqoEbLqwi1TNlnh2GpkERABERABERjuBNxul0mIS7oC33jjDRx88MF4/fXXcdBBBw33a1PrEwEREAEREAERcIiAbAiHQHYNI57O8tRoIiACIiACIjCSCLjdjpAQJyFuJL0ftVYREAEREAERKAgBtxt8BVl0AQcVzwLC1dAiIAIiIAIiMMwJuN2OkBAnIW6YvwW1PBEQAREQAREoPAG3G3yFJ+DsGcTTWZ4aTQREQAREQARGEgG32xES4iTEjaT3o9YqAiIgAiIgAgUh4HaDryCLLuCg4llAuBpaBERABERABIY5AbfbEVkJccyd9uSTT2LZsmXmsXHjRrN98Xg8p23cuXMnFi1ahEcffRRbtmxBTU0NzjzzTPO7MWPGpB0zGo3illtuwR133IFVq1ahsrISxx9/PK6//vq8Cyy4fbNygqyDREAEREAEREAECk5ANoSziMXTWZ4aTQREQAREQARGEgG32xFZCXGf/vSn8Yc//KHP/uUixDU2NuKII44wYtqsWbNwyCGH4L333jOPPffcEy+//DLGjRvX61yxWAxnn302fv/73xuh7mMf+xg4znPPPYeysjI8/fTTOOyww3K+vty+WTkvTAeKgAiIgAiIgAgUlIBsCGfxiqezPDWaCIiACIiACIwkAm63I7IS4pYsWYLW1lYceuih5jFz5kyEQqGcPOLOP/983HvvvfjMZz6DBx54AD6fz1wX3/jGN/DTn/4UF154Ie68885e18rtt9+OSy+9FHPnzsXzzz+PSZMmmdcffvhhI9DNmTMHLFNrjZXtheb2zcp2PeovAiIgAiIgAiIwOARkQzjLWTyd5anRREAEREAERGAkEXC7HZGVEJe6ccFgMCchbvPmzaitrTWC2YYNG7oFNY5PYW/atGnYsWMHNm3ahOrq6u7T7rXXXkZoo0ccvfOS2xlnnIHHHnsMDz30EM4666ycrjG3b1ZOi9JBIiACIiACIiACBScgG8JZxOLpLE+NJgIiIAIiIAIjiYDb7YghEeJ+85vf4JJLLjGhpU899VSf6+FLX/qSyQHHfhdddJF5fe3atSaElSGou3fvRmlpaa/j7r77blxwwQVpPensXnBu3yy761A/ERABERABERCBwSUgG8JZ3uLpLE+NJgIiIAIiIAIjiYDb7YghEeIuv/xy3Hzzzbjiiivwwx/+sM/18POf/xxf+9rX8K1vfQs33XSTeZ0FHVjIgSGxLBSR2phbbp999sGBBx4IQs+luX2zclmTjhEBES9f75wAACAASURBVBABERABESg8AdkQzjIWT2d5ajQREAEREAERGEkE3G5HDIkQx7xwDC+lGMeccKmNBSEYesp+zP/Gxkqp3/zmN40Y98gjj/Q5hl5yLODAAg/bt2/P6Rpz+2bltCgdJAIiIAIiIAIiUHACsiGcRSyezvLUaCIgAiIgAiIwkgi43Y4YEiHupJNOwpNPPonbbrsNX/7yl/tcDwxX/fjHP24eTzzxhHn9hhtuwNVXX43zzjsP99xzT59jOjs7TbgqH+FweMBrjHnq+EhuzD/HIhKvv/46DjrooAHHUAcREAEREAEREAERIAG3G3zFtkviWWw7pvmKgAiIgAiIgHsIuN2OGLFC3KJFi3D99denvVIkxLnnDaSZiIAIiIAIiEAxEHC7wVcMDJPnKJ7FtmOarwiIgAiIgAi4h4Db7YghEeLcEJoqjzj3vEk0ExEQAREQAREodgJuN/iKja94FtuOab4iIAIiIAIi4B4CbrcjhkSIU7EG91ygmokIiIAIiIAIiED+BNxu8OW/wsEdQTwHl7fOJgIiIAIiIALDiYDb7YghEeJ+85vf4JJLLsHHPvYxMB9cavvSl76EO+64A+x30UUXmZfXrl2LWbNmoaysDCzMwFxwye3uu+/GBRdcgAsvvBB33nlnTteQ2zcrp0XpIBEQAREQAREQgYITkA3hLGLxdJanRhMBERABERCBkUTA7XbEkAhxDAutra2Fz+dDXV0dqquru6+JUCiEadOmYceOHdi0aVOv1/baay+woAIrrrKqanI744wz8Nhjj+Ghhx7CWWedldM15vbNymlROkgEREAEREAERKDgBGRDOItYPJ3lqdFEQAREQAREYCQRcLsdUVAh7mc/+xn4OPPMM3HjjTf22ndWJ7333nuNaHb//fcbUY7tm9/8Jm655Za0nm233347Lr30UsydOxcvvPBCt0j3yCOPmHHmzJljhDprrGwvNLdvVrbrUX8REAEREAF7BLaF1mN1yzKEY23we8sxp/IwTAjM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IQABCEAAAhAovWoqfhl+GfcGBCAQOgIIcaFjSU8QgECQBEoT4rSriy++WD766CNp3bq1tG/fXuLj4404pgUJtGkEWq9evWTDhg2SkpIibdq0Md+1YqpWHd21a5cRz+66666AhDg9SCuOPvjgg0b469GjhyQlJcnixYtl586dMmjQIHn++edLCHHvvfee2R6r21o1Oq5evXrmeiquaSstIk5f1+2vXbt2NeNXca1z586ye/duIwKq+OdfnVXPQYgLcpFxGgQgAAEIQAACARHAL8MvC2ihcBAEIBA0AYS4oNFxIgQgECoCZTl8KqRpVVHd9qkClYpTAwYMEK0O6m2aPHfChAmiYphuG9WottTUVJNbTYW8K664wkS5aasoIs7bp+ZvGzdunKxevVpq1qwpXbp0MVF3P/74Y5lVSfX4iRMnyrp16yQrK8t0pVF55Qlx+rc9e/bImDFjZNasWbJlyxapVauWdOrUSQYPHmxEPf+GEBeqVUc/EIAABCAAAQiURgC/DL+MOwMCELCWAEKctXzpHQIQgAAEIAABCEAAAhCAAAQgAAEIQAAChgBCHAsBAhCAAAQgAAEIQAACEIAABCAAAQhAAAJhIPD/F3ITClWWsqcAAAAASUVORK5CYII=\" width=\"1000\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n"
]
}
],
"source": [
"#df_results = %sql SELECT * FROM $results_table ORDER BY run_id;\n",
"df_results = %sql SELECT * FROM $results_table ORDER BY training_loss ASC LIMIT 15;\n",
"df_results = df_results.DataFrame()\n",
"\n",
"#set up plots\n",
"fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n",
"fig.legend(ncol=4)\n",
"fig.tight_layout()\n",
"\n",
"ax_metric = axs[0]\n",
"ax_loss = axs[1]\n",
"\n",
"ax_metric.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
"ax_metric.set_xlabel('Iteration')\n",
"ax_metric.set_ylabel('Metric')\n",
"ax_metric.set_title('Training metric curve')\n",
"\n",
"ax_loss.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
"ax_loss.set_xlabel('Iteration')\n",
"ax_loss.set_ylabel('Loss')\n",
"ax_loss.set_title('Training loss curve')\n",
"\n",
"for run_id in df_results['run_id']:\n",
" df_output_info = %sql SELECT training_metrics,training_loss FROM $results_table WHERE run_id = $run_id\n",
" df_output_info = df_output_info.DataFrame()\n",
" training_metrics = df_output_info['training_metrics'][0]\n",
" training_loss = df_output_info['training_loss'][0]\n",
" X = range(len(training_metrics))\n",
" \n",
" ax_metric.plot(X, training_metrics, label=run_id, marker='o')\n",
" ax_loss.plot(X, training_loss, label=run_id, marker='o')\n",
"\n",
"# fig.savefig('./lc_keras_fit.png', dpi = 300)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Validation dataset"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"15 rows affected.\n"
]
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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GO46Of/8840dJpkJ0ViXNg9j3VIE4zF8+EjbhyFZKNrx2NEWhqbhjgHalbSRKFbxuwG97+j9xvGwj+mFuwoYJoUPv2lT0sbhw/hbbrnF6Feu7wNWuGYbB+1n2tEsFM343chKvGQy+8EPfmDYvjyGzge0Pfkdi8w4PnN3yWj56TgRSCdQiIiWi1whbUiI0/oTAREQAREQAREQAREQAREQAREQAREQARGoSAKFiGgS4ipyiWjQIiACIiACIiACIiACIiACIiACIiACIiACdhCQEGcHRbUhAiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAnkIMIQOt44fd9xxo2LFLexM9sLQNvPnz8/bhram5kWkCiIgAiIgAiIgAiIgAiIgAiIgAiIgAiIgAhORAON3M3EJRbT0bMNWx8qEL4wfycQnjNWYr0iIy0dIn4uACIiACIiACIiACIiACIiACIiACIiACExIAkyEyEQuzCRMIc2qGEcvup6enlQyFiZ+Sc+ynAuWhLgJuYw0KBEQAREQAREQAREQAREQAREQAREQAREQgXwEuLW0tbUVHR0dRlWPxwO32z3iYTyGGX1ZmKF4+vTpmDx5cr5TDdRP8mgVERABERABERABERABERABERABERABERABEahAApTGuD2V3nGRSAT5pDKKb4wJV1NTg7q6OstedBLiKnBxacgiIAIiIAIiIAIiIAIiIAIiIAIiIAIiIALjQ0AecePDXWcVAREQAREQAREQAREQAREQAREQAREQARGoMAIS4tIm/NChQ3j44YdhNcBeha0VDVcEREAEREAERCAHgb6+PuzcuROXXnoppk6dKk5FEpBNViRAHS4CIiACIiACFUzA6XaZhLi0xXn33Xfj2muvreDlqqGLgAiIgAiIgAgUQ+Cuu+7CBz/4wWKa0LEAZJNpGYiACIiACIiACBRLwKl2mYS4tJl95plncO6554KTtXTp0mLnXMeLgAiIgAiIgAhUCIHNmzcbD/OefvppnHPOORUy6tINUzZZ6diqZREQAREQARGY6AScbpdJiEtbgS+++CJOO+00rF+/HqeeeupEX5sanwiIgAiIgAiIgE0EZEPYBHKwGfG0l6daEwEREAEREIFKIuB0O0JCnIS4SroeNVYREAEREAERKAkBpxt8JRl0CRsVzxLCVdMiIAIiIAIiMMEJON2OkBAnIW6CX4IangiIgAiIgAiUnoDTDb7SE7D3DOJpL0+1JgIiIAIiIAKVRMDpdoSEOAlxlXQ9aqwiIAIiIAIiUBICTjf4SjLoEjYqniWEq6ZFQAREQAREYIITcLodISFOQtwEvwQ1PBEQAREQAREoPQGnG3ylJ2DvGcTTXp5qTQREQAREQAQqiYDT7f/dagIAACAASURBVAgJcRLiKul61FhFQAREQAREoCQEnG7wlWTQJWxUPEsIV02LgAiIgAiIwAQn4HQ7QkKchLgJfglqeCIgAiIgAiJQegJON/hKT8DeM4invTzVmgiIgAiIgAhUEgGn2xES4iTEVdL1qLGKgAiIgAiIQEkION3gK8mgS9ioeJYQrpoWAREQAREQgQlOwOl2hIQ4CXET/BLU8ERABERABESg9AScbvCVnoC9ZxBPe3mqNREQAREQARGoJAJOtyMkxEmIq6TrUWMVAREQAREQgZIQcLrBV5JBl7BR8SwhXDUtAiIgAiIgAhOcgNPtCAlxEuIm+CWo4YmACIiACIhA6Qk43eArPQF7zyCe9vJUayIgAiIgAiJQSQScbkdIiJMQV0nXo8YqAiIgAiIgAiUh4HSDrySDLmGj4llCuGpaBERABERABCY4AafbERLiJMRN8EtQwxMBERABERCB0hNwusFXegL2nkE87eWp1kRABERABESgkgg43Y6QECchrpKuR41VBERABERABEpCwOkGX0kGXcJGxbOEcNW0CIiACIiACExwAk63IyTESYib4JeghicCIiACIiACpSfgdIOv9ATsPYN42stTrYmACIiACIhAJRFwuh0hIU5CXCVdjxqrCIiACIiACJSEgNMNvpIMuoSNimcJ4appERABERABEZjgBJxuR0iIkxA3wS9BDU8EREAEREAESk/A6QZf6QnYewbxtJenWhMBERABERCBSiLgdDtCQpyEuEq6HjVWERABERCBCiRwMLIL23vWIZoIwesOYmHtmZjqm2srCacbfLYOdgwaKyXP/bsieHVdD8KhBPxBN044sxYz5vrGYFQ6hQiIgAiIgAiIwFgQKKUdYUf/JcRJiLNjHakNERABEShrAmMh1JQ1oDLtfEe0FX9ouwP7wluGjWCmfwkuaVqJyd7ptozO6QafLYMcw0ZKwfNwaxT33tGGnVvCw0Yyb4kf713ZhCnTvWM4Sp1KBERABERABESgFARK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cCEu3iJcjc2DDTvrsLehn0+bc0341qQsvLSvBfubul4vSTfihzNycXxemhpnmn2QAAmQAAmQQNwJyG7wxR3IMAcc7Tw/2+PAml8fUSieOduC639SOEyibE4CJEACJEACo4eA7HYEhbgEFuLiLcJVt3uwcmtlDy+3wR71FH0SFh5nxYKJWTDwGuroeVfkSkmABEggAQnIbvBpDflo5xkMBrH6jirs+8KFpCTgvrvHorBgZGPXae0Mcb4kQAIkQAKjl4DsdkTEQpzT6cTatWvx9NNP4/Dhw7BarZg/fz7WrFmD4uLiiHZ627ZtSl/vvPMObDYbxo4di0svvRS33norzGZzWH2de+652Lx5s1K3oqICJSUlYbXrr5LsmxXJwnqLcGdkWvC/JQXQC2suRmX1G5X9esL1N9zpJRb84MRc5KTxGmqMtoPdkgAJkAAJxJFAItkQccQ24FDkCXy0y45191QrjOadk4Hr/jtfhq3hHEiABEiABEhAegKy2xERCXEulwtz586FENCKiopw9tln49ChQ9i+fTvy8vKUv48fPz6sTXniiSewaNEi+P1+nHzyySgrK8POnTsVcW/atGl46623kJGRMWhfjz76KH74wx8iKSkJ4pNDCnEhXCMhwomYcMs2V4S196LSunNLO2PGhd2IFUmABEiABEhAUgKyG3ySYqMQN8jGCNv21pWVOHjIDb0e+O29ZcjNSdbaVnK+JEACJEACJBB3ArLbZREJccuXL8edd96J2bNn49VXX4XFYlGArl+/HkuXLsWcOXOwdevWISFXVlZi0qRJEMLeI488gmuuuUZp4/F4cPXVV+Opp57Cddddhz/84Q8D9lVfX48pU6bglFNOwb59+1BeXk4hboREOLFJz37eiOf3NA+59x0VFk61KtdSWUiABEiABEggEQjIbvBpjTF5hnZs+w4b1v+uRvl5/nmZuPqqPK1tJedLAiRAAiRAAnEnILsdEbYQJ0Sy/Px8tLa2QixqxowZPWBOnz4du3fvxgcffICZM2cOCvqOO+7AihUrcN555ymCXvfS1NSEcePGQVyBrampQU5OTr99XXHFFXjhhRfw6aef4utf/zqFuBEU4cQGbdxVj01ftob9gC2YmIlF02lMhg2MFUmABEiABKQmILvBJzW8fiZHniEogUAQv7i1ApVVHiQnJ+GB+8qQlcmwHlo7z5wv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UVEhjsF9992HW2+9FRdddBGeeeaZrEeDPNpIeJNlGeQVR/3i13PPPYfLLrsMwWAQhw8fniLsUb9Vq1bB6/XigQcewIc+9KEp9yJBcN26dVnvn65BMTaLxLhdO/pw7IB/xm0Xr3TgoxsaWYTLe8e4IxNgAkyACTABfRAohg2hj5XNziyY5+xw57syASbABGaTQCk9pmZznXzv4hPQux2hWogjYayxsRGjo6OgRZ1zzjlT6K1Zswb79u3Dyy+/LMJLM12PPvooPvjBDwrPtscff3xG02uuuQaPPPIIHnzwQXzsYx9LfP4P//AP+I//+A9897vfBb3W+irmZlHOuLf2eODzROB0m7FqrRsL2uxaL4HHYwJMgAkwASbABGaBQDFtiFlYzqzfknnO+hbwBJgAE2ACs0agFB5Ts7Y4vnFJCOjdjlAtxD399NN4//vfj6VLlwpPtekX5YjbsmUL7rjjDmzdujUjXPKCI6+3bELcU089JfK+0UW56ebPny+86MgzjvLCaX3pfbO0Xi+PxwSYABNgAkyACWhDgG0IbTjGR2Ge2vLk0ZgAE2ACTIAJlBMBvdsRqoW4eE636667Dg899NCMPfzNb36Dq6++WhRZePjhzKWHyauOiit4PJ60oamLFi3CG2+8AZtNyZ32/PPP48ILL8T5558vXj/22GOiL+WtO+2004Tn3MKFCws6W3rfrIIWx52ZABNgAkyACTCBohFgG0JbtMxTW548GhNgAkyACTCBciKgdztCtRB3yy234Jvf/KYosEA54aZfr732Gs4++2yce+65oIIK2S4S6z75yU+KXHDvec970NLSIootvPDCC3jve9+LH//4x1iyZElimO9973vYsGEDPvKRjyASieBXv/rVlFuQh9yPfvQjfOITn8h267Sf632z8l4Yd2QCTIAJMAEmwASKSoBtCG3xMk9tefJoTIAJMAEmwATKiYDe7QjVQtxNN92EH/zgB/jyl7+MO++8c8YeUrjq8uXLxePQoUOq9pjCXcmTbWBgING+qqoKn//857Fx48aENxx9+LWvfQ1f+tKXYLFYYDabhRhI3nlUuOE73/kOvv71r8NqtYoKriQIZrt6enpAj+Rr//79uOGGG4SQSIIiX0yACTABJsAEmAATUENA7wafmjXoqQ3z1NNu8FyYABNgAkyACRiLgN7tiFkT4r7xjW/gC1/4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s5EjR9qXX35pL774os2aNcs++ugj++9//2ulS5e2Jk2aWP/+/e3KK69MHzM2Xk5TjNW8O9HW1L1799pDDz1kM2fOtG3btlnJkiWtadOm7v7btWuXZWixql69um3YsMEee+wxmzBhgm3ZssUqV65sN954ow0bNsyKFy+eB+ocAgEIQAACEIAABLISIC4jLuO5gAAEgiWAEBcsX0aHAATyQCA+4JMoNWXKFHv11VftjDPOsA4dOqSP0qJFC/v1r3/t/n/9+vV2xRVXOAFLtdkaNmxoBw4csOXLl9s333zjBLp77rkni3AmoevIkSNOwFINuqJFi1qDBg1syJAh9vbbb1vHjh3deOeee66VL1/etm7d6saUjR8/3nr37u3+ru2mGl/n7Ny5066++mon2sUsJhjmJMRt377dLrvsMtu4caOdffbZ1qxZM9u9e7erN3f06FF74okn7K677spEMCbEXXzxxTZnzhxTfTrZu+++a/v377e0tDTHDoMABCAAAQhAAAKJECAuIy5LZN1wDgQgkHcCCHF5Z8WREIBAQAQS2QIhoerCCy+0tWvX2iOPPOKy1SSoyT799FOXTSYBbc2aNXb++ee7f8+YwSbRS0JW2bJlM81KWXUS1S655JJM/7569Wpr06aNHTt2zCSgZRTcEm3WcNVVV7nMO2WyqaOqsvlkixcvtvbt29vhw4dt1apVdsEFF6TfS4xV3bp1bcGCBValShX3M913o0aNXEaf5l+rVq2AvMWwEIAABCAAAQj4TIC4jLjM5/XN3CAQBgIIcWHwAvcAgYgTSCTgU9Zct27dXBbaK6+8koWgtpx2797dbr/9dnvqqaeyCHErV660iy666KTIDx482IYPH27a1ioRLWaJCHHKgpNYJkFPmXnKvMtoEhaVEafsv3HjxmUR4ubNm+eyATNav379bNSoUU7U69Wr10nNjYMhAAEIQAACEICACBCXEZfxJEAAAsESQIgLli+jQwACeSCQSMB366232ujRo23q1KkuoyzetG20UqVKLrNt2bJlmYQ4dS/9/PPPc7wzZdvNnz/fli5dajt27HCZabJPPvnE/dvjjz/uarjlR4h74YUXTPXufvnLX9rLL7+c5V6UyaeMvzp16rhadTETq1NPPdUOHjxop5xySqbznnnmGSc8Pvjgg3bvvffmgTyHQAACEIAABCAAgcwEiMuIy3gmIACBYAkgxAXLl9EhAIE8EEgk4OvUqZO99dZbuY5eu3ZtJ6DJYltTVV8tVvMtfgA1blCThw8++CDHsVXzTfXk8iPEqUGDxDLVmFMtu3jTFtNy5cq5jDnVvcsoxJ111llu2228qSbdzTff7O5N94hBAAIQgAAEIACBkyVAXEZcdrJrhuMhAIGTI4AQd3K8OBoCEAiAQCIBnxo4zJ071zVyUEOHnKxixYquu6gsY9fUhQsXZntKbFxteR04cKDLSDvttNNc/bmxY8da3759swhdiWxNzU2IU+MF1a/LTohT11TNBSEugMXIkBCAAAQgAIGIEyAuyyrEEZdF/KFg+hBIMgGEuCQDZTgIQODkCSQS8Kl22oQJE1x9OIlmebHchLivv/7aTj/9dLelVQ0Z4rd+Dho0yB5++OGkCHGxranXXHONTZ8+PcvtKyNPTRqy25qKEJcXb3MMBCAAAQhAAAKJECAuIy5LZN1wDgQgkHcCCHF5Z8WREIBAQASyC/hUw61atWrWvHlz10U03v7617/a9ddfb2lpaTZlypQ83VluQlzsmhLA1CU1o3377beu++r69euzCHHq0KrmCdoCq62w8aZtokOHDs3URCHWrEHZdtpmGt+9dcCAAS6TL7tmDQhxeXI3B0EAAhCAAAQgkAAB4jLisgSWDadAAAInQQAh7iRgcSgEIBAMgewCviNHjrhtmRUqVDDVbYvPTvvuu++sYcOGtm7dOhs2bJjbRlq8ePH0Gzx+/LhrrCCTmCfLTYjTmNrKqsw4bV2NnafmDRLGnnzySTdOfA02dSidPHmyzZo1yzp37pwnIU4HqRbd7NmzrUePHjZ+/HjXhEGm5hJXXnmlHTp0yFatWuUy42ImVghxwaxDRoUABCAAAQhAIPuuqcRlxGU8GxCAQPIIIMQljyUjQQACCRLITojTUF27drU333zT6tWrZ40aNbJixYo5cUwNCWTKQGvfvr1t2rTJKleubA0aNHD/VcdUdR3dtWuXE8/uvPPOPAlxOkgdR++//34n/LVp08bKly9vK1assJ07d1rv3r3t2WefzSLEvfbaa257rLa1KjuuTJky7noS12TZZcTp37X9tWXLlu7+Ja41a9bMdu/e7URAiX/x3Vl1DkJcgouM0yAAAQhAAAIQyBMB4jLisjwtFA6CAAQSJoAQlzA6ToQABJJFIKeAT0Kauopq26cEKolTPXv2NHUHjZmK544aNcokhmnbqLLaqlSp4mqrSci79tprXZabLLeMuNiYqt82cuRI+/jjj61EiRLWokULl3X3/vvv59iVVMePGzfONmzYYIcPH3ZDKSvvREKcfrZ3714bMWKEzZw507Zt22YlS5a0pk2bWv/+/Z2oF28IccladYwDAQhAAAIQgEB2BIjLiMt4MiAAgWAJIMQFy5fRIQABCEAAAhCAAAQgAAEIQAACEIAABCDgCCDEsRAgAAEIQAACEIAABCAAAQhAAAIQgAAEIJACAv8H3SUWKCXyIfIAAAAASUVORK5CYII=\" width=\"1000\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n"
]
}
],
"source": [
"#df_results = %sql SELECT * FROM $results_table ORDER BY run_id;\n",
"df_results = %sql SELECT * FROM $results_table ORDER BY validation_loss ASC LIMIT 15;\n",
"df_results = df_results.DataFrame()\n",
"\n",
"#set up plots\n",
"fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(10,5))\n",
"fig.legend(ncol=4)\n",
"fig.tight_layout()\n",
"\n",
"ax_metric = axs[0]\n",
"ax_loss = axs[1]\n",
"\n",
"ax_metric.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
"ax_metric.set_xlabel('Iteration')\n",
"ax_metric.set_ylabel('Metric')\n",
"ax_metric.set_title('Validation metric curve')\n",
"\n",
"ax_loss.xaxis.set_major_locator(MaxNLocator(integer=True))\n",
"ax_loss.set_xlabel('Iteration')\n",
"ax_loss.set_ylabel('Loss')\n",
"ax_loss.set_title('Validation loss curve')\n",
"\n",
"for run_id in df_results['run_id']:\n",
" df_output_info = %sql SELECT validation_metrics,validation_loss FROM $results_table WHERE run_id = $run_id\n",
" df_output_info = df_output_info.DataFrame()\n",
" validation_metrics = df_output_info['validation_metrics'][0]\n",
" validation_loss = df_output_info['validation_loss'][0]\n",
" X = range(len(validation_metrics))\n",
" \n",
" ax_metric.plot(X, validation_metrics, label=run_id, marker='o')\n",
" ax_loss.plot(X, validation_loss, label=run_id, marker='o')\n",
"\n",
"# fig.savefig('./lc_keras_fit.png', dpi = 300)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"print\"></a>\n",
"# 7. Print run schedules"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pretty print reg Hyperband run schedule"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"max_iter = 9\n",
"eta = 3\n",
"B = 3*max_iter = 27\n",
" \n",
"s=2\n",
"n_i r_i\n",
"------------\n",
"9 1.0\n",
"3.0 3.0\n",
"1.0 9.0\n",
" \n",
"s=1\n",
"n_i r_i\n",
"------------\n",
"3 3.0\n",
"1.0 9.0\n",
" \n",
"s=0\n",
"n_i r_i\n",
"------------\n",
"3 9\n",
" \n",
"sum of configurations at leaf nodes across all s = 5.0\n",
"(if have more workers than this, they may not be 100% busy)\n"
]
}
],
"source": [
"import numpy as np\n",
"from math import log, ceil\n",
"\n",
"#input\n",
"max_iter = 9 # maximum iterations/epochs per configuration\n",
"eta = 3 # defines downsampling rate (default=3)\n",
"\n",
"logeta = lambda x: log(x)/log(eta)\n",
"s_max = int(logeta(max_iter)) # number of unique executions of Successive Halving (minus one)\n",
"B = (s_max+1)*max_iter # total number of iterations (without reuse) per execution of Succesive Halving (n,r)\n",
"\n",
"#echo output\n",
"print (\"max_iter = \" + str(max_iter))\n",
"print (\"eta = \" + str(eta))\n",
"print (\"B = \" + str(s_max+1) + \"*max_iter = \" + str(B))\n",
"\n",
"sum_leaf_n_i = 0 # count configurations at leaf nodes across all s\n",
"\n",
"#### Begin Finite Horizon Hyperband outlerloop. Repeat indefinitely.\n",
"for s in reversed(range(s_max+1)):\n",
" \n",
" print (\" \")\n",
" print (\"s=\" + str(s))\n",
" print (\"n_i r_i\")\n",
" print (\"------------\")\n",
" counter = 0\n",
" \n",
" n = int(ceil(int(B/max_iter/(s+1))*eta**s)) # initial number of configurations\n",
" r = max_iter*eta**(-s) # initial number of iterations to run configurations for\n",
"\n",
" #### Begin Finite Horizon Successive Halving with (n,r)\n",
" #T = [ get_random_hyperparameter_configuration() for i in range(n) ] \n",
" for i in range(s+1):\n",
" # Run each of the n_i configs for r_i iterations and keep best n_i/eta\n",
" n_i = n*eta**(-i)\n",
" r_i = r*eta**(i)\n",
" \n",
" print (str(n_i) + \" \" + str (r_i))\n",
" \n",
" # check if leaf node for this s\n",
" if counter == s:\n",
" sum_leaf_n_i += n_i\n",
" counter += 1\n",
" \n",
" #val_losses = [ run_then_return_val_loss(num_iters=r_i,hyperparameters=t) for t in T ]\n",
" #T = [ T[i] for i in argsort(val_losses)[0:int( n_i/eta )] ]\n",
" #### End Finite Horizon Successive Halving with (n,r)\n",
"\n",
"print (\" \")\n",
"print (\"sum of configurations at leaf nodes across all s = \" + str(sum_leaf_n_i))\n",
"print (\"(if have more workers than this, they may not be 100% busy)\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pretty print Hyperband diagonal run schedule"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"echo input:\n",
"max_iter = 9\n",
"eta = 3\n",
"s_max = 2\n",
"B = 3*max_iter = 27\n",
" \n",
"initial n, r values for each s:\n",
"s=2\n",
"n=9\n",
"r=1.0\n",
" \n",
"s=1\n",
"n=3\n",
"r=3.0\n",
" \n",
"s=0\n",
"n=3\n",
"r=9\n",
" \n",
"outer loop on diagonal:\n",
" \n",
"i=0\n",
"inner loop on s desc:\n",
"s=2\n",
"n_i=9\n",
"r_i=1.0\n",
" \n",
"i=1\n",
"inner loop on s desc:\n",
"s=2\n",
"n_i=3.0\n",
"r_i=3.0\n",
"s=1\n",
"n_i=3\n",
"r_i=3.0\n",
" \n",
"i=2\n",
"inner loop on s desc:\n",
"s=2\n",
"n_i=1.0\n",
"r_i=9.0\n",
"s=1\n",
"n_i=1.0\n",
"r_i=9.0\n",
"s=0\n",
"n_i=3\n",
"r_i=9\n"
]
}
],
"source": [
"import numpy as np\n",
"from math import log, ceil\n",
"\n",
"#input\n",
"max_iter = 9 # maximum iterations/epochs per configuration\n",
"eta = 3 # defines downsampling rate (default=3)\n",
"\n",
"logeta = lambda x: log(x)/log(eta)\n",
"s_max = int(logeta(max_iter)) # number of unique executions of Successive Halving (minus one)\n",
"B = (s_max+1)*max_iter # total number of iterations (without reuse) per execution of Succesive Halving (n,r)\n",
"\n",
"#echo output\n",
"print (\"echo input:\")\n",
"print (\"max_iter = \" + str(max_iter))\n",
"print (\"eta = \" + str(eta))\n",
"print (\"s_max = \" + str(s_max))\n",
"print (\"B = \" + str(s_max+1) + \"*max_iter = \" + str(B))\n",
"\n",
"print (\" \")\n",
"print (\"initial n, r values for each s:\")\n",
"initial_n_vals = {}\n",
"initial_r_vals = {}\n",
"# get hyper parameter configs for each s\n",
"for s in reversed(range(s_max+1)):\n",
" \n",
" n = int(ceil(int(B/max_iter/(s+1))*eta**s)) # initial number of configurations\n",
" r = max_iter*eta**(-s) # initial number of iterations to run configurations for\n",
" \n",
" initial_n_vals[s] = n \n",
" initial_r_vals[s] = r \n",
" \n",
" print (\"s=\" + str(s))\n",
" print (\"n=\" + str(n))\n",
" print (\"r=\" + str(r))\n",
" print (\" \")\n",
" \n",
"print (\"outer loop on diagonal:\")\n",
"# outer loop on diagonal\n",
"for i in range(s_max+1):\n",
" print (\" \")\n",
" print (\"i=\" + str(i))\n",
" \n",
" print (\"inner loop on s desc:\")\n",
" # inner loop on s desc\n",
" for s in range(s_max, s_max-i-1, -1):\n",
" n_i = initial_n_vals[s]*eta**(-i+s_max-s)\n",
" r_i = initial_r_vals[s]*eta**(i-s_max+s)\n",
" \n",
" print (\"s=\" + str(s))\n",
" print (\"n_i=\" + str(n_i))\n",
" print (\"r_i=\" + str(r_i))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 1
}