blob: c5e8919e4b5e0f559d9b696d9ce70a463922c7c3 [file] [log] [blame]
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Hyperband diagonal using CIFAR-10\n",
"\n",
"Implemention of Hyperband https://arxiv.org/pdf/1603.06560.pdf for MPP with a synchronous barrier. Uses the Hyperband schedule but runs it on a diagonal across brackets, instead of one bracket at a time, to be more efficient with cluster resources.\n",
"\n",
"The CIFAR-10 dataset consists of 60,000 32x32 colour images in 10 classes, with 6,000 images per class. There are 50,000 training images and 10,000 test images.\n",
"https://www.cs.toronto.edu/~kriz/cifar.html\n",
"\n",
"\n",
"## Table of contents \n",
"\n",
"<a href=\"#setup\">0. Setup</a>\n",
"\n",
"<a href=\"#load_dataset\">1. Load dataset into table</a>\n",
"\n",
"<a href=\"#distr\">2. Setup distribution rules and call preprocessor</a>\n",
"\n",
"<a href=\"#arch\">3. Define and load model architectures</a>\n",
"\n",
"<a href=\"#hyperband\">4. Hyperband diagonal</a>\n",
"\n",
"<a href=\"#plot\">5. Plot results</a>\n",
"\n",
"<a href=\"#print\">6. Pretty print schedules</a>\n",
"\n",
"<a href=\"#predict\">7. Inference</a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"setup\"></a>\n",
"# 0. Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"scrolled": false
},
"outputs": [],
"source": [
"%load_ext sql"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"u'Connected: fmcquillan@madlib'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Greenplum Database 5.x on GCP - via tunnel\n",
"#%sql postgresql://gpadmin@localhost:8000/madlib\n",
"#%sql postgresql://gpadmin@35.230.53.21:5432/cifar_demo\n",
"\n",
"# PostgreSQL local\n",
"%sql postgresql://fmcquillan@localhost:5432/madlib"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" * postgresql://fmcquillan@localhost:5432/madlib\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>version</th>\n",
" </tr>\n",
" <tr>\n",
" <td>MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul 1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'MADlib version: 1.16, git revision: rc/1.16-rc1, cmake configuration time: Mon Jul 1 17:45:09 UTC 2019, build type: Release, build system: Darwin-16.7.0, C compiler: Clang, C++ compiler: Clang',)]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql select madlib.version();\n",
"#%sql select version();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Import libraries and define some params"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Using TensorFlow backend.\n"
]
}
],
"source": [
"from __future__ import print_function\n",
"import keras\n",
"from keras.datasets import cifar10\n",
"from keras.preprocessing.image import ImageDataGenerator\n",
"from keras.models import Sequential\n",
"from keras.layers import Dense, Dropout, Activation, Flatten, BatchNormalization\n",
"from keras.layers import Conv2D, MaxPooling2D\n",
"import os"
]
},
{
"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\n",
"import sys\n",
"import os\n",
"from matplotlib import pyplot as plt"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"load_dataset\"></a>\n",
"# 1. Load dataset into table"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"PXF can be used to load image data. \n",
"\n",
"For this demo, we will get the dataset from Keras and use the script called madlib_image_loader.py located at https://github.com/apache/madlib-site/tree/asf-site/community-artifacts/Deep-learning .\n",
"\n",
"If the script is not in the same folder as the notebook, you can use the following lines to import it."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"import sys\n",
"sys.path.insert(1, '/Users/fmcquillan/workspace/madlib-site/community-artifacts/Deep-learning')\n",
"from madlib_image_loader import ImageLoader, DbCredentials\n",
"\n",
"# Specify database credentials, for connecting to db\n",
"#db_creds = DbCredentials(user='gpadmin',\n",
"# host='localhost',\n",
"# port='8000',\n",
"# password='')\n",
"\n",
"db_creds = DbCredentials(user='fmcquillan',\n",
" host='localhost',\n",
" port='5432',\n",
" password='')\n",
"\n",
"# Initialize ImageLoader (increase num_workers to run faster)\n",
"iloader = ImageLoader(num_workers=5, db_creds=db_creds)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load the training and test data"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" * postgresql://fmcquillan@localhost:5432/madlib\n",
"Done.\n"
]
},
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"MainProcess: Connected to madlib db.\n",
"Executing: CREATE TABLE cifar10_train (id SERIAL, x REAL[], y TEXT)\n",
"CREATE TABLE\n",
"Created table cifar10_train in madlib db\n",
"Spawning 5 workers...\n",
"Initializing PoolWorker-1 [pid 10828]\n",
"Initializing PoolWorker-2 [pid 10829]\n",
"PoolWorker-1: Created temporary directory /tmp/madlib_DaP40IOgzi\n",
"Initializing PoolWorker-3 [pid 10830]\n",
"PoolWorker-2: Created temporary directory /tmp/madlib_n5XjJvXs5s\n",
"PoolWorker-3: Created temporary directory /tmp/madlib_99mTsCxOFF\n",
"Initializing PoolWorker-4 [pid 10831]\n",
"PoolWorker-5: Connected to madlib db.\n",
"PoolWorker-4: Created temporary directory /tmp/madlib_zGujxaoQIb\n",
"Initializing PoolWorker-5 [pid 10832]\n",
"PoolWorker-1: Connected to madlib db.\n",
"PoolWorker-5: Created temporary directory /tmp/madlib_D6q8olnown\n",
"PoolWorker-2: Connected to madlib db.\n",
"PoolWorker-3: Connected to madlib db.\n",
"PoolWorker-4: Connected to madlib db.\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0000.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0000.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0000.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0000.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0000.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0001.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0001.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0001.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0001.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0001.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0002.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0002.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0002.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0002.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0002.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0003.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0003.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0003.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0003.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0003.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0004.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0004.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0004.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0004.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0004.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0005.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0005.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0005.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0005.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0005.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0006.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0006.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0006.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0006.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0006.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0007.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0007.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0007.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0007.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0007.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0008.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0008.tmp\n",
"PoolWorker-2: Wrote 1000 images to /tmp/madlib_n5XjJvXs5s/cifar10_train0008.tmp\n",
"PoolWorker-4: Wrote 1000 images to /tmp/madlib_zGujxaoQIb/cifar10_train0008.tmp\n",
"PoolWorker-5: Wrote 1000 images to /tmp/madlib_D6q8olnown/cifar10_train0008.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-2: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Loaded 1000 images into cifar10_train\n",
"PoolWorker-5: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0009.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0009.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0010.tmp\n",
"PoolWorker-3: Wrote 1000 images to /tmp/madlib_99mTsCxOFF/cifar10_train0010.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-3: Loaded 1000 images into cifar10_train\n",
"PoolWorker-1: Wrote 1000 images to /tmp/madlib_DaP40IOgzi/cifar10_train0011.tmp\n",
"PoolWorker-1: Loaded 1000 images into cifar10_train\n",
"PoolWorker-4: Removed temporary directory /tmp/madlib_zGujxaoQIb\n",
"PoolWorker-5: Removed temporary directory /tmp/madlib_D6q8olnown\n",
"PoolWorker-2: Removed temporary directory /tmp/madlib_n5XjJvXs5s\n",
"PoolWorker-1: Removed temporary directory /tmp/madlib_DaP40IOgzi\n",
"PoolWorker-3: Removed temporary directory /tmp/madlib_99mTsCxOFF\n",
"Done! Loaded 50000 images in 19.7727279663s\n",
"5 workers terminated.\n",
"MainProcess: Connected to madlib db.\n",
"Executing: CREATE TABLE cifar10_val (id SERIAL, x REAL[], y TEXT)\n",
"CREATE TABLE\n",
"Created table cifar10_val in madlib db\n",
"Spawning 5 workers...\n",
"Initializing PoolWorker-6 [pid 10850]\n",
"PoolWorker-6: Created temporary directory /tmp/madlib_OqFarH4eVS\n",
"Initializing PoolWorker-7 [pid 10851]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"PoolWorker-7: Created temporary directory /tmp/madlib_BHhah9z53T\n",
"Initializing PoolWorker-8 [pid 10852]\n",
"PoolWorker-8: Created temporary directory /tmp/madlib_G5oLCmXwQN\n",
"Initializing PoolWorker-9 [pid 10853]\n",
"PoolWorker-6: Connected to madlib db.\n",
"PoolWorker-9: Created temporary directory /tmp/madlib_THDiiymnsM\n",
"Initializing PoolWorker-10 [pid 10854]\n",
"PoolWorker-7: Connected to madlib db.\n",
"PoolWorker-10: Created temporary directory /tmp/madlib_DLO1TEiyo6\n",
"PoolWorker-8: Connected to madlib db.\n",
"PoolWorker-9: Connected to madlib db.\n",
"PoolWorker-10: Connected to madlib db.\n",
"PoolWorker-6: Wrote 1000 images to /tmp/madlib_OqFarH4eVS/cifar10_val0000.tmp\n",
"PoolWorker-7: Wrote 1000 images to /tmp/madlib_BHhah9z53T/cifar10_val0000.tmp\n",
"PoolWorker-8: Wrote 1000 images to /tmp/madlib_G5oLCmXwQN/cifar10_val0000.tmp\n",
"PoolWorker-9: Wrote 1000 images to /tmp/madlib_THDiiymnsM/cifar10_val0000.tmp\n",
"PoolWorker-10: Wrote 1000 images to /tmp/madlib_DLO1TEiyo6/cifar10_val0000.tmp\n",
"PoolWorker-6: Loaded 1000 images into cifar10_val\n",
"PoolWorker-7: Loaded 1000 images into cifar10_val\n",
"PoolWorker-8: Loaded 1000 images into cifar10_val\n",
"PoolWorker-9: Loaded 1000 images into cifar10_val\n",
"PoolWorker-10: Loaded 1000 images into cifar10_val\n",
"PoolWorker-6: Wrote 1000 images to /tmp/madlib_OqFarH4eVS/cifar10_val0001.tmp\n",
"PoolWorker-7: Wrote 1000 images to /tmp/madlib_BHhah9z53T/cifar10_val0001.tmp\n",
"PoolWorker-8: Wrote 1000 images to /tmp/madlib_G5oLCmXwQN/cifar10_val0001.tmp\n",
"PoolWorker-9: Wrote 1000 images to /tmp/madlib_THDiiymnsM/cifar10_val0001.tmp\n",
"PoolWorker-10: Wrote 1000 images to /tmp/madlib_DLO1TEiyo6/cifar10_val0001.tmp\n",
"PoolWorker-6: Loaded 1000 images into cifar10_val\n",
"PoolWorker-7: Loaded 1000 images into cifar10_val\n",
"PoolWorker-8: Loaded 1000 images into cifar10_val\n",
"PoolWorker-9: Loaded 1000 images into cifar10_val\n",
"PoolWorker-10: Loaded 1000 images into cifar10_val\n",
"PoolWorker-8: Removed temporary directory /tmp/madlib_G5oLCmXwQN\n",
"PoolWorker-7: Removed temporary directory /tmp/madlib_BHhah9z53T\n",
"PoolWorker-10: Removed temporary directory /tmp/madlib_DLO1TEiyo6\n",
"PoolWorker-6: Removed temporary directory /tmp/madlib_OqFarH4eVS\n",
"PoolWorker-9: Removed temporary directory /tmp/madlib_THDiiymnsM\n",
"Done! Loaded 10000 images in 4.03977298737s\n",
"5 workers terminated.\n"
]
}
],
"source": [
"# Load dataset into np array\n",
"(x_train, y_train), (x_test, y_test) = cifar10.load_data()\n",
"\n",
"%sql DROP TABLE IF EXISTS cifar10_train, cifar10_val;\n",
"\n",
"# Save images to temporary directories and load into database\n",
"iloader.load_dataset_from_np(x_train, y_train, 'cifar10_train', append=False)\n",
"iloader.load_dataset_from_np(x_test, y_test, 'cifar10_val', append=False)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" * postgresql://gpadmin@localhost:8000/madlib\n",
"(psycopg2.errors.UndefinedTable) relation \"cifar_10_train_data\" does not exist\n",
"LINE 1: SELECT COUNT(*) FROM cifar_10_train_data;\n",
" ^\n",
"\n",
"[SQL: SELECT COUNT(*) FROM cifar_10_train_data;]\n",
"(Background on this error at: http://sqlalche.me/e/f405)\n"
]
}
],
"source": [
"%sql SELECT COUNT(*) FROM cifar10_train;"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>count</th>\n",
" </tr>\n",
" <tr>\n",
" <td>10000</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(10000L,)]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql SELECT COUNT(*) FROM cifar10_val;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"distr\"></a>\n",
"# 2. Setup distribution rules and call preprocessor\n",
"\n",
"Get cluster configuration\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"20 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>hostname</th>\n",
" <th>gpu_descr</th>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix0</td>\n",
" <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix0</td>\n",
" <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix0</td>\n",
" <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix0</td>\n",
" <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix1</td>\n",
" <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix1</td>\n",
" <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix1</td>\n",
" <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix1</td>\n",
" <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix2</td>\n",
" <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix2</td>\n",
" <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix2</td>\n",
" <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix2</td>\n",
" <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix3</td>\n",
" <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix3</td>\n",
" <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix3</td>\n",
" <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix3</td>\n",
" <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix4</td>\n",
" <td>device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix4</td>\n",
" <td>device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix4</td>\n",
" <td>device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>phoenix4</td>\n",
" <td>device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'phoenix0', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
" (u'phoenix0', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
" (u'phoenix0', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
" (u'phoenix0', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
" (u'phoenix1', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
" (u'phoenix1', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
" (u'phoenix1', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
" (u'phoenix1', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
" (u'phoenix2', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
" (u'phoenix2', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
" (u'phoenix2', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
" (u'phoenix2', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
" (u'phoenix3', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
" (u'phoenix3', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
" (u'phoenix3', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
" (u'phoenix3', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0'),\n",
" (u'phoenix4', u'device: 0, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:04.0, compute capability: 6.0'),\n",
" (u'phoenix4', u'device: 1, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:05.0, compute capability: 6.0'),\n",
" (u'phoenix4', u'device: 2, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:06.0, compute capability: 6.0'),\n",
" (u'phoenix4', u'device: 3, name: Tesla P100-PCIE-16GB, pci bus id: 0000:00:07.0, compute capability: 6.0')]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS host_gpu_mapping_tf;\n",
"SELECT * FROM madlib.gpu_configuration('host_gpu_mapping_tf');\n",
"SELECT * FROM host_gpu_mapping_tf ORDER BY hostname, gpu_descr;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Below are examples of setting up different distribution rules tables. You can customize this to your needs.\n",
"\n",
"Build distribution rules table for 4 VMs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS segments_to_use_4VMs;\n",
"CREATE TABLE segments_to_use_4VMs AS\n",
" SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
" WHERE role='p' AND content>=0 AND hostname!='phoenix4';\n",
"SELECT * FROM segments_to_use_4VMs ORDER BY hostname, dbid;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Build distribution rules table for 2 VMs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS segments_to_use_2VMs;\n",
"CREATE TABLE segments_to_use_2VMs AS\n",
" SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
" WHERE role='p' AND content>=0 AND (hostname='phoenix0' OR hostname='phoenix1');\n",
"SELECT * FROM segments_to_use_2VMs ORDER BY hostname, dbid;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Build distribution rules table for 1 VMs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS segments_to_use_1VM;\n",
"CREATE TABLE segments_to_use_1VM AS\n",
" SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
" WHERE role='p' AND content>=0 AND hostname='phoenix0';\n",
"SELECT * FROM segments_to_use_1VM ORDER BY hostname, dbid;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Build distribution rules table for 1 segment"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>dbid</th>\n",
" <th>content</th>\n",
" <th>role</th>\n",
" <th>preferred_role</th>\n",
" <th>mode</th>\n",
" <th>status</th>\n",
" <th>port</th>\n",
" <th>hostname</th>\n",
" <th>address</th>\n",
" <th>replication_port</th>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>-1</td>\n",
" <td>p</td>\n",
" <td>p</td>\n",
" <td>s</td>\n",
" <td>u</td>\n",
" <td>5432</td>\n",
" <td>phoenix0</td>\n",
" <td>phoenix0</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>p</td>\n",
" <td>p</td>\n",
" <td>c</td>\n",
" <td>u</td>\n",
" <td>40000</td>\n",
" <td>phoenix0</td>\n",
" <td>phoenix0</td>\n",
" <td>70000</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>1</td>\n",
" <td>p</td>\n",
" <td>p</td>\n",
" <td>c</td>\n",
" <td>u</td>\n",
" <td>40001</td>\n",
" <td>phoenix0</td>\n",
" <td>phoenix0</td>\n",
" <td>70001</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>p</td>\n",
" <td>p</td>\n",
" <td>c</td>\n",
" <td>u</td>\n",
" <td>40002</td>\n",
" <td>phoenix0</td>\n",
" <td>phoenix0</td>\n",
" <td>70002</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td>\n",
" <td>3</td>\n",
" <td>p</td>\n",
" <td>p</td>\n",
" <td>c</td>\n",
" <td>u</td>\n",
" <td>40003</td>\n",
" <td>phoenix0</td>\n",
" <td>phoenix0</td>\n",
" <td>70003</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(1, -1, u'p', u'p', u's', u'u', 5432, u'phoenix0', u'phoenix0', None),\n",
" (2, 0, u'p', u'p', u'c', u'u', 40000, u'phoenix0', u'phoenix0', 70000),\n",
" (3, 1, u'p', u'p', u'c', u'u', 40001, u'phoenix0', u'phoenix0', 70001),\n",
" (4, 2, u'p', u'p', u'c', u'u', 40002, u'phoenix0', u'phoenix0', 70002),\n",
" (5, 3, u'p', u'p', u'c', u'u', 40003, u'phoenix0', u'phoenix0', 70003)]"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT * FROM gp_segment_configuration WHERE role='p' AND hostname='phoenix0' ORDER BY dbid;"
]
},
{
"cell_type": "code",
"execution_count": 27,
"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>dbid</th>\n",
" <th>hostname</th>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>phoenix0</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(2, u'phoenix0')]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS segments_to_use_1seg;\n",
"CREATE TABLE segments_to_use_1seg AS\n",
" SELECT DISTINCT dbid, hostname FROM gp_segment_configuration JOIN host_gpu_mapping_tf USING (hostname)\n",
" WHERE dbid=2;\n",
"SELECT * FROM segments_to_use_1seg ORDER BY hostname, dbid;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Training dataset (uses training preprocessor):"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"16 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>independent_var_shape</th>\n",
" <th>dependent_var_shape</th>\n",
" <th>buffer_id</th>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[3125, 32, 32, 3]</td>\n",
" <td>[3125, 10]</td>\n",
" <td>15</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[([3125, 32, 32, 3], [3125, 10], 0),\n",
" ([3125, 32, 32, 3], [3125, 10], 1),\n",
" ([3125, 32, 32, 3], [3125, 10], 2),\n",
" ([3125, 32, 32, 3], [3125, 10], 3),\n",
" ([3125, 32, 32, 3], [3125, 10], 4),\n",
" ([3125, 32, 32, 3], [3125, 10], 5),\n",
" ([3125, 32, 32, 3], [3125, 10], 6),\n",
" ([3125, 32, 32, 3], [3125, 10], 7),\n",
" ([3125, 32, 32, 3], [3125, 10], 8),\n",
" ([3125, 32, 32, 3], [3125, 10], 9),\n",
" ([3125, 32, 32, 3], [3125, 10], 10),\n",
" ([3125, 32, 32, 3], [3125, 10], 11),\n",
" ([3125, 32, 32, 3], [3125, 10], 12),\n",
" ([3125, 32, 32, 3], [3125, 10], 13),\n",
" ([3125, 32, 32, 3], [3125, 10], 14),\n",
" ([3125, 32, 32, 3], [3125, 10], 15)]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS cifar10_train_packed, cifar10_train_packed_summary;\n",
"\n",
"SELECT madlib.training_preprocessor_dl('cifar10_train', -- Source table\n",
" 'cifar10_train_packed', -- Output table\n",
" 'y', -- Dependent variable\n",
" 'x', -- Independent variable\n",
" NULL, -- Buffer size\n",
" 256.0, -- Normalizing constant\n",
" NULL, -- Number of classes\n",
" 'gpu_segments' -- Distribution rules\n",
" );\n",
"\n",
"SELECT independent_var_shape, dependent_var_shape, buffer_id FROM cifar10_train_packed ORDER BY buffer_id;"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"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",
" <th>distribution_rules</th>\n",
" <th>__internal_gpu_config__</th>\n",
" </tr>\n",
" <tr>\n",
" <td>cifar10_train</td>\n",
" <td>cifar10_train_packed</td>\n",
" <td>y</td>\n",
" <td>x</td>\n",
" <td>smallint</td>\n",
" <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</td>\n",
" <td>3125</td>\n",
" <td>256.0</td>\n",
" <td>10</td>\n",
" <td>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]</td>\n",
" <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'cifar10_train', u'cifar10_train_packed', u'y', u'x', u'smallint', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 3125, 256.0, 10, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT * FROM cifar10_train_packed_summary;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Validation dataset (uses validation preprocessor):"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"16 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>independent_var_shape</th>\n",
" <th>dependent_var_shape</th>\n",
" <th>buffer_id</th>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>9</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>11</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>12</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>13</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <td>[625, 32, 32, 3]</td>\n",
" <td>[625, 10]</td>\n",
" <td>15</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[([625, 32, 32, 3], [625, 10], 0),\n",
" ([625, 32, 32, 3], [625, 10], 1),\n",
" ([625, 32, 32, 3], [625, 10], 2),\n",
" ([625, 32, 32, 3], [625, 10], 3),\n",
" ([625, 32, 32, 3], [625, 10], 4),\n",
" ([625, 32, 32, 3], [625, 10], 5),\n",
" ([625, 32, 32, 3], [625, 10], 6),\n",
" ([625, 32, 32, 3], [625, 10], 7),\n",
" ([625, 32, 32, 3], [625, 10], 8),\n",
" ([625, 32, 32, 3], [625, 10], 9),\n",
" ([625, 32, 32, 3], [625, 10], 10),\n",
" ([625, 32, 32, 3], [625, 10], 11),\n",
" ([625, 32, 32, 3], [625, 10], 12),\n",
" ([625, 32, 32, 3], [625, 10], 13),\n",
" ([625, 32, 32, 3], [625, 10], 14),\n",
" ([625, 32, 32, 3], [625, 10], 15)]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS cifar10_val_packed, cifar10_val_packed_summary;\n",
"\n",
"SELECT madlib.validation_preprocessor_dl('cifar10_val', -- Source table\n",
" 'cifar10_val_packed', -- Output table\n",
" 'y', -- Dependent variable\n",
" 'x', -- Independent variable\n",
" 'cifar10_train_packed', -- From training preprocessor step\n",
" NULL, -- Buffer size\n",
" 'gpu_segments' -- Distribution rules\n",
" ); \n",
"\n",
"SELECT independent_var_shape, dependent_var_shape, buffer_id FROM cifar10_val_packed ORDER BY buffer_id;"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"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",
" <th>distribution_rules</th>\n",
" <th>__internal_gpu_config__</th>\n",
" </tr>\n",
" <tr>\n",
" <td>cifar10_val</td>\n",
" <td>cifar10_val_packed</td>\n",
" <td>y</td>\n",
" <td>x</td>\n",
" <td>smallint</td>\n",
" <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</td>\n",
" <td>625</td>\n",
" <td>256.0</td>\n",
" <td>10</td>\n",
" <td>[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]</td>\n",
" <td>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(u'cifar10_val', u'cifar10_val_packed', u'y', u'x', u'smallint', [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], 625, 256.0, 10, [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT * FROM cifar10_val_packed_summary;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"arch\"></a>\n",
"# 3. Define and load model architectures\n",
"\n",
"Here we load some example model architectures from published sources.\n",
"\n",
"a. Model architecture from https://keras.io/examples/cifar10_cnn/"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"num_classes = 10\n",
"\n",
"#to be removed\n",
"#do this just to get shape for model architecture \n",
"(x_train, y_train), (x_test, y_test) = cifar10.load_data()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_1 (Conv2D) (None, 32, 32, 32) 896 \n",
"_________________________________________________________________\n",
"activation_1 (Activation) (None, 32, 32, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_2 (Conv2D) (None, 30, 30, 32) 9248 \n",
"_________________________________________________________________\n",
"activation_2 (Activation) (None, 30, 30, 32) 0 \n",
"_________________________________________________________________\n",
"max_pooling2d_1 (MaxPooling2 (None, 15, 15, 32) 0 \n",
"_________________________________________________________________\n",
"dropout_1 (Dropout) (None, 15, 15, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_3 (Conv2D) (None, 15, 15, 64) 18496 \n",
"_________________________________________________________________\n",
"activation_3 (Activation) (None, 15, 15, 64) 0 \n",
"_________________________________________________________________\n",
"conv2d_4 (Conv2D) (None, 13, 13, 64) 36928 \n",
"_________________________________________________________________\n",
"activation_4 (Activation) (None, 13, 13, 64) 0 \n",
"_________________________________________________________________\n",
"max_pooling2d_2 (MaxPooling2 (None, 6, 6, 64) 0 \n",
"_________________________________________________________________\n",
"dropout_2 (Dropout) (None, 6, 6, 64) 0 \n",
"_________________________________________________________________\n",
"flatten_1 (Flatten) (None, 2304) 0 \n",
"_________________________________________________________________\n",
"dense_1 (Dense) (None, 512) 1180160 \n",
"_________________________________________________________________\n",
"activation_5 (Activation) (None, 512) 0 \n",
"_________________________________________________________________\n",
"dropout_3 (Dropout) (None, 512) 0 \n",
"_________________________________________________________________\n",
"dense_2 (Dense) (None, 10) 5130 \n",
"_________________________________________________________________\n",
"activation_6 (Activation) (None, 10) 0 \n",
"=================================================================\n",
"Total params: 1,250,858\n",
"Trainable params: 1,250,858\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"model1 = Sequential()\n",
"\n",
"model1.add(Conv2D(32, (3, 3), padding='same',\n",
" input_shape=x_train.shape[1:]))\n",
"model1.add(Activation('relu'))\n",
"model1.add(Conv2D(32, (3, 3)))\n",
"model1.add(Activation('relu'))\n",
"model1.add(MaxPooling2D(pool_size=(2, 2)))\n",
"model1.add(Dropout(0.25))\n",
"\n",
"model1.add(Conv2D(64, (3, 3), padding='same'))\n",
"model1.add(Activation('relu'))\n",
"model1.add(Conv2D(64, (3, 3)))\n",
"model1.add(Activation('relu'))\n",
"model1.add(MaxPooling2D(pool_size=(2, 2)))\n",
"model1.add(Dropout(0.25))\n",
"\n",
"model1.add(Flatten())\n",
"model1.add(Dense(512))\n",
"model1.add(Activation('relu'))\n",
"model1.add(Dropout(0.5))\n",
"model1.add(Dense(num_classes))\n",
"model1.add(Activation('softmax'))\n",
"\n",
"model1.summary()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Conv2D\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"filters\": 32, \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"batch_input_shape\": [null, 32, 32, 3], \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_1\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_2\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"valid\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 32, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_2\"}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_1\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.25, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_1\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_3\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_3\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"conv2d_4\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"valid\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_4\"}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_2\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.25, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_2\"}}, {\"class_name\": \"Flatten\", \"config\": {\"trainable\": true, \"name\": \"flatten_1\", \"data_format\": \"channels_last\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_1\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 512, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"relu\", \"trainable\": true, \"name\": \"activation_5\"}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.5, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_3\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_2\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"linear\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"Activation\", \"config\": {\"activation\": \"softmax\", \"trainable\": true, \"name\": \"activation_6\"}}], \"backend\": \"tensorflow\"}'"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model1.to_json()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"b. Model architecture from https://machinelearningmastery.com/how-to-develop-a-cnn-from-scratch-for-cifar-10-photo-classification/"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_5 (Conv2D) (None, 32, 32, 32) 896 \n",
"_________________________________________________________________\n",
"batch_normalization_1 (Batch (None, 32, 32, 32) 128 \n",
"_________________________________________________________________\n",
"conv2d_6 (Conv2D) (None, 32, 32, 32) 9248 \n",
"_________________________________________________________________\n",
"batch_normalization_2 (Batch (None, 32, 32, 32) 128 \n",
"_________________________________________________________________\n",
"max_pooling2d_3 (MaxPooling2 (None, 16, 16, 32) 0 \n",
"_________________________________________________________________\n",
"dropout_4 (Dropout) (None, 16, 16, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_7 (Conv2D) (None, 16, 16, 64) 18496 \n",
"_________________________________________________________________\n",
"batch_normalization_3 (Batch (None, 16, 16, 64) 256 \n",
"_________________________________________________________________\n",
"conv2d_8 (Conv2D) (None, 16, 16, 64) 36928 \n",
"_________________________________________________________________\n",
"batch_normalization_4 (Batch (None, 16, 16, 64) 256 \n",
"_________________________________________________________________\n",
"max_pooling2d_4 (MaxPooling2 (None, 8, 8, 64) 0 \n",
"_________________________________________________________________\n",
"dropout_5 (Dropout) (None, 8, 8, 64) 0 \n",
"_________________________________________________________________\n",
"conv2d_9 (Conv2D) (None, 8, 8, 128) 73856 \n",
"_________________________________________________________________\n",
"batch_normalization_5 (Batch (None, 8, 8, 128) 512 \n",
"_________________________________________________________________\n",
"conv2d_10 (Conv2D) (None, 8, 8, 128) 147584 \n",
"_________________________________________________________________\n",
"batch_normalization_6 (Batch (None, 8, 8, 128) 512 \n",
"_________________________________________________________________\n",
"max_pooling2d_5 (MaxPooling2 (None, 4, 4, 128) 0 \n",
"_________________________________________________________________\n",
"dropout_6 (Dropout) (None, 4, 4, 128) 0 \n",
"_________________________________________________________________\n",
"flatten_2 (Flatten) (None, 2048) 0 \n",
"_________________________________________________________________\n",
"dense_3 (Dense) (None, 128) 262272 \n",
"_________________________________________________________________\n",
"batch_normalization_7 (Batch (None, 128) 512 \n",
"_________________________________________________________________\n",
"dropout_7 (Dropout) (None, 128) 0 \n",
"_________________________________________________________________\n",
"dense_4 (Dense) (None, 10) 1290 \n",
"=================================================================\n",
"Total params: 552,874\n",
"Trainable params: 551,722\n",
"Non-trainable params: 1,152\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"model2 = Sequential()\n",
"\n",
"model2.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same', input_shape=(32, 32, 3)))\n",
"model2.add(BatchNormalization())\n",
"model2.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(MaxPooling2D((2, 2)))\n",
"model2.add(Dropout(0.2))\n",
"\n",
"model2.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(MaxPooling2D((2, 2)))\n",
"model2.add(Dropout(0.3))\n",
"\n",
"model2.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(MaxPooling2D((2, 2)))\n",
"model2.add(Dropout(0.4))\n",
"\n",
"model2.add(Flatten())\n",
"model2.add(Dense(128, activation='relu', kernel_initializer='he_uniform'))\n",
"model2.add(BatchNormalization())\n",
"model2.add(Dropout(0.5))\n",
"model2.add(Dense(10, activation='softmax'))\n",
"\n",
"model2.summary()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'{\"class_name\": \"Sequential\", \"keras_version\": \"2.1.6\", \"config\": [{\"class_name\": \"Conv2D\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_5\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"dtype\": \"float32\", \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"filters\": 32, \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"batch_input_shape\": [null, 32, 32, 3], \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_1\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_6\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 32, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_2\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_3\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.2, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_4\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_7\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_3\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_8\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 64, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_4\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_4\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.3, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_5\"}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_9\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 128, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_5\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Conv2D\", \"config\": {\"kernel_constraint\": null, \"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"conv2d_10\", \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"data_format\": \"channels_last\", \"padding\": \"same\", \"strides\": [1, 1], \"dilation_rate\": [1, 1], \"kernel_regularizer\": null, \"filters\": 128, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"use_bias\": true, \"activity_regularizer\": null, \"kernel_size\": [3, 3]}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_6\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"MaxPooling2D\", \"config\": {\"name\": \"max_pooling2d_5\", \"trainable\": true, \"data_format\": \"channels_last\", \"pool_size\": [2, 2], \"padding\": \"valid\", \"strides\": [2, 2]}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.4, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_6\"}}, {\"class_name\": \"Flatten\", \"config\": {\"trainable\": true, \"name\": \"flatten_2\", \"data_format\": \"channels_last\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 2.0, \"seed\": null, \"mode\": \"fan_in\"}}, \"name\": \"dense_3\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"relu\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 128, \"use_bias\": true, \"activity_regularizer\": null}}, {\"class_name\": \"BatchNormalization\", \"config\": {\"beta_constraint\": null, \"gamma_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"moving_mean_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"name\": \"batch_normalization_7\", \"epsilon\": 0.001, \"trainable\": true, \"moving_variance_initializer\": {\"class_name\": \"Ones\", \"config\": {}}, \"beta_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"scale\": true, \"axis\": -1, \"gamma_constraint\": null, \"gamma_regularizer\": null, \"beta_regularizer\": null, \"momentum\": 0.99, \"center\": true}}, {\"class_name\": \"Dropout\", \"config\": {\"rate\": 0.5, \"noise_shape\": null, \"trainable\": true, \"seed\": null, \"name\": \"dropout_7\"}}, {\"class_name\": \"Dense\", \"config\": {\"kernel_initializer\": {\"class_name\": \"VarianceScaling\", \"config\": {\"distribution\": \"uniform\", \"scale\": 1.0, \"seed\": null, \"mode\": \"fan_avg\"}}, \"name\": \"dense_4\", \"kernel_constraint\": null, \"bias_regularizer\": null, \"bias_constraint\": null, \"activation\": \"softmax\", \"trainable\": true, \"kernel_regularizer\": null, \"bias_initializer\": {\"class_name\": \"Zeros\", \"config\": {}}, \"units\": 10, \"use_bias\": true, \"activity_regularizer\": null}}], \"backend\": \"tensorflow\"}'"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model2.to_json()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"c. Another model architecture from https://machinelearningmastery.com/how-to-develop-a-cnn-from-scratch-for-cifar-10-photo-classification/"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"_________________________________________________________________\n",
"Layer (type) Output Shape Param # \n",
"=================================================================\n",
"conv2d_11 (Conv2D) (None, 32, 32, 32) 896 \n",
"_________________________________________________________________\n",
"conv2d_12 (Conv2D) (None, 32, 32, 32) 9248 \n",
"_________________________________________________________________\n",
"max_pooling2d_6 (MaxPooling2 (None, 16, 16, 32) 0 \n",
"_________________________________________________________________\n",
"dropout_8 (Dropout) (None, 16, 16, 32) 0 \n",
"_________________________________________________________________\n",
"conv2d_13 (Conv2D) (None, 16, 16, 64) 18496 \n",
"_________________________________________________________________\n",
"conv2d_14 (Conv2D) (None, 16, 16, 64) 36928 \n",
"_________________________________________________________________\n",
"max_pooling2d_7 (MaxPooling2 (None, 8, 8, 64) 0 \n",
"_________________________________________________________________\n",
"dropout_9 (Dropout) (None, 8, 8, 64) 0 \n",
"_________________________________________________________________\n",
"conv2d_15 (Conv2D) (None, 8, 8, 128) 73856 \n",
"_________________________________________________________________\n",
"conv2d_16 (Conv2D) (None, 8, 8, 128) 147584 \n",
"_________________________________________________________________\n",
"max_pooling2d_8 (MaxPooling2 (None, 4, 4, 128) 0 \n",
"_________________________________________________________________\n",
"dropout_10 (Dropout) (None, 4, 4, 128) 0 \n",
"_________________________________________________________________\n",
"flatten_3 (Flatten) (None, 2048) 0 \n",
"_________________________________________________________________\n",
"dense_5 (Dense) (None, 128) 262272 \n",
"_________________________________________________________________\n",
"dropout_11 (Dropout) (None, 128) 0 \n",
"_________________________________________________________________\n",
"dense_6 (Dense) (None, 10) 1290 \n",
"=================================================================\n",
"Total params: 550,570\n",
"Trainable params: 550,570\n",
"Non-trainable params: 0\n",
"_________________________________________________________________\n"
]
}
],
"source": [
"model3 = Sequential()\n",
"\n",
"model3.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same', input_shape=(32, 32, 3)))\n",
"model3.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model3.add(MaxPooling2D((2, 2)))\n",
"model3.add(Dropout(0.2))\n",
"model3.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model3.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model3.add(MaxPooling2D((2, 2)))\n",
"model3.add(Dropout(0.3))\n",
"model3.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model3.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_uniform', padding='same'))\n",
"model3.add(MaxPooling2D((2, 2)))\n",
"model3.add(Dropout(0.4))\n",
"model3.add(Flatten())\n",
"model3.add(Dense(128, activation='relu', kernel_initializer='he_uniform'))\n",
"model3.add(Dropout(0.5))\n",
"model3.add(Dense(10, activation='softmax'))\n",
"\n",
"model3.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Load into model architecture table using psycopg2"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"3 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>CNN from Keras docs for CIFAR-10</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>CNN from Jason Brownlee blog post</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>CNN from Jason Brownlee blog post - no batch normalization</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(1, u'CNN from Keras docs for CIFAR-10'),\n",
" (2, u'CNN from Jason Brownlee blog post'),\n",
" (3, u'CNN from Jason Brownlee blog post - no batch normalization')]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import psycopg2 as p2\n",
"#conn = p2.connect('postgresql://gpadmin@35.239.240.26:5432/madlib')\n",
"#conn = p2.connect('postgresql://fmcquillan@localhost:5432/madlib')\n",
"conn = p2.connect('postgresql://gpadmin@localhost:8000/cifar_demo')\n",
"cur = conn.cursor()\n",
"\n",
"%sql DROP TABLE IF EXISTS model_arch_table_cifar10;\n",
"query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
"cur.execute(query,[model1.to_json(), \"CNN from Keras docs for CIFAR-10\"])\n",
"conn.commit()\n",
"\n",
"query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
"cur.execute(query,[model2.to_json(), \"CNN from Jason Brownlee blog post\"])\n",
"conn.commit()\n",
"\n",
"query = \"SELECT madlib.load_keras_model('model_arch_table_cifar10', %s, NULL, %s)\"\n",
"cur.execute(query,[model3.to_json(), \"CNN from Jason Brownlee blog post - no batch normalization\"])\n",
"conn.commit()\n",
"\n",
"# check model loaded OK\n",
"%sql SELECT model_id, name FROM model_arch_table_cifar10 ORDER BY model_id;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"hyperband\"></a>\n",
"# 4. Hyperband diagonal\n",
"\n",
"Create tables for intermediate and overall results from Hyperband, which is running on top of MADlib model selection methods."
]
},
{
"cell_type": "code",
"execution_count": 13,
"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": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"-- overall results table\n",
"DROP TABLE IF EXISTS results_cifar10;\n",
"CREATE TABLE results_cifar10 ( \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, -- bracket number from Hyperband\n",
" i INTEGER, -- iteration corresponding to successive having within a bracket\n",
" run_id SERIAL -- global counter for the training runs\n",
" );\n",
"\n",
"-- all model selections:\n",
"-- model selection table containing all model configs (all brackets)\n",
"DROP TABLE IF EXISTS mst_table_hb_cifar10;\n",
"CREATE TABLE mst_table_hb_cifar10 (\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_cifar10_summary;\n",
"CREATE TABLE mst_table_hb_cifar10_summary (model_arch_table VARCHAR);\n",
"INSERT INTO mst_table_hb_cifar10_summary VALUES ('model_arch_table_cifar10');\n",
"\n",
"-- diagonal model selections:\n",
"-- model selection table for diagonal: fit() will be called on a per diagonal basis\n",
"DROP TABLE IF EXISTS mst_diag_table_hb_cifar10;\n",
"CREATE TABLE mst_diag_table_hb_cifar10 (\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 table\n",
"DROP TABLE IF EXISTS mst_diag_table_hb_cifar10_summary;\n",
"CREATE TABLE mst_diag_table_hb_cifar10_summary (model_arch_table VARCHAR);\n",
"INSERT INTO mst_diag_table_hb_cifar10_summary VALUES ('model_arch_table_cifar10');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generalize table names"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"source": [
"results_table = 'results_cifar10'\n",
"\n",
"output_table = 'cifar10_multi_model'\n",
"output_table_info = '_'.join([output_table, 'info'])\n",
"output_table_summary = '_'.join([output_table, 'summary'])\n",
"\n",
"best_model = 'cifar10_best_model'\n",
"best_model_info = '_'.join([best_model, 'info'])\n",
"best_model_summary = '_'.join([best_model, 'summary'])\n",
"\n",
"\n",
"mst_table = 'mst_table_hb_cifar10'\n",
"mst_table_summary = '_'.join([mst_table, 'summary'])\n",
"\n",
"mst_diag_table = 'mst_diag_table_hb_cifar10'\n",
"mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
"\n",
"model_arch_table = 'model_arch_table_cifar10'"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Hyperband diagonal logic"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define variables for Hyperband"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"max_iter = 27 # maximum iterations per configuration\n",
"eta = 3 # defines downsampling rate (default = 3)\n",
"skip_last = 0 # 1 means skip last run in each bracket, 0 means run full bracket"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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 = max_iter \n",
" self.eta = eta \n",
" self.skip_last = skip_last \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",
" \n",
" #echo output\n",
" print (\"max_iter = \" + str(self.max_iter))\n",
" print (\"eta = \" + str(self.eta))\n",
" print (\"B = \" + str(self.s_max+1) + \"*max_iter = \" + str(self.B))\n",
" print (\"skip_last = \" + str(self.skip_last))\n",
" \n",
" self.setup_full_schedule()\n",
" self.create_mst_superset()\n",
" \n",
" self.best_loss = np.inf\n",
" self.best_accuracy = 0.0\n",
"\n",
" # create full Hyperband schedule for all brackets ahead of time\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",
" \n",
" print (\" \")\n",
" print (\"Hyperband brackets\")\n",
"\n",
" # loop through each bracket in reverse order\n",
" for s in reversed(range(self.s_max+1)):\n",
" \n",
" print (\" \")\n",
" print (\"s=\" + str(s))\n",
" print (\"n_i r_i\")\n",
" print (\"------------\")\n",
"\n",
" for i in range(s+1):\n",
" # n_i configs for r_i iterations\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",
" \n",
" # generate model selection tuples for all brackets\n",
" def create_mst_superset(self):\n",
" \n",
" print (\" \")\n",
" print (\"Create superset of MSTs for each bracket s\")\n",
" \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",
" 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",
" # Hyperband diagonal logic\n",
" def run(self): \n",
" \n",
" print (\" \")\n",
" print (\"Hyperband diagonal\")\n",
" print (\"Outer loop on diagonal:\")\n",
" \n",
" # outer loop on diagonal\n",
" #for i in range(self.s_max+1):\n",
" for i in range((self.s_max+1) - int(self.skip_last)):\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",
" # first pass\n",
" if i == 0:\n",
" first_pass = True\n",
" else:\n",
" first_pass = False\n",
" \n",
" # multi-model training\n",
" print (\" \")\n",
" print (\"Try params for i = \" + str(i))\n",
" U = self.try_params(i, self.r_vals[self.s_max][i], first_pass) # r_i is the same for all diagonal elements\n",
" \n",
" # loop on brackets s desc to prune model selection table\n",
" # don't need to prune if finished last diagonal\n",
" #if i < (self.s_max):\n",
" if i < (self.s_max - int(self.skip_last)):\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",
" # compute number of configs to keep\n",
" # remember i value is different for each bracket s on the diagonal\n",
" k = int( self.n_vals[s][s-self.s_max+i] / self.eta)\n",
" print (\"Pruning s = {} with k = {}\".format(s, k))\n",
"\n",
" # temporarily re-define table names due to weird Python scope issues\n",
" results_table = 'results_cifar10'\n",
"\n",
" output_table = 'cifar10_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_cifar10'\n",
" mst_table_summary = '_'.join([mst_table, 'summary'])\n",
"\n",
" mst_diag_table = 'mst_diag_table_hb_cifar10'\n",
" mst_diag_table_summary = '_'.join([mst_diag_table, 'summary'])\n",
"\n",
" model_arch_table = 'model_arch_table_cifar10'\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",
" \n",
" # these were not working so used cursor instead\n",
" #%sql 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",
" #%sql DELETE FROM mst_table_hb_cifar10 WHERE s=1 AND mst_key NOT IN (SELECT cifar10_multi_model_info.mst_key FROM cifar10_multi_model_info JOIN mst_table_hb_cifar10 ON cifar10_multi_model_info.mst_key=mst_table_hb_cifar10.mst_key WHERE s=1 ORDER BY validation_loss_final ASC LIMIT 1);\n",
" \n",
" # keep track of best loss so far and save the model for inference\n",
" # get best loss and accuracy from this diagonal run\n",
" # (need to check if this will work OK if don't evaluate metrics every iteration)\n",
" loss = %sql SELECT validation_loss_final FROM $output_table_info ORDER BY validation_loss_final ASC LIMIT 1;\n",
" accuracy = %sql SELECT validation_metrics_final FROM $output_table_info ORDER BY validation_metrics_final DESC LIMIT 1;\n",
" \n",
" # save best model based on accuracy (could do loss if you wanted)\n",
" if accuracy > self.best_accuracy:\n",
" \n",
" self.best_accuracy = accuracy\n",
" \n",
" # get best mst_key\n",
" best_mst_key = %sql SELECT mst_key FROM $output_table_info ORDER BY validation_metrics_final DESC LIMIT 1; \n",
" best_mst_key = best_mst_key.DataFrame().to_numpy()[0][0]\n",
"\n",
" # save model table (1 row for best model)\n",
" %sql DROP TABLE IF EXISTS $best_model;\n",
" %sql CREATE TABLE $best_model AS SELECT * FROM $output_table WHERE mst_key = $best_mst_key;\n",
"\n",
" # save info table (1 row for best model)\n",
" %sql DROP TABLE IF EXISTS $best_model_info;\n",
" %sql CREATE TABLE $best_model_info AS SELECT * FROM $output_table_info WHERE mst_key = $best_mst_key;\n",
" \n",
" # save summary table\n",
" %sql DROP TABLE IF EXISTS $best_model_summary;\n",
" %sql CREATE TABLE $best_model_summary AS SELECT * FROM $output_table_summary;\n",
" \n",
" if loss < self.best_loss:\n",
" self.best_loss = loss\n",
" \n",
" print (\" \")\n",
" print (\"Best validation loss so far = \")\n",
" print (str(loss))\n",
" print (\"Best validation accuracy so far = \")\n",
" print (str(accuracy))\n",
" \n",
"\n",
" \n",
" return"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Generate params and insert into MST table. This version of get_params uses the same compile parameters for all optimizers, and the same compile/fit parameters for all model architectures. (This may be too restrictive in some cases.) -- Note 3/13: check SIGMOID paper runs which I think I may have addressed this to some extent"
]
},
{
"cell_type": "code",
"execution_count": 20,
"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,2]\n",
"\n",
" # compile params\n",
" # loss function\n",
" loss = ['categorical_crossentropy']\n",
" # optimizer\n",
" optimizer = ['sgd', 'adam', 'rmsprop']\n",
" # learning rate (sample on log scale here not in ParameterSampler)\n",
" lr_range = [0.0001, 0.01]\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 = [32, 64, 128, 256]\n",
" # epochs\n",
" epochs = [5]\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": "markdown",
"metadata": {},
"source": [
"Generate params and insert into MST table. This version of get_params allows for more customization by optimizer and model architecture. This is sort of brute force and can be improved."
]
},
{
"cell_type": "code",
"execution_count": 20,
"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",
" # number of samples by optimizer\n",
" #n_adam = int(n/3)\n",
" n_adam = int(n/2)\n",
" #n_rmsprop = int(n/3)\n",
" n_rmsprop = 0\n",
" n_sgd = int(n - n_adam - n_rmsprop)\n",
"\n",
" # 1) adam\n",
" \n",
" # model architecture\n",
" model_id = [2,3]\n",
"\n",
" # compile params\n",
" # loss function\n",
" loss = ['categorical_crossentropy']\n",
" # optimizer\n",
" optimizer = ['adam']\n",
" # learning rate (sample on log scale here not in ParameterSampler)\n",
" lr_range = [0.0001, 0.001]\n",
" lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_adam)\n",
" # metrics\n",
" metrics = ['accuracy']\n",
"\n",
" # fit params\n",
" # batch size\n",
" batch_size = [128, 256]\n",
" # epochs\n",
" epochs = [5]\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_adam = list(ParameterSampler(param_grid, n_iter=n_adam))\n",
"\n",
" # iterate over params\n",
" for params in param_list_adam:\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",
" # populate mst table\n",
" %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
" \n",
" \n",
" # 2) rmsprop\n",
" \n",
" # model architecture\n",
" model_id = [1,2,3]\n",
"\n",
" # compile params\n",
" # loss function\n",
" loss = ['categorical_crossentropy']\n",
" # optimizer\n",
" optimizer = ['rmsprop']\n",
" # learning rate (sample on log scale here not in ParameterSampler)\n",
" lr_range = [0.0001, 0.001]\n",
" lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_rmsprop)\n",
" # decay (sample on log scale here not in ParameterSampler if want multiple values)\n",
" decay = [1e-6]\n",
"\n",
" # metrics\n",
" metrics = ['accuracy']\n",
"\n",
" # fit params\n",
" # batch size\n",
" batch_size = [32, 64, 128, 256]\n",
" # epochs\n",
" epochs = [5]\n",
"\n",
" # create random param list\n",
" param_grid = {\n",
" 'model_id': model_id,\n",
" 'loss': loss,\n",
" 'optimizer': optimizer,\n",
" 'lr': lr,\n",
" 'decay': decay,\n",
" 'metrics': metrics,\n",
" 'batch_size': batch_size,\n",
" 'epochs': epochs\n",
" }\n",
" param_list_rmsprop = list(ParameterSampler(param_grid, n_iter=n_rmsprop))\n",
"\n",
" # iterate over params\n",
" for params in param_list_rmsprop:\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\")) + \",decay=\" + str(params.get(\"decay\")) + \")',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",
" # populate mst table\n",
" %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
"\n",
"\n",
" # 3) sgd\n",
" \n",
" # model architecture\n",
" model_id = [2,3]\n",
"\n",
" # compile params\n",
" # loss function\n",
" loss = ['categorical_crossentropy']\n",
" # optimizer\n",
" optimizer = ['sgd']\n",
" # learning rate (sample on log scale here not in ParameterSampler)\n",
" lr_range = [0.001, 0.005]\n",
" lr = 10**np.random.uniform(np.log10(lr_range[0]), np.log10(lr_range[1]), n_sgd)\n",
" # momentum (sample on log scale here not in ParameterSampler)\n",
" # recall momentum is an exponentially weighted array\n",
" beta_range = [0.9, 0.95]\n",
" beta = 1.0 - 10**np.random.uniform(np.log10(1.0-beta_range[0]), np.log10(1.0-beta_range[1]), n_sgd)\n",
" # metrics\n",
" metrics = ['accuracy']\n",
"\n",
" # fit params\n",
" # batch size\n",
" batch_size = [128, 256]\n",
" # epochs\n",
" epochs = [5]\n",
"\n",
" # create random param list\n",
" param_grid = {\n",
" 'model_id': model_id,\n",
" 'loss': loss,\n",
" 'optimizer': optimizer,\n",
" 'lr': lr,\n",
" 'beta': beta,\n",
" 'metrics': metrics,\n",
" 'batch_size': batch_size,\n",
" 'epochs': epochs\n",
" }\n",
" param_list_sgd = list(ParameterSampler(param_grid, n_iter=n_sgd))\n",
"\n",
" # iterate over params\n",
" for params in param_list_sgd:\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\")) + \",momentum=\" + str(params.get(\"beta\")) + \")',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",
" # populate mst table\n",
" %sql INSERT INTO $mst_table (s, model_id, compile_params, fit_params) VALUES $row_content\n",
"\n",
" \n",
" #4) organize mst table\n",
"\n",
" #down sample\n",
" #%sql DELETE from $mst_table WHERE mst_key NOT IN (SELECT mst_key FROM $mst_table ORDER BY random() LIMIT $n);\n",
"\n",
" # make mst_keys contiguous\n",
" #%sql ALTER TABLE $mst_table DROP COLUMN mst_key;\n",
" #%sql ALTER TABLE $mst_table ADD COLUMN mst_key SERIAL;\n",
" \n",
" return"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Run model hopper for candidates in MST table"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"def try_params(i, r, first_pass):\n",
" \n",
" # multi-model fit\n",
" if first_pass:\n",
" # cold start\n",
" %sql DROP TABLE IF EXISTS $output_table, $output_table_summary, $output_table_info;\n",
" # passing vars as madlib args does not seem to work\n",
" #%sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', $output_table, $mst_diag_table, $r_i::INT, 0);\n",
" %sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', 'cifar10_multi_model', 'mst_diag_table_hb_cifar10', $r::INT, True, 'cifar10_val_packed',1);\n",
"\n",
" else:\n",
" # warm start to continue from previous run\n",
" %sql SELECT madlib.madlib_keras_fit_multiple_model('cifar10_train_packed', 'cifar10_multi_model', 'mst_diag_table_hb_cifar10', $r::INT, True, 'cifar10_val_packed', 1, True);\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_cifar10 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": "markdown",
"metadata": {},
"source": [
"Call Hyperband diagonal"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"max_iter = 27\n",
"eta = 3\n",
"B = 4*max_iter = 108\n",
"skip_last = 0\n",
" \n",
"Hyperband brackets\n",
" \n",
"s=3\n",
"n_i r_i\n",
"------------\n",
"27 1.0\n",
"9.0 3.0\n",
"3.0 9.0\n",
"1.0 27.0\n",
" \n",
"s=2\n",
"n_i r_i\n",
"------------\n",
"9 3.0\n",
"3.0 9.0\n",
"1.0 27.0\n",
" \n",
"s=1\n",
"n_i r_i\n",
"------------\n",
"6 9.0\n",
"2.0 27.0\n",
" \n",
"s=0\n",
"n_i r_i\n",
"------------\n",
"4 27\n",
" \n",
"Create superset of MSTs for each bracket s\n",
" \n",
"s=3\n",
"n=27\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",
"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",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
" \n",
"s=2\n",
"n=9\n",
"r=3.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",
"s=1\n",
"n=6\n",
"r=9.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",
" \n",
"s=0\n",
"n=4\n",
"r=27\n",
" \n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
" \n",
"Hyperband diagonal\n",
"Outer loop on diagonal:\n",
" \n",
"i=0\n",
"Done.\n",
"Loop on s desc to create diagonal table:\n",
"27 rows affected.\n",
" \n",
"Try params for i = 0\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"27 rows affected.\n",
"Done.\n",
"27 rows affected.\n",
"27 rows affected.\n",
"27 rows affected.\n",
"Loop on s desc to prune mst table:\n",
"Pruning s = 3 with k = 9\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
" \n",
"Best validation loss so far = \n",
"+-----------------------+\n",
"| validation_loss_final |\n",
"+-----------------------+\n",
"| 0.782763898373 |\n",
"+-----------------------+\n",
"Best validation accuracy so far = \n",
"+--------------------------+\n",
"| validation_metrics_final |\n",
"+--------------------------+\n",
"| 0.72729998827 |\n",
"+--------------------------+\n",
" \n",
"i=1\n",
"Done.\n",
"Loop on s desc to create diagonal table:\n",
"9 rows affected.\n",
"9 rows affected.\n",
" \n",
"Try params for i = 1\n",
"1 rows affected.\n",
"Done.\n",
"18 rows affected.\n",
"Done.\n",
"18 rows affected.\n",
"18 rows affected.\n",
"18 rows affected.\n",
"Loop on s desc to prune mst table:\n",
"Pruning s = 3 with k = 3\n",
"Pruning s = 2 with k = 3\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
" \n",
"Best validation loss so far = \n",
"+-----------------------+\n",
"| validation_loss_final |\n",
"+-----------------------+\n",
"| 0.602479159832 |\n",
"+-----------------------+\n",
"Best validation accuracy so far = \n",
"+--------------------------+\n",
"| validation_metrics_final |\n",
"+--------------------------+\n",
"| 0.805599987507 |\n",
"+--------------------------+\n",
" \n",
"i=2\n",
"Done.\n",
"Loop on s desc to create diagonal table:\n",
"3 rows affected.\n",
"3 rows affected.\n",
"6 rows affected.\n",
" \n",
"Try params for i = 2\n",
"1 rows affected.\n",
"Done.\n",
"12 rows affected.\n",
"Done.\n",
"12 rows affected.\n",
"12 rows affected.\n",
"12 rows affected.\n",
"Loop on s desc to prune mst table:\n",
"Pruning s = 3 with k = 1\n",
"Pruning s = 2 with k = 1\n",
"Pruning s = 1 with k = 2\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
" \n",
"Best validation loss so far = \n",
"+-----------------------+\n",
"| validation_loss_final |\n",
"+-----------------------+\n",
"| 0.595765888691 |\n",
"+-----------------------+\n",
"Best validation accuracy so far = \n",
"+--------------------------+\n",
"| validation_metrics_final |\n",
"+--------------------------+\n",
"| 0.824999988079 |\n",
"+--------------------------+\n",
" \n",
"i=3\n",
"Done.\n",
"Loop on s desc to create diagonal table:\n",
"1 rows affected.\n",
"1 rows affected.\n",
"2 rows affected.\n",
"4 rows affected.\n",
" \n",
"Try params for i = 3\n",
"1 rows affected.\n",
"Done.\n",
"8 rows affected.\n",
"Done.\n",
"8 rows affected.\n",
"8 rows affected.\n",
"8 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
"Done.\n",
"1 rows affected.\n",
" \n",
"Best validation loss so far = \n",
"+-----------------------+\n",
"| validation_loss_final |\n",
"+-----------------------+\n",
"| 0.580716967583 |\n",
"+-----------------------+\n",
"Best validation accuracy so far = \n",
"+--------------------------+\n",
"| validation_metrics_final |\n",
"+--------------------------+\n",
"| 0.834100008011 |\n",
"+--------------------------+\n"
]
}
],
"source": [
"hp = Hyperband_diagonal(get_params, try_params )\n",
"results = hp.run()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"plot\"></a>\n",
"# 5. Review and plot results"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>mst_key</th>\n",
" <th>model_id</th>\n",
" <th>compile_params</th>\n",
" <th>fit_params</th>\n",
" <th>model_type</th>\n",
" <th>model_size</th>\n",
" <th>metrics_elapsed_time</th>\n",
" <th>metrics_type</th>\n",
" <th>training_metrics_final</th>\n",
" <th>training_loss_final</th>\n",
" <th>training_metrics</th>\n",
" <th>training_loss</th>\n",
" <th>validation_metrics_final</th>\n",
" <th>validation_loss_final</th>\n",
" <th>validation_metrics</th>\n",
" <th>validation_loss</th>\n",
" <th>model_arch_table</th>\n",
" <th>num_iterations</th>\n",
" <th>start_training_time</th>\n",
" <th>end_training_time</th>\n",
" <th>s</th>\n",
" <th>i</th>\n",
" <th>run_id</th>\n",
" </tr>\n",
" <tr>\n",
" <td>45</td>\n",
" <td>2</td>\n",
" <td>loss='categorical_crossentropy',optimizer='sgd(lr=0.004501919010538727,momentum=0.9002808952996391)',metrics=['accuracy']</td>\n",
" <td>batch_size=256,epochs=5</td>\n",
" <td>madlib_keras</td>\n",
" <td>2159.70019531</td>\n",
" <td>[121.955986022949, 245.619317054749, 368.365077972412, 490.415205955505, 614.768485069275, 737.048167943954, 860.508330106735, 984.307431936264, 1106.31793498993, 1229.54079914093, 1352.66811394691, 1477.57317709923, 1599.99458003044, 1723.35215711594, 1847.86346912384, 1971.57312297821, 2096.37913298607, 2221.54790210724, 2346.08665895462, 2470.83494997025, 2595.6411960125, 2722.25887513161, 2846.48335313797, 2971.13271403313, 3097.49445009232, 3222.44972395897, 3348.5662779808]</td>\n",
" <td>[u'accuracy']</td>\n",
" <td>0.941940009594</td>\n",
" <td>0.169452220201</td>\n",
" <td>[0.574479997158051, 0.658760011196136, 0.695840001106262, 0.72733998298645, 0.733219981193542, 0.771200001239777, 0.778680026531219, 0.808700025081635, 0.809000015258789, 0.818579971790314, 0.835739970207214, 0.84799998998642, 0.853200018405914, 0.858900010585785, 0.872919976711273, 0.878780007362366, 0.88808000087738, 0.880240023136139, 0.894320011138916, 0.903779983520508, 0.912299990653992, 0.908439993858337, 0.919539988040924, 0.924639999866486, 0.929180026054382, 0.9375, 0.941940009593964]</td>\n",
" <td>[1.19219434261322, 0.959131419658661, 0.861107409000397, 0.770956337451935, 0.747268915176392, 0.64410811662674, 0.628470838069916, 0.539423823356628, 0.541868448257446, 0.514527797698975, 0.469026476144791, 0.432008743286133, 0.416983753442764, 0.402583330869675, 0.363078087568283, 0.346161216497421, 0.317243546247482, 0.340911239385605, 0.304346263408661, 0.274338334798813, 0.253901869058609, 0.262585163116455, 0.231020957231522, 0.218931555747986, 0.206650838255882, 0.184870630502701, 0.169452220201492]</td>\n",
" <td>0.816399991512</td>\n",
" <td>0.580716967583</td>\n",
" <td>[0.565699994564056, 0.641200006008148, 0.674899995326996, 0.704500019550323, 0.708000004291534, 0.740499973297119, 0.739799976348877, 0.766499996185303, 0.762099981307983, 0.76690000295639, 0.780900001525879, 0.785000026226044, 0.785300016403198, 0.79009997844696, 0.79449999332428, 0.795799970626831, 0.802600026130676, 0.792599976062775, 0.798399984836578, 0.807299971580505, 0.810500025749207, 0.801699995994568, 0.805400013923645, 0.811600029468536, 0.810100018978119, 0.813899993896484, 0.816399991512299]</td>\n",
" <td>[1.20952260494232, 1.00138294696808, 0.919946014881134, 0.846988558769226, 0.835236310958862, 0.748137712478638, 0.745132148265839, 0.670836567878723, 0.688502311706543, 0.673530399799347, 0.646275579929352, 0.626095473766327, 0.629233837127686, 0.623023450374603, 0.601795375347137, 0.603216171264648, 0.587353229522705, 0.635767936706543, 0.61867493391037, 0.594616591930389, 0.586753845214844, 0.60888147354126, 0.601007521152496, 0.593143999576569, 0.601291477680206, 0.583372294902802, 0.580716967582703]</td>\n",
" <td>model_arch_table_cifar10</td>\n",
" <td>27</td>\n",
" <td>2020-01-23 21:12:04.749779</td>\n",
" <td>2020-01-23 22:07:53.819497</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>65</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(45, 2, u\"loss='categorical_crossentropy',optimizer='sgd(lr=0.004501919010538727,momentum=0.9002808952996391)',metrics=['accuracy']\", u'batch_size=256,epochs=5', u'madlib_keras', 2159.70019531, [121.955986022949, 245.619317054749, 368.365077972412, 490.415205955505, 614.768485069275, 737.048167943954, 860.508330106735, 984.307431936264, 1106.31793498993, 1229.54079914093, 1352.66811394691, 1477.57317709923, 1599.99458003044, 1723.35215711594, 1847.86346912384, 1971.57312297821, 2096.37913298607, 2221.54790210724, 2346.08665895462, 2470.83494997025, 2595.6411960125, 2722.25887513161, 2846.48335313797, 2971.13271403313, 3097.49445009232, 3222.44972395897, 3348.5662779808], [u'accuracy'], 0.941940009594, 0.169452220201, [0.574479997158051, 0.658760011196136, 0.695840001106262, 0.72733998298645, 0.733219981193542, 0.771200001239777, 0.778680026531219, 0.808700025081635, 0.809000015258789, 0.818579971790314, 0.835739970207214, 0.84799998998642, 0.853200018405914, 0.858900010585785, 0.872919976711273, 0.878780007362366, 0.88808000087738, 0.880240023136139, 0.894320011138916, 0.903779983520508, 0.912299990653992, 0.908439993858337, 0.919539988040924, 0.924639999866486, 0.929180026054382, 0.9375, 0.941940009593964], [1.19219434261322, 0.959131419658661, 0.861107409000397, 0.770956337451935, 0.747268915176392, 0.64410811662674, 0.628470838069916, 0.539423823356628, 0.541868448257446, 0.514527797698975, 0.469026476144791, 0.432008743286133, 0.416983753442764, 0.402583330869675, 0.363078087568283, 0.346161216497421, 0.317243546247482, 0.340911239385605, 0.304346263408661, 0.274338334798813, 0.253901869058609, 0.262585163116455, 0.231020957231522, 0.218931555747986, 0.206650838255882, 0.184870630502701, 0.169452220201492], 0.816399991512, 0.580716967583, [0.565699994564056, 0.641200006008148, 0.674899995326996, 0.704500019550323, 0.708000004291534, 0.740499973297119, 0.739799976348877, 0.766499996185303, 0.762099981307983, 0.76690000295639, 0.780900001525879, 0.785000026226044, 0.785300016403198, 0.79009997844696, 0.79449999332428, 0.795799970626831, 0.802600026130676, 0.792599976062775, 0.798399984836578, 0.807299971580505, 0.810500025749207, 0.801699995994568, 0.805400013923645, 0.811600029468536, 0.810100018978119, 0.813899993896484, 0.816399991512299], [1.20952260494232, 1.00138294696808, 0.919946014881134, 0.846988558769226, 0.835236310958862, 0.748137712478638, 0.745132148265839, 0.670836567878723, 0.688502311706543, 0.673530399799347, 0.646275579929352, 0.626095473766327, 0.629233837127686, 0.623023450374603, 0.601795375347137, 0.603216171264648, 0.587353229522705, 0.635767936706543, 0.61867493391037, 0.594616591930389, 0.586753845214844, 0.60888147354126, 0.601007521152496, 0.593143999576569, 0.601291477680206, 0.583372294902802, 0.580716967582703], u'model_arch_table_cifar10', 27, datetime.datetime(2020, 1, 23, 21, 12, 4, 749779), datetime.datetime(2020, 1, 23, 22, 7, 53, 819497), 0, 3, 65)]"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql SELECT * FROM $results_table ORDER BY validation_loss_final ASC LIMIT 1;"
]
},
{
"cell_type": "code",
"execution_count": 24,
"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": 26,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"65 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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\" 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",
"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",
"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",
"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",
"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_final ASC LIMIT 100;\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": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"65 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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\" 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",
"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",
"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",
"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",
"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_metrics_final DESC LIMIT 100;\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",
"# 6. Print run schedules (display only)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pretty print reg Hyperband run schedule"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"max_iter = 27\n",
"eta = 3\n",
"B = 4*max_iter = 108\n",
"skip_last = 0\n",
" \n",
"s=3\n",
"n_i r_i\n",
"------------\n",
"27 1.0\n",
"9.0 3.0\n",
"3.0 9.0\n",
"1.0 27.0\n",
" \n",
"s=2\n",
"n_i r_i\n",
"------------\n",
"9 3.0\n",
"3.0 9.0\n",
"1.0 27.0\n",
" \n",
"s=1\n",
"n_i r_i\n",
"------------\n",
"6 9.0\n",
"2.0 27.0\n",
" \n",
"s=0\n",
"n_i r_i\n",
"------------\n",
"4 27\n",
" \n",
"sum of configurations at leaf nodes across all s = 8.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 = 27 # maximum iterations/epochs per configuration\n",
"eta = 3 # defines downsampling rate (default=3)\n",
"skip_last = 0 # 1 means skip last run in each bracket, 0 means run full bracket\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",
"print (\"skip_last = \" + str(skip_last))\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) - int(skip_last)):\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-skip_last):\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": null,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from math import log, ceil\n",
"\n",
"#input\n",
"max_iter = 27 # maximum iterations/epochs per configuration\n",
"eta = 3 # defines downsampling rate (default=3)\n",
"skip_last = 1 # 1 means skip last run in each bracket, 0 means run full bracket\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) - int(skip_last)):\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))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"predict\"></a>\n",
"# 7. Inference\n",
"\n",
"Use the best model from the last run.\n",
"\n",
"## 7a. Run predict on the whole validation dataset"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>mst_key</th>\n",
" <th>model_id</th>\n",
" <th>compile_params</th>\n",
" <th>fit_params</th>\n",
" <th>model_type</th>\n",
" <th>model_size</th>\n",
" <th>metrics_elapsed_time</th>\n",
" <th>metrics_type</th>\n",
" <th>training_metrics_final</th>\n",
" <th>training_loss_final</th>\n",
" <th>training_metrics</th>\n",
" <th>training_loss</th>\n",
" <th>validation_metrics_final</th>\n",
" <th>validation_loss_final</th>\n",
" <th>validation_metrics</th>\n",
" <th>validation_loss</th>\n",
" </tr>\n",
" <tr>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" <td>loss='categorical_crossentropy',optimizer='adam(lr=0.002826545217978097)',metrics=['accuracy']</td>\n",
" <td>batch_size=128,epochs=5</td>\n",
" <td>madlib_keras</td>\n",
" <td>2159.70019531</td>\n",
" <td>[156.498700857162, 314.38369679451, 471.076618909836]</td>\n",
" <td>[u'accuracy']</td>\n",
" <td>0.89631998539</td>\n",
" <td>0.301868826151</td>\n",
" <td>[0.817480027675629, 0.862479984760284, 0.896319985389709]</td>\n",
" <td>[0.536632478237152, 0.400230169296265, 0.301868826150894]</td>\n",
" <td>0.805899977684</td>\n",
" <td>0.613121390343</td>\n",
" <td>[0.764500021934509, 0.788500010967255, 0.805899977684021]</td>\n",
" <td>[0.717438697814941, 0.662977695465088, 0.613121390342712]</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(6, 2, u\"loss='categorical_crossentropy',optimizer='adam(lr=0.002826545217978097)',metrics=['accuracy']\", u'batch_size=128,epochs=5', u'madlib_keras', 2159.70019531, [156.498700857162, 314.38369679451, 471.076618909836], [u'accuracy'], 0.89631998539, 0.301868826151, [0.817480027675629, 0.862479984760284, 0.896319985389709], [0.536632478237152, 0.400230169296265, 0.301868826150894], 0.805899977684, 0.613121390343, [0.764500021934509, 0.788500010967255, 0.805899977684021], [0.717438697814941, 0.662977695465088, 0.613121390342712])]"
]
},
"execution_count": 93,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql SELECT * FROM $best_model_info;"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
}
],
"source": [
"best_mst_key = %sql SELECT mst_key FROM $best_model_info; \n",
"best_mst_key = best_mst_key.DataFrame().to_numpy()[0][0]"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n",
"5 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>id</th>\n",
" <th>estimated_y</th>\n",
" </tr>\n",
" <tr>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>4</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <td>5</td>\n",
" <td>0</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(1, 0), (2, 0), (3, 0), (4, 0), (5, 0)]"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql DROP TABLE IF EXISTS cifar10_val_predict;\n",
"%sql SELECT madlib.madlib_keras_predict('cifar10_best_model', 'cifar10_val', 'id', 'x', 'cifar10_val_predict', 'response', True, $best_mst_key);\n",
"%sql SELECT * FROM cifar10_val_predict ORDER BY id LIMIT 5;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Count missclassifications"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>count</th>\n",
" </tr>\n",
" <tr>\n",
" <td>1941</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(1941L,)]"
]
},
"execution_count": 96,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT COUNT(*) FROM cifar10_val_predict JOIN cifar10_val USING (id) \n",
"WHERE cifar10_val_predict.estimated_y != cifar10_val.y;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Accuracy"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
" <tr>\n",
" <th>test_accuracy_percent</th>\n",
" </tr>\n",
" <tr>\n",
" <td>80.59</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(Decimal('80.59'),)]"
]
},
"execution_count": 97,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"SELECT round(count(*)*100.0/10000.0,2) as test_accuracy_percent from\n",
" (select cifar10_val.y as actual, cifar10_val_predict.estimated_y as predicted\n",
" from cifar10_val_predict inner join cifar10_val\n",
" on cifar10_val.id=cifar10_val_predict.id) q\n",
"WHERE q.actual=q.predicted;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 7b. Select a random image from the validation dataset and run predict\n",
"\n",
"Label map"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [],
"source": [
"label_names = {\n",
" 0 :\"airplane\",\n",
" 1 :\"automobile\",\n",
" 2 :\"bird\",\n",
" 3:\"cat\",\n",
" 4 :\"deer\",\n",
" 5 :\"dog\",\n",
" 6 :\"frog\",\n",
" 7 :\"horse\",\n",
" 8 :\"ship\",\n",
" 9 :\"truck\"\n",
"}"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pick a random image"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Done.\n",
"1 rows affected.\n"
]
},
{
"data": {
"text/plain": [
"[]"
]
},
"execution_count": 99,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS cifar10_val_random;\n",
"CREATE TABLE cifar10_val_random AS\n",
" SELECT * FROM cifar10_val ORDER BY random() LIMIT 1;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Predict"
]
},
{
"cell_type": "code",
"execution_count": 100,
"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>id</th>\n",
" <th>prob_0</th>\n",
" <th>prob_1</th>\n",
" <th>prob_2</th>\n",
" <th>prob_3</th>\n",
" <th>prob_4</th>\n",
" <th>prob_5</th>\n",
" <th>prob_6</th>\n",
" <th>prob_7</th>\n",
" <th>prob_8</th>\n",
" <th>prob_9</th>\n",
" </tr>\n",
" <tr>\n",
" <td>9813</td>\n",
" <td>7.9166554e-08</td>\n",
" <td>0.00038159246</td>\n",
" <td>8.776156e-11</td>\n",
" <td>1.7702625e-08</td>\n",
" <td>1.2219187e-10</td>\n",
" <td>8.096258e-10</td>\n",
" <td>5.192042e-10</td>\n",
" <td>1.5758073e-09</td>\n",
" <td>4.106987e-07</td>\n",
" <td>0.99961793</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[(9813, 7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793)]"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%sql DROP TABLE IF EXISTS cifar10_val_random_predict;\n",
"%sql SELECT madlib.madlib_keras_predict('cifar10_best_model', 'cifar10_val_random', 'id', 'x', 'cifar10_val_random_predict', 'prob', True, $best_mst_key);\n",
"%sql SELECT * FROM cifar10_val_random_predict ;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Format output and display"
]
},
{
"cell_type": "code",
"execution_count": 101,
"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>feature_vector</th>\n",
" </tr>\n",
" <tr>\n",
" <td>[7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793]</td>\n",
" </tr>\n",
"</table>"
],
"text/plain": [
"[([7.9166554e-08, 0.00038159246, 8.776156e-11, 1.7702625e-08, 1.2219187e-10, 8.096258e-10, 5.192042e-10, 1.5758073e-09, 4.106987e-07, 0.99961793],)]"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%sql\n",
"DROP TABLE IF EXISTS cifar10_val_random_predict_array, cifar10_val_random_predict_array_summary;\n",
"SELECT madlib.cols2vec(\n",
" 'cifar10_val_random_predict',\n",
" 'cifar10_val_random_predict_array',\n",
" '*',\n",
" 'id'\n",
");\n",
"select * from cifar10_val_random_predict_array;"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 rows affected.\n",
"1 rows affected.\n",
" \n",
"truck 0.99961793\n",
"automobile 0.00038159246\n",
"ship 4.106987e-07\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = %sql SELECT x FROM cifar10_val_random;\n",
"x = x.DataFrame().to_numpy()\n",
"import numpy as np\n",
"from matplotlib.pyplot import imshow\n",
"%matplotlib inline\n",
"x_np = np.array(x[0][0], dtype=np.uint8)\n",
"imshow(x_np)\n",
"\n",
"x = %sql SELECT * FROM cifar10_val_random_predict_array;\n",
"x = x.DataFrame().to_numpy()\n",
"x = np.array(x[0][0])\n",
"top_3_prob_label_indices = x.argsort()[-3:][::-1]\n",
"print (\" \");\n",
"for index in top_3_prob_label_indices:\n",
" print (label_names[index], x[index])"
]
}
],
"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.16"
}
},
"nbformat": 4,
"nbformat_minor": 1
}