Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pool Detection Training Workbook\n",
"## Overview\n",
"Hello World\n",
"## Imports\n",
"We rely on a number of well used python libraries to preprocess and train a model on pool image data"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import os\n",
"import time\n",
"import math\n",
"import random\n",
"import zipfile\n",
"from imageio import imread\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn import ensemble\n",
"from sklearn.svm import OneClassSVM\n",
"from sklearn.cluster import KMeans\n",
"#from datalore.plot import *\n",
"#from datalore.geo_data import *\n",
"from tensorflow.keras.models import Sequential\n",
"from tensorflow.keras.layers import Conv2D, Dense, BatchNormalization, MaxPooling2D, Flatten, Dropout"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"## Extraction\n",
"if \"pools_data\" not in os.listdir():\n",
" with zipfile.ZipFile(\"./pools_data.zip\", \"r\") as zip_file:\n",
" zip_file.extractall(\".\")\n",
"if \"not_pools_data\" not in os.listdir():\n",
" with zipfile.ZipFile(\"./not_pools_data.zip\", \"r\") as zip_file:\n",
" zip_file.extractall(\".\")"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"not_pools_data/uhiuhiuhidiweud.png has shape (429, 550, 3)\n",
"not_pools_data/uisduhcisudchisduhcihihuihiuchc.png has shape (62, 64, 3)\n",
"not_pools_data/diweubdiweudbiweudbiweubdweidbwiebdiweudb.png has shape (61, 64, 3)\n",
"not_pools_data/iwuehiwuedh.png has shape (63, 64, 3)\n",
"not_pools_data/oasijaoijoiadjoasdij.png has shape (65, 64, 3)\n",
"not_pools_data/eiudwieudhweiuhdweiudhwe.png has shape (63, 64, 3)\n",
"not_pools_data/duiwedhiweudhiweudhweuidh.png has shape (342, 442, 3)\n",
"not_pools_data/iuewdhiweudhiuwehdiuwedhiweuhdiweuhd.png has shape (65, 64, 3)\n",
"not_pools_data/dhiweudheiwudhiweuhdi.png has shape (63, 64, 3)\n",
"not_pools_data/weiuhfiwefhiweufhiwfheiwehiwuefh.png has shape (64, 63, 3)\n",
"pools_data/slice115.png could not be loaded\n",
"pools_data/slice116.png could not be loaded\n",
"pools_data/slice117.png could not be loaded\n"
]
}
],
"source": [
"## Preprocessing\n",
"CATEGORIES = [\"not_pools\", \"pools\"]\n",
"scaler = MinMaxScaler(feature_range=(0,1))\n",
"im_data = []\n",
"for cat in CATEGORIES:\n",
" class_num = CATEGORIES.index(cat)\n",
" for img in os.listdir(\"./{}_data\".format(cat)):\n",
" try:\n",
" im_arr = imread(\"./{}_data/{}\".format(cat, img))\n",
" if im_arr.shape == (64, 64, 4):\n",
" im_arr = im_arr[:,:,:3]\n",
" if im_arr.shape == (64, 64, 3):\n",
" im_arr[:, :, 0] = scaler.fit_transform(im_arr[:, :, 0].reshape(64, 64))\n",
" im_arr[:, :, 1] = scaler.fit_transform(im_arr[:, :, 1].reshape(64, 64))\n",
" im_arr[:, :, 2] = scaler.fit_transform(im_arr[:, :, 2].reshape(64, 64))\n",
" im_data.append((im_arr, class_num))\n",
" else:\n",
" print(\"{}_data/{} has shape {}\".format(cat, img, im_arr.shape))\n",
" except:\n",
" print(\"{}_data/{} could not be loaded\".format(cat, img))"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(823, 64, 64, 3) (823, 1)\n"
]
}
],
"source": [
"random.shuffle(im_data)\n",
"X = []\n",
"Y = []\n",
"for img,cat in im_data:\n",
" X.append(img)\n",
" Y.append(cat)\n",
"X = np.array(X)\n",
"Y = np.array(Y).reshape(-1, 1)\n",
"print(X.shape, Y.shape)\n",
"X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.1, stratify=Y)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 3s 7ms/sample - loss: 0.2638 - accuracy: 0.5225 - val_loss: 0.2272 - val_accuracy: 0.4940\n",
"Epoch 2/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.2376 - accuracy: 0.5856 - val_loss: 0.2098 - val_accuracy: 0.5904\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.1975 - accuracy: 0.6712 - val_loss: 0.1995 - val_accuracy: 0.6867\n",
"Epoch 4/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1762 - accuracy: 0.7477 - val_loss: 0.1938 - val_accuracy: 0.6747\n",
"Epoch 5/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1542 - accuracy: 0.8041 - val_loss: 0.1909 - val_accuracy: 0.6627\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.1329 - accuracy: 0.8311 - val_loss: 0.1845 - val_accuracy: 0.7470\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1204 - accuracy: 0.8514 - val_loss: 0.1776 - val_accuracy: 0.7229\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.1145 - accuracy: 0.8671 - val_loss: 0.1693 - val_accuracy: 0.7470\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0985 - accuracy: 0.8986 - val_loss: 0.1599 - val_accuracy: 0.7711\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1040 - accuracy: 0.8694 - val_loss: 0.1660 - val_accuracy: 0.7470\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0947 - accuracy: 0.8896 - val_loss: 0.1562 - val_accuracy: 0.7711\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0873 - accuracy: 0.8919 - val_loss: 0.1576 - val_accuracy: 0.7229\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0713 - accuracy: 0.9077 - val_loss: 0.1583 - val_accuracy: 0.7590\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0700 - accuracy: 0.9279 - val_loss: 0.1592 - val_accuracy: 0.7349\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0702 - accuracy: 0.9077 - val_loss: 0.1560 - val_accuracy: 0.7349\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0664 - accuracy: 0.9234 - val_loss: 0.1668 - val_accuracy: 0.7229\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0520 - accuracy: 0.9392 - val_loss: 0.1612 - val_accuracy: 0.7108\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0602 - accuracy: 0.9234 - val_loss: 0.1603 - val_accuracy: 0.7349\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0637 - accuracy: 0.9234 - val_loss: 0.1655 - val_accuracy: 0.7108\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0503 - accuracy: 0.9505 - val_loss: 0.1569 - val_accuracy: 0.7349\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0578 - accuracy: 0.9347 - val_loss: 0.1508 - val_accuracy: 0.7590\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0444 - accuracy: 0.9482 - val_loss: 0.1538 - val_accuracy: 0.7229\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0571 - accuracy: 0.9347 - val_loss: 0.1534 - val_accuracy: 0.7470\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0554 - accuracy: 0.9234 - val_loss: 0.1549 - val_accuracy: 0.7229\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0424 - accuracy: 0.9550 - val_loss: 0.1596 - val_accuracy: 0.7349\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0377 - accuracy: 0.9640 - val_loss: 0.1556 - val_accuracy: 0.7349\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0386 - accuracy: 0.9595 - val_loss: 0.1586 - val_accuracy: 0.7229\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0431 - accuracy: 0.9505 - val_loss: 0.1605 - val_accuracy: 0.7470\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0457 - accuracy: 0.9347 - val_loss: 0.1696 - val_accuracy: 0.7229\n",
"Epoch 30/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0436 - accuracy: 0.9595 - val_loss: 0.1601 - val_accuracy: 0.7470\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0336 - accuracy: 0.9662 - val_loss: 0.1571 - val_accuracy: 0.7470\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0356 - accuracy: 0.9527 - val_loss: 0.1625 - val_accuracy: 0.7470\n",
"Epoch 33/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0320 - accuracy: 0.9685 - val_loss: 0.1600 - val_accuracy: 0.7229\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0340 - accuracy: 0.9572 - val_loss: 0.1571 - val_accuracy: 0.7229\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0385 - accuracy: 0.9572 - val_loss: 0.1623 - val_accuracy: 0.7470\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0330 - accuracy: 0.9662 - val_loss: 0.1597 - val_accuracy: 0.7470\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0283 - accuracy: 0.9617 - val_loss: 0.1601 - val_accuracy: 0.7349\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0343 - accuracy: 0.9572 - val_loss: 0.1531 - val_accuracy: 0.7590\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0327 - accuracy: 0.9640 - val_loss: 0.1612 - val_accuracy: 0.7470\n",
"Epoch 40/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0223 - accuracy: 0.9775 - val_loss: 0.1522 - val_accuracy: 0.7831\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.2614 - accuracy: 0.5203 - val_loss: 0.2312 - val_accuracy: 0.5181\n",
"Epoch 2/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.2215 - accuracy: 0.6126 - val_loss: 0.2069 - val_accuracy: 0.6747\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1995 - accuracy: 0.6734 - val_loss: 0.1934 - val_accuracy: 0.6988\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1613 - accuracy: 0.7973 - val_loss: 0.1839 - val_accuracy: 0.6988\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1474 - accuracy: 0.8086 - val_loss: 0.1774 - val_accuracy: 0.7470\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1450 - accuracy: 0.8063 - val_loss: 0.1706 - val_accuracy: 0.7470\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1185 - accuracy: 0.8626 - val_loss: 0.1690 - val_accuracy: 0.7470\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1135 - accuracy: 0.8716 - val_loss: 0.1659 - val_accuracy: 0.7590\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1068 - accuracy: 0.8671 - val_loss: 0.1741 - val_accuracy: 0.7229\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1097 - accuracy: 0.8446 - val_loss: 0.1722 - val_accuracy: 0.7349\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0875 - accuracy: 0.8896 - val_loss: 0.1665 - val_accuracy: 0.7349\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0922 - accuracy: 0.8716 - val_loss: 0.1669 - val_accuracy: 0.7349\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0808 - accuracy: 0.8874 - val_loss: 0.1640 - val_accuracy: 0.7229\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0794 - accuracy: 0.9054 - val_loss: 0.1685 - val_accuracy: 0.7229\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0677 - accuracy: 0.9189 - val_loss: 0.1686 - val_accuracy: 0.7349\n",
"Epoch 16/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0767 - accuracy: 0.8986 - val_loss: 0.1735 - val_accuracy: 0.7229\n",
"Epoch 17/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0730 - accuracy: 0.8986 - val_loss: 0.1728 - val_accuracy: 0.6988\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0819 - accuracy: 0.8941 - val_loss: 0.1786 - val_accuracy: 0.7470\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0568 - accuracy: 0.9505 - val_loss: 0.1785 - val_accuracy: 0.7229\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0619 - accuracy: 0.9279 - val_loss: 0.1786 - val_accuracy: 0.7108\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0727 - accuracy: 0.9009 - val_loss: 0.1817 - val_accuracy: 0.7229\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0581 - accuracy: 0.9369 - val_loss: 0.1801 - val_accuracy: 0.7108\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0593 - accuracy: 0.9324 - val_loss: 0.1837 - val_accuracy: 0.7349\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0513 - accuracy: 0.9392 - val_loss: 0.1831 - val_accuracy: 0.7349\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0548 - accuracy: 0.9347 - val_loss: 0.1822 - val_accuracy: 0.6988\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0494 - accuracy: 0.9459 - val_loss: 0.1853 - val_accuracy: 0.7349\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0511 - accuracy: 0.9279 - val_loss: 0.1829 - val_accuracy: 0.7470\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0561 - accuracy: 0.9302 - val_loss: 0.1844 - val_accuracy: 0.7229\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0406 - accuracy: 0.9572 - val_loss: 0.1895 - val_accuracy: 0.7229\n",
"Epoch 30/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0473 - accuracy: 0.9392 - val_loss: 0.1835 - val_accuracy: 0.7349\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0491 - accuracy: 0.9347 - val_loss: 0.1877 - val_accuracy: 0.7229\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0415 - accuracy: 0.9527 - val_loss: 0.1941 - val_accuracy: 0.7108\n",
"Epoch 33/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0439 - accuracy: 0.9459 - val_loss: 0.1891 - val_accuracy: 0.7229\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0384 - accuracy: 0.9595 - val_loss: 0.1907 - val_accuracy: 0.7108\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0435 - accuracy: 0.9617 - val_loss: 0.1946 - val_accuracy: 0.7349\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0379 - accuracy: 0.9595 - val_loss: 0.1869 - val_accuracy: 0.7108\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0359 - accuracy: 0.9550 - val_loss: 0.1877 - val_accuracy: 0.7229\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0369 - accuracy: 0.9459 - val_loss: 0.1965 - val_accuracy: 0.6988\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0547 - accuracy: 0.9324 - val_loss: 0.1836 - val_accuracy: 0.7108\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0376 - accuracy: 0.9505 - val_loss: 0.1867 - val_accuracy: 0.7229\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.2539 - accuracy: 0.4842 - val_loss: 0.2258 - val_accuracy: 0.4819\n",
"Epoch 2/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.2195 - accuracy: 0.6149 - val_loss: 0.2043 - val_accuracy: 0.6988\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1880 - accuracy: 0.7455 - val_loss: 0.1875 - val_accuracy: 0.7952\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1757 - accuracy: 0.7613 - val_loss: 0.1762 - val_accuracy: 0.8072\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1526 - accuracy: 0.8288 - val_loss: 0.1682 - val_accuracy: 0.8313\n",
"Epoch 6/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1307 - accuracy: 0.8491 - val_loss: 0.1616 - val_accuracy: 0.7831\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1143 - accuracy: 0.8694 - val_loss: 0.1572 - val_accuracy: 0.7952\n",
"Epoch 8/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1091 - accuracy: 0.8626 - val_loss: 0.1552 - val_accuracy: 0.7952\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.1028 - accuracy: 0.8806 - val_loss: 0.1519 - val_accuracy: 0.7711\n",
"Epoch 10/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0905 - accuracy: 0.9077 - val_loss: 0.1518 - val_accuracy: 0.7952\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0868 - accuracy: 0.8964 - val_loss: 0.1544 - val_accuracy: 0.7952\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0808 - accuracy: 0.9144 - val_loss: 0.1482 - val_accuracy: 0.7470\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0643 - accuracy: 0.9369 - val_loss: 0.1471 - val_accuracy: 0.7711\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0638 - accuracy: 0.9392 - val_loss: 0.1449 - val_accuracy: 0.7711\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0565 - accuracy: 0.9324 - val_loss: 0.1460 - val_accuracy: 0.7831\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0597 - accuracy: 0.9459 - val_loss: 0.1461 - val_accuracy: 0.7590\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0497 - accuracy: 0.9527 - val_loss: 0.1448 - val_accuracy: 0.7711\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0491 - accuracy: 0.9437 - val_loss: 0.1440 - val_accuracy: 0.7831\n",
"Epoch 19/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0477 - accuracy: 0.9617 - val_loss: 0.1430 - val_accuracy: 0.7711\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0483 - accuracy: 0.9482 - val_loss: 0.1440 - val_accuracy: 0.7590\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0470 - accuracy: 0.9414 - val_loss: 0.1412 - val_accuracy: 0.7831\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0461 - accuracy: 0.9505 - val_loss: 0.1453 - val_accuracy: 0.7952\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0448 - accuracy: 0.9437 - val_loss: 0.1428 - val_accuracy: 0.7952\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0486 - accuracy: 0.9550 - val_loss: 0.1455 - val_accuracy: 0.8072\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0363 - accuracy: 0.9595 - val_loss: 0.1451 - val_accuracy: 0.7952\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0376 - accuracy: 0.9640 - val_loss: 0.1485 - val_accuracy: 0.7831\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0349 - accuracy: 0.9662 - val_loss: 0.1467 - val_accuracy: 0.7711\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0390 - accuracy: 0.9459 - val_loss: 0.1510 - val_accuracy: 0.7711\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0305 - accuracy: 0.9707 - val_loss: 0.1539 - val_accuracy: 0.7590\n",
"Epoch 30/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0262 - accuracy: 0.9775 - val_loss: 0.1483 - val_accuracy: 0.7711\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0296 - accuracy: 0.9685 - val_loss: 0.1489 - val_accuracy: 0.7711\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0295 - accuracy: 0.9640 - val_loss: 0.1521 - val_accuracy: 0.7711\n",
"Epoch 33/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0312 - accuracy: 0.9640 - val_loss: 0.1519 - val_accuracy: 0.7711\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0323 - accuracy: 0.9617 - val_loss: 0.1551 - val_accuracy: 0.7590\n",
"Epoch 35/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0315 - accuracy: 0.9685 - val_loss: 0.1555 - val_accuracy: 0.7470\n",
"Epoch 36/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0354 - accuracy: 0.9572 - val_loss: 0.1551 - val_accuracy: 0.7470\n",
"Epoch 37/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0236 - accuracy: 0.9730 - val_loss: 0.1572 - val_accuracy: 0.7590\n",
"Epoch 38/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0459 - accuracy: 0.9369 - val_loss: 0.1644 - val_accuracy: 0.7470\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0221 - accuracy: 0.9775 - val_loss: 0.1625 - val_accuracy: 0.7590\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0304 - accuracy: 0.9572 - val_loss: 0.1630 - val_accuracy: 0.7590\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.2521 - accuracy: 0.4977 - val_loss: 0.2126 - val_accuracy: 0.5301\n",
"Epoch 2/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.2005 - accuracy: 0.6757 - val_loss: 0.1821 - val_accuracy: 0.7711\n",
"Epoch 3/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1829 - accuracy: 0.7387 - val_loss: 0.1672 - val_accuracy: 0.7952\n",
"Epoch 4/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1553 - accuracy: 0.8086 - val_loss: 0.1591 - val_accuracy: 0.7831\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.1393 - accuracy: 0.8243 - val_loss: 0.1536 - val_accuracy: 0.8193\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1209 - accuracy: 0.8604 - val_loss: 0.1519 - val_accuracy: 0.8193\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1214 - accuracy: 0.8491 - val_loss: 0.1514 - val_accuracy: 0.7952\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1073 - accuracy: 0.8851 - val_loss: 0.1444 - val_accuracy: 0.7952\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0944 - accuracy: 0.8874 - val_loss: 0.1423 - val_accuracy: 0.7952\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0863 - accuracy: 0.9032 - val_loss: 0.1411 - val_accuracy: 0.8072\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0842 - accuracy: 0.9077 - val_loss: 0.1408 - val_accuracy: 0.8072\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0748 - accuracy: 0.9212 - val_loss: 0.1425 - val_accuracy: 0.7831\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0750 - accuracy: 0.9099 - val_loss: 0.1416 - val_accuracy: 0.8072\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0616 - accuracy: 0.9414 - val_loss: 0.1392 - val_accuracy: 0.8072\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0589 - accuracy: 0.9369 - val_loss: 0.1385 - val_accuracy: 0.8072\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0559 - accuracy: 0.9414 - val_loss: 0.1362 - val_accuracy: 0.8072\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0631 - accuracy: 0.9234 - val_loss: 0.1343 - val_accuracy: 0.8193\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0522 - accuracy: 0.9459 - val_loss: 0.1361 - val_accuracy: 0.8193\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0414 - accuracy: 0.9617 - val_loss: 0.1386 - val_accuracy: 0.8313\n",
"Epoch 20/40\n",
"444/444 [==============================] - 3s 7ms/sample - loss: 0.0432 - accuracy: 0.9572 - val_loss: 0.1391 - val_accuracy: 0.8193\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0500 - accuracy: 0.9459 - val_loss: 0.1364 - val_accuracy: 0.8193\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0398 - accuracy: 0.9595 - val_loss: 0.1386 - val_accuracy: 0.8072\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0506 - accuracy: 0.9324 - val_loss: 0.1373 - val_accuracy: 0.8313\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0464 - accuracy: 0.9550 - val_loss: 0.1407 - val_accuracy: 0.8193\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0431 - accuracy: 0.9482 - val_loss: 0.1327 - val_accuracy: 0.7952\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0391 - accuracy: 0.9595 - val_loss: 0.1470 - val_accuracy: 0.8193\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0341 - accuracy: 0.9707 - val_loss: 0.1364 - val_accuracy: 0.8193\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0388 - accuracy: 0.9505 - val_loss: 0.1350 - val_accuracy: 0.8313\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0356 - accuracy: 0.9617 - val_loss: 0.1357 - val_accuracy: 0.8313\n",
"Epoch 30/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0395 - accuracy: 0.9572 - val_loss: 0.1361 - val_accuracy: 0.8313\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0452 - accuracy: 0.9392 - val_loss: 0.1381 - val_accuracy: 0.8193\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0419 - accuracy: 0.9505 - val_loss: 0.1467 - val_accuracy: 0.8072\n",
"Epoch 33/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0268 - accuracy: 0.9775 - val_loss: 0.1348 - val_accuracy: 0.8313\n",
"Epoch 34/40\n",
"444/444 [==============================] - 3s 7ms/sample - loss: 0.0341 - accuracy: 0.9572 - val_loss: 0.1353 - val_accuracy: 0.8193\n",
"Epoch 35/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0331 - accuracy: 0.9662 - val_loss: 0.1391 - val_accuracy: 0.8193\n",
"Epoch 36/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0278 - accuracy: 0.9707 - val_loss: 0.1373 - val_accuracy: 0.8193\n",
"Epoch 37/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0282 - accuracy: 0.9730 - val_loss: 0.1434 - val_accuracy: 0.8193\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0292 - accuracy: 0.9685 - val_loss: 0.1346 - val_accuracy: 0.8193\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0289 - accuracy: 0.9685 - val_loss: 0.1386 - val_accuracy: 0.8193\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0233 - accuracy: 0.9797 - val_loss: 0.1396 - val_accuracy: 0.8193\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 5s 11ms/sample - loss: 0.2443 - accuracy: 0.5541 - val_loss: 0.2180 - val_accuracy: 0.5060\n",
"Epoch 2/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.2169 - accuracy: 0.6554 - val_loss: 0.1940 - val_accuracy: 0.7590\n",
"Epoch 3/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.1835 - accuracy: 0.7928 - val_loss: 0.1771 - val_accuracy: 0.8072\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1624 - accuracy: 0.7748 - val_loss: 0.1675 - val_accuracy: 0.8313\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1448 - accuracy: 0.8198 - val_loss: 0.1573 - val_accuracy: 0.8313\n",
"Epoch 6/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.1310 - accuracy: 0.8559 - val_loss: 0.1529 - val_accuracy: 0.8193\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1170 - accuracy: 0.8514 - val_loss: 0.1553 - val_accuracy: 0.8072\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1112 - accuracy: 0.8761 - val_loss: 0.1448 - val_accuracy: 0.8193\n",
"Epoch 9/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0969 - accuracy: 0.8829 - val_loss: 0.1445 - val_accuracy: 0.8072\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0855 - accuracy: 0.9099 - val_loss: 0.1456 - val_accuracy: 0.7952\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0955 - accuracy: 0.8964 - val_loss: 0.1463 - val_accuracy: 0.7952\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0840 - accuracy: 0.8964 - val_loss: 0.1417 - val_accuracy: 0.8072\n",
"Epoch 13/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0726 - accuracy: 0.9279 - val_loss: 0.1397 - val_accuracy: 0.8193\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0734 - accuracy: 0.9234 - val_loss: 0.1417 - val_accuracy: 0.7952\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0682 - accuracy: 0.9279 - val_loss: 0.1386 - val_accuracy: 0.8193\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0642 - accuracy: 0.9347 - val_loss: 0.1513 - val_accuracy: 0.7349\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0577 - accuracy: 0.9347 - val_loss: 0.1504 - val_accuracy: 0.7470\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0521 - accuracy: 0.9459 - val_loss: 0.1403 - val_accuracy: 0.8193\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0499 - accuracy: 0.9505 - val_loss: 0.1423 - val_accuracy: 0.8313\n",
"Epoch 20/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0453 - accuracy: 0.9550 - val_loss: 0.1417 - val_accuracy: 0.8434\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0560 - accuracy: 0.9257 - val_loss: 0.1447 - val_accuracy: 0.7952\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0493 - accuracy: 0.9505 - val_loss: 0.1446 - val_accuracy: 0.8072\n",
"Epoch 23/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0419 - accuracy: 0.9595 - val_loss: 0.1446 - val_accuracy: 0.8072\n",
"Epoch 24/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0428 - accuracy: 0.9640 - val_loss: 0.1486 - val_accuracy: 0.7831\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0443 - accuracy: 0.9595 - val_loss: 0.1468 - val_accuracy: 0.8072\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0389 - accuracy: 0.9572 - val_loss: 0.1465 - val_accuracy: 0.7711\n",
"Epoch 27/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0419 - accuracy: 0.9414 - val_loss: 0.1430 - val_accuracy: 0.7711\n",
"Epoch 28/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0385 - accuracy: 0.9707 - val_loss: 0.1483 - val_accuracy: 0.7711\n",
"Epoch 29/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0369 - accuracy: 0.9662 - val_loss: 0.1419 - val_accuracy: 0.7831\n",
"Epoch 30/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0421 - accuracy: 0.9437 - val_loss: 0.1382 - val_accuracy: 0.7831\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0380 - accuracy: 0.9617 - val_loss: 0.1378 - val_accuracy: 0.7952\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0432 - accuracy: 0.9482 - val_loss: 0.1376 - val_accuracy: 0.8072\n",
"Epoch 33/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0400 - accuracy: 0.9505 - val_loss: 0.1449 - val_accuracy: 0.7711\n",
"Epoch 34/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0337 - accuracy: 0.9572 - val_loss: 0.1360 - val_accuracy: 0.8193\n",
"Epoch 35/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0432 - accuracy: 0.9550 - val_loss: 0.1439 - val_accuracy: 0.7831\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0388 - accuracy: 0.9527 - val_loss: 0.1414 - val_accuracy: 0.8072\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0278 - accuracy: 0.9707 - val_loss: 0.1490 - val_accuracy: 0.7831\n",
"Epoch 38/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0241 - accuracy: 0.9752 - val_loss: 0.1415 - val_accuracy: 0.8072\n",
"Epoch 39/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0318 - accuracy: 0.9550 - val_loss: 0.1421 - val_accuracy: 0.8072\n",
"Epoch 40/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0233 - accuracy: 0.9775 - val_loss: 0.1423 - val_accuracy: 0.7952\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 3s 7ms/sample - loss: 0.2533 - accuracy: 0.5023 - val_loss: 0.2219 - val_accuracy: 0.5783\n",
"Epoch 2/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.2220 - accuracy: 0.5923 - val_loss: 0.1959 - val_accuracy: 0.7831\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1824 - accuracy: 0.7590 - val_loss: 0.1787 - val_accuracy: 0.7831\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1669 - accuracy: 0.7793 - val_loss: 0.1707 - val_accuracy: 0.7590\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1463 - accuracy: 0.8423 - val_loss: 0.1636 - val_accuracy: 0.7711\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1299 - accuracy: 0.8581 - val_loss: 0.1604 - val_accuracy: 0.7349\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1149 - accuracy: 0.8649 - val_loss: 0.1589 - val_accuracy: 0.7590\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1129 - accuracy: 0.8829 - val_loss: 0.1549 - val_accuracy: 0.7711\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1056 - accuracy: 0.8806 - val_loss: 0.1544 - val_accuracy: 0.7470\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0958 - accuracy: 0.8964 - val_loss: 0.1516 - val_accuracy: 0.7711\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0841 - accuracy: 0.9099 - val_loss: 0.1517 - val_accuracy: 0.7470\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0783 - accuracy: 0.9257 - val_loss: 0.1489 - val_accuracy: 0.7470\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0808 - accuracy: 0.9099 - val_loss: 0.1509 - val_accuracy: 0.7831\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0664 - accuracy: 0.9257 - val_loss: 0.1525 - val_accuracy: 0.7590\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0625 - accuracy: 0.9279 - val_loss: 0.1516 - val_accuracy: 0.7470\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0617 - accuracy: 0.9392 - val_loss: 0.1532 - val_accuracy: 0.7470\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0587 - accuracy: 0.9369 - val_loss: 0.1519 - val_accuracy: 0.7349\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0517 - accuracy: 0.9572 - val_loss: 0.1528 - val_accuracy: 0.7590\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0576 - accuracy: 0.9324 - val_loss: 0.1503 - val_accuracy: 0.7711\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0450 - accuracy: 0.9595 - val_loss: 0.1454 - val_accuracy: 0.7590\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0421 - accuracy: 0.9527 - val_loss: 0.1444 - val_accuracy: 0.7711\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0481 - accuracy: 0.9482 - val_loss: 0.1446 - val_accuracy: 0.7711\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0447 - accuracy: 0.9527 - val_loss: 0.1448 - val_accuracy: 0.7590\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0438 - accuracy: 0.9572 - val_loss: 0.1459 - val_accuracy: 0.7470\n",
"Epoch 25/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0457 - accuracy: 0.9459 - val_loss: 0.1454 - val_accuracy: 0.7711\n",
"Epoch 26/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0451 - accuracy: 0.9414 - val_loss: 0.1480 - val_accuracy: 0.7952\n",
"Epoch 27/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0366 - accuracy: 0.9617 - val_loss: 0.1473 - val_accuracy: 0.7711\n",
"Epoch 28/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0338 - accuracy: 0.9662 - val_loss: 0.1473 - val_accuracy: 0.7831\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0402 - accuracy: 0.9550 - val_loss: 0.1488 - val_accuracy: 0.7831\n",
"Epoch 30/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0288 - accuracy: 0.9730 - val_loss: 0.1469 - val_accuracy: 0.7711\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0358 - accuracy: 0.9640 - val_loss: 0.1452 - val_accuracy: 0.7711\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0342 - accuracy: 0.9617 - val_loss: 0.1458 - val_accuracy: 0.7952\n",
"Epoch 33/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0296 - accuracy: 0.9662 - val_loss: 0.1482 - val_accuracy: 0.7470\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0439 - accuracy: 0.9459 - val_loss: 0.1478 - val_accuracy: 0.7470\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0328 - accuracy: 0.9662 - val_loss: 0.1468 - val_accuracy: 0.7108\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0391 - accuracy: 0.9595 - val_loss: 0.1481 - val_accuracy: 0.7952\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0285 - accuracy: 0.9707 - val_loss: 0.1437 - val_accuracy: 0.7590\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0403 - accuracy: 0.9527 - val_loss: 0.1438 - val_accuracy: 0.7229\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0328 - accuracy: 0.9595 - val_loss: 0.1436 - val_accuracy: 0.7711\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0380 - accuracy: 0.9572 - val_loss: 0.1443 - val_accuracy: 0.7831\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 4s 8ms/sample - loss: 0.2463 - accuracy: 0.5405 - val_loss: 0.2189 - val_accuracy: 0.5663\n",
"Epoch 2/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.2238 - accuracy: 0.5946 - val_loss: 0.2046 - val_accuracy: 0.7229\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1894 - accuracy: 0.7365 - val_loss: 0.1866 - val_accuracy: 0.7952\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1644 - accuracy: 0.8176 - val_loss: 0.1761 - val_accuracy: 0.8313\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1445 - accuracy: 0.8266 - val_loss: 0.1683 - val_accuracy: 0.7349\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1293 - accuracy: 0.8333 - val_loss: 0.1581 - val_accuracy: 0.8072\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.1139 - accuracy: 0.8851 - val_loss: 0.1522 - val_accuracy: 0.8072\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0983 - accuracy: 0.8896 - val_loss: 0.1493 - val_accuracy: 0.8072\n",
"Epoch 9/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0915 - accuracy: 0.9054 - val_loss: 0.1470 - val_accuracy: 0.7952\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0858 - accuracy: 0.8986 - val_loss: 0.1478 - val_accuracy: 0.7831\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0877 - accuracy: 0.8941 - val_loss: 0.1453 - val_accuracy: 0.7831\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0815 - accuracy: 0.9054 - val_loss: 0.1427 - val_accuracy: 0.8072\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0686 - accuracy: 0.9302 - val_loss: 0.1411 - val_accuracy: 0.7952\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0673 - accuracy: 0.9257 - val_loss: 0.1421 - val_accuracy: 0.7711\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0691 - accuracy: 0.9167 - val_loss: 0.1389 - val_accuracy: 0.8193\n",
"Epoch 16/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0558 - accuracy: 0.9572 - val_loss: 0.1406 - val_accuracy: 0.8193\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0584 - accuracy: 0.9392 - val_loss: 0.1398 - val_accuracy: 0.8193\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0422 - accuracy: 0.9662 - val_loss: 0.1368 - val_accuracy: 0.8072\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0509 - accuracy: 0.9414 - val_loss: 0.1414 - val_accuracy: 0.8193\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0461 - accuracy: 0.9482 - val_loss: 0.1358 - val_accuracy: 0.7952\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0535 - accuracy: 0.9437 - val_loss: 0.1358 - val_accuracy: 0.8072\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0550 - accuracy: 0.9167 - val_loss: 0.1346 - val_accuracy: 0.8072\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0407 - accuracy: 0.9550 - val_loss: 0.1327 - val_accuracy: 0.8072\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0427 - accuracy: 0.9595 - val_loss: 0.1338 - val_accuracy: 0.7952\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0400 - accuracy: 0.9572 - val_loss: 0.1374 - val_accuracy: 0.8313\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0381 - accuracy: 0.9662 - val_loss: 0.1383 - val_accuracy: 0.8193\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0367 - accuracy: 0.9505 - val_loss: 0.1375 - val_accuracy: 0.8072\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0390 - accuracy: 0.9572 - val_loss: 0.1365 - val_accuracy: 0.7952\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0377 - accuracy: 0.9595 - val_loss: 0.1365 - val_accuracy: 0.7952\n",
"Epoch 30/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0398 - accuracy: 0.9572 - val_loss: 0.1381 - val_accuracy: 0.7831\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0347 - accuracy: 0.9640 - val_loss: 0.1367 - val_accuracy: 0.7952\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0354 - accuracy: 0.9572 - val_loss: 0.1437 - val_accuracy: 0.8072\n",
"Epoch 33/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0327 - accuracy: 0.9707 - val_loss: 0.1389 - val_accuracy: 0.7952\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0383 - accuracy: 0.9572 - val_loss: 0.1504 - val_accuracy: 0.8072\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0218 - accuracy: 0.9820 - val_loss: 0.1366 - val_accuracy: 0.8072\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0272 - accuracy: 0.9730 - val_loss: 0.1404 - val_accuracy: 0.7952\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0279 - accuracy: 0.9707 - val_loss: 0.1365 - val_accuracy: 0.7952\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0288 - accuracy: 0.9685 - val_loss: 0.1387 - val_accuracy: 0.7952\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0415 - accuracy: 0.9437 - val_loss: 0.1484 - val_accuracy: 0.7952\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0274 - accuracy: 0.9640 - val_loss: 0.1408 - val_accuracy: 0.8072\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 3s 7ms/sample - loss: 0.2570 - accuracy: 0.5000 - val_loss: 0.2317 - val_accuracy: 0.4940\n",
"Epoch 2/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.2257 - accuracy: 0.5991 - val_loss: 0.2184 - val_accuracy: 0.5422\n",
"Epoch 3/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1953 - accuracy: 0.6914 - val_loss: 0.2096 - val_accuracy: 0.6265\n",
"Epoch 4/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1707 - accuracy: 0.7680 - val_loss: 0.1852 - val_accuracy: 0.7711\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1356 - accuracy: 0.8423 - val_loss: 0.1704 - val_accuracy: 0.7711\n",
"Epoch 6/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1305 - accuracy: 0.8153 - val_loss: 0.1657 - val_accuracy: 0.7831\n",
"Epoch 7/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1206 - accuracy: 0.8378 - val_loss: 0.1633 - val_accuracy: 0.7590\n",
"Epoch 8/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1109 - accuracy: 0.8536 - val_loss: 0.1638 - val_accuracy: 0.7711\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0958 - accuracy: 0.8851 - val_loss: 0.1587 - val_accuracy: 0.8072\n",
"Epoch 10/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0839 - accuracy: 0.9009 - val_loss: 0.1537 - val_accuracy: 0.7831\n",
"Epoch 11/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0801 - accuracy: 0.9054 - val_loss: 0.1501 - val_accuracy: 0.8193\n",
"Epoch 12/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0793 - accuracy: 0.8941 - val_loss: 0.1513 - val_accuracy: 0.8554\n",
"Epoch 13/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0597 - accuracy: 0.9437 - val_loss: 0.1539 - val_accuracy: 0.7952\n",
"Epoch 14/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0561 - accuracy: 0.9437 - val_loss: 0.1464 - val_accuracy: 0.8554\n",
"Epoch 15/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0560 - accuracy: 0.9437 - val_loss: 0.1443 - val_accuracy: 0.8193\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0637 - accuracy: 0.9099 - val_loss: 0.1512 - val_accuracy: 0.7711\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0407 - accuracy: 0.9640 - val_loss: 0.1413 - val_accuracy: 0.8434\n",
"Epoch 18/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0439 - accuracy: 0.9505 - val_loss: 0.1407 - val_accuracy: 0.8072\n",
"Epoch 19/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0546 - accuracy: 0.9414 - val_loss: 0.1351 - val_accuracy: 0.8313\n",
"Epoch 20/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0454 - accuracy: 0.9595 - val_loss: 0.1432 - val_accuracy: 0.8072\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0475 - accuracy: 0.9505 - val_loss: 0.1407 - val_accuracy: 0.7952\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0496 - accuracy: 0.9302 - val_loss: 0.1594 - val_accuracy: 0.7711\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0449 - accuracy: 0.9437 - val_loss: 0.1369 - val_accuracy: 0.7831\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0434 - accuracy: 0.9437 - val_loss: 0.1508 - val_accuracy: 0.7590\n",
"Epoch 25/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0386 - accuracy: 0.9550 - val_loss: 0.1449 - val_accuracy: 0.7831\n",
"Epoch 26/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0291 - accuracy: 0.9662 - val_loss: 0.1489 - val_accuracy: 0.7711\n",
"Epoch 27/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0404 - accuracy: 0.9505 - val_loss: 0.1472 - val_accuracy: 0.7952\n",
"Epoch 28/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0409 - accuracy: 0.9505 - val_loss: 0.1484 - val_accuracy: 0.7952\n",
"Epoch 29/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0350 - accuracy: 0.9617 - val_loss: 0.1515 - val_accuracy: 0.7711\n",
"Epoch 30/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0272 - accuracy: 0.9775 - val_loss: 0.1500 - val_accuracy: 0.7831\n",
"Epoch 31/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0340 - accuracy: 0.9685 - val_loss: 0.1449 - val_accuracy: 0.8313\n",
"Epoch 32/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0373 - accuracy: 0.9550 - val_loss: 0.1601 - val_accuracy: 0.7470\n",
"Epoch 33/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0367 - accuracy: 0.9572 - val_loss: 0.1430 - val_accuracy: 0.7952\n",
"Epoch 34/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0371 - accuracy: 0.9595 - val_loss: 0.1409 - val_accuracy: 0.7952\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0392 - accuracy: 0.9482 - val_loss: 0.1469 - val_accuracy: 0.7831\n",
"Epoch 36/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0317 - accuracy: 0.9595 - val_loss: 0.1420 - val_accuracy: 0.8313\n",
"Epoch 37/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0336 - accuracy: 0.9595 - val_loss: 0.1440 - val_accuracy: 0.8193\n",
"Epoch 38/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0289 - accuracy: 0.9707 - val_loss: 0.1438 - val_accuracy: 0.8072\n",
"Epoch 39/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0259 - accuracy: 0.9730 - val_loss: 0.1416 - val_accuracy: 0.8072\n",
"Epoch 40/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0342 - accuracy: 0.9662 - val_loss: 0.1401 - val_accuracy: 0.8072\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.2483 - accuracy: 0.5315 - val_loss: 0.2342 - val_accuracy: 0.5181\n",
"Epoch 2/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.2244 - accuracy: 0.6554 - val_loss: 0.2091 - val_accuracy: 0.8072\n",
"Epoch 3/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1987 - accuracy: 0.7658 - val_loss: 0.1902 - val_accuracy: 0.7831\n",
"Epoch 4/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1702 - accuracy: 0.7928 - val_loss: 0.1785 - val_accuracy: 0.7711\n",
"Epoch 5/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.1610 - accuracy: 0.8266 - val_loss: 0.1664 - val_accuracy: 0.7831\n",
"Epoch 6/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1383 - accuracy: 0.8401 - val_loss: 0.1645 - val_accuracy: 0.7831\n",
"Epoch 7/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1196 - accuracy: 0.8559 - val_loss: 0.1565 - val_accuracy: 0.7831\n",
"Epoch 8/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1162 - accuracy: 0.8626 - val_loss: 0.1686 - val_accuracy: 0.8554\n",
"Epoch 9/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1098 - accuracy: 0.8784 - val_loss: 0.1511 - val_accuracy: 0.7831\n",
"Epoch 10/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0926 - accuracy: 0.8874 - val_loss: 0.1567 - val_accuracy: 0.8434\n",
"Epoch 11/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0919 - accuracy: 0.9032 - val_loss: 0.1513 - val_accuracy: 0.8072\n",
"Epoch 12/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0743 - accuracy: 0.9212 - val_loss: 0.1565 - val_accuracy: 0.8434\n",
"Epoch 13/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0680 - accuracy: 0.9302 - val_loss: 0.1508 - val_accuracy: 0.8313\n",
"Epoch 14/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0738 - accuracy: 0.9257 - val_loss: 0.1440 - val_accuracy: 0.8072\n",
"Epoch 15/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0629 - accuracy: 0.9392 - val_loss: 0.1568 - val_accuracy: 0.8313\n",
"Epoch 16/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0559 - accuracy: 0.9572 - val_loss: 0.1457 - val_accuracy: 0.8072\n",
"Epoch 17/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0600 - accuracy: 0.9347 - val_loss: 0.1479 - val_accuracy: 0.8313\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0551 - accuracy: 0.9369 - val_loss: 0.1469 - val_accuracy: 0.7831\n",
"Epoch 19/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0462 - accuracy: 0.9595 - val_loss: 0.1479 - val_accuracy: 0.8072\n",
"Epoch 20/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0499 - accuracy: 0.9505 - val_loss: 0.1465 - val_accuracy: 0.8072\n",
"Epoch 21/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0534 - accuracy: 0.9392 - val_loss: 0.1454 - val_accuracy: 0.8193\n",
"Epoch 22/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0453 - accuracy: 0.9437 - val_loss: 0.1467 - val_accuracy: 0.8313\n",
"Epoch 23/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0405 - accuracy: 0.9640 - val_loss: 0.1433 - val_accuracy: 0.8072\n",
"Epoch 24/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0419 - accuracy: 0.9550 - val_loss: 0.1421 - val_accuracy: 0.8072\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0438 - accuracy: 0.9550 - val_loss: 0.1416 - val_accuracy: 0.8193\n",
"Epoch 26/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0428 - accuracy: 0.9527 - val_loss: 0.1388 - val_accuracy: 0.8072\n",
"Epoch 27/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0394 - accuracy: 0.9595 - val_loss: 0.1402 - val_accuracy: 0.8193\n",
"Epoch 28/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0418 - accuracy: 0.9414 - val_loss: 0.1388 - val_accuracy: 0.8193\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0337 - accuracy: 0.9707 - val_loss: 0.1463 - val_accuracy: 0.7831\n",
"Epoch 30/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0390 - accuracy: 0.9572 - val_loss: 0.1419 - val_accuracy: 0.7952\n",
"Epoch 31/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0409 - accuracy: 0.9505 - val_loss: 0.1399 - val_accuracy: 0.8193\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0323 - accuracy: 0.9617 - val_loss: 0.1386 - val_accuracy: 0.7952\n",
"Epoch 33/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0291 - accuracy: 0.9752 - val_loss: 0.1484 - val_accuracy: 0.7711\n",
"Epoch 34/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0335 - accuracy: 0.9595 - val_loss: 0.1400 - val_accuracy: 0.8072\n",
"Epoch 35/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0324 - accuracy: 0.9595 - val_loss: 0.1439 - val_accuracy: 0.8072\n",
"Epoch 36/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0407 - accuracy: 0.9527 - val_loss: 0.1419 - val_accuracy: 0.7952\n",
"Epoch 37/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0306 - accuracy: 0.9595 - val_loss: 0.1464 - val_accuracy: 0.7831\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0246 - accuracy: 0.9730 - val_loss: 0.1452 - val_accuracy: 0.7831\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0328 - accuracy: 0.9572 - val_loss: 0.1438 - val_accuracy: 0.8193\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0264 - accuracy: 0.9730 - val_loss: 0.1456 - val_accuracy: 0.7831\n",
"Train on 444 samples, validate on 83 samples\n",
"Epoch 1/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.2466 - accuracy: 0.5473 - val_loss: 0.2174 - val_accuracy: 0.5301\n",
"Epoch 2/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.2175 - accuracy: 0.6509 - val_loss: 0.2021 - val_accuracy: 0.6265\n",
"Epoch 3/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.2081 - accuracy: 0.6689 - val_loss: 0.1966 - val_accuracy: 0.6265\n",
"Epoch 4/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1704 - accuracy: 0.7658 - val_loss: 0.1871 - val_accuracy: 0.6506\n",
"Epoch 5/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1482 - accuracy: 0.8086 - val_loss: 0.1757 - val_accuracy: 0.7229\n",
"Epoch 6/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1284 - accuracy: 0.8288 - val_loss: 0.1641 - val_accuracy: 0.8193\n",
"Epoch 7/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1182 - accuracy: 0.8446 - val_loss: 0.1586 - val_accuracy: 0.7831\n",
"Epoch 8/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.1024 - accuracy: 0.8739 - val_loss: 0.1592 - val_accuracy: 0.8193\n",
"Epoch 9/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0909 - accuracy: 0.8941 - val_loss: 0.1553 - val_accuracy: 0.7952\n",
"Epoch 10/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0900 - accuracy: 0.8896 - val_loss: 0.1547 - val_accuracy: 0.8072\n",
"Epoch 11/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0793 - accuracy: 0.9189 - val_loss: 0.1592 - val_accuracy: 0.8072\n",
"Epoch 12/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0855 - accuracy: 0.9054 - val_loss: 0.1503 - val_accuracy: 0.7831\n",
"Epoch 13/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0741 - accuracy: 0.9054 - val_loss: 0.1508 - val_accuracy: 0.8072\n",
"Epoch 14/40\n",
"444/444 [==============================] - 1s 3ms/sample - loss: 0.0649 - accuracy: 0.9302 - val_loss: 0.1582 - val_accuracy: 0.7711\n",
"Epoch 15/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0511 - accuracy: 0.9459 - val_loss: 0.1493 - val_accuracy: 0.8193\n",
"Epoch 16/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0560 - accuracy: 0.9414 - val_loss: 0.1650 - val_accuracy: 0.7229\n",
"Epoch 17/40\n",
"444/444 [==============================] - 2s 3ms/sample - loss: 0.0591 - accuracy: 0.9369 - val_loss: 0.1455 - val_accuracy: 0.8072\n",
"Epoch 18/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0483 - accuracy: 0.9482 - val_loss: 0.1433 - val_accuracy: 0.8193\n",
"Epoch 19/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0500 - accuracy: 0.9459 - val_loss: 0.1488 - val_accuracy: 0.8072\n",
"Epoch 20/40\n",
"444/444 [==============================] - 2s 6ms/sample - loss: 0.0424 - accuracy: 0.9617 - val_loss: 0.1501 - val_accuracy: 0.8072\n",
"Epoch 21/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0470 - accuracy: 0.9414 - val_loss: 0.1503 - val_accuracy: 0.8072\n",
"Epoch 22/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0454 - accuracy: 0.9482 - val_loss: 0.1485 - val_accuracy: 0.7952\n",
"Epoch 23/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0495 - accuracy: 0.9414 - val_loss: 0.1437 - val_accuracy: 0.8072\n",
"Epoch 24/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0428 - accuracy: 0.9482 - val_loss: 0.1509 - val_accuracy: 0.8072\n",
"Epoch 25/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0398 - accuracy: 0.9595 - val_loss: 0.1467 - val_accuracy: 0.8193\n",
"Epoch 26/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0413 - accuracy: 0.9414 - val_loss: 0.1607 - val_accuracy: 0.7711\n",
"Epoch 27/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0464 - accuracy: 0.9437 - val_loss: 0.1523 - val_accuracy: 0.8072\n",
"Epoch 28/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0394 - accuracy: 0.9640 - val_loss: 0.1547 - val_accuracy: 0.7831\n",
"Epoch 29/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0446 - accuracy: 0.9437 - val_loss: 0.1553 - val_accuracy: 0.7831\n",
"Epoch 30/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0513 - accuracy: 0.9257 - val_loss: 0.1579 - val_accuracy: 0.7952\n",
"Epoch 31/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0345 - accuracy: 0.9527 - val_loss: 0.1519 - val_accuracy: 0.8072\n",
"Epoch 32/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0351 - accuracy: 0.9640 - val_loss: 0.1503 - val_accuracy: 0.7952\n",
"Epoch 33/40\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0288 - accuracy: 0.9752 - val_loss: 0.1519 - val_accuracy: 0.7831\n",
"Epoch 34/40\n",
"444/444 [==============================] - 3s 6ms/sample - loss: 0.0346 - accuracy: 0.9459 - val_loss: 0.1596 - val_accuracy: 0.7711\n",
"Epoch 35/40\n",
"444/444 [==============================] - 2s 5ms/sample - loss: 0.0343 - accuracy: 0.9459 - val_loss: 0.1513 - val_accuracy: 0.7590\n",
"Epoch 36/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0287 - accuracy: 0.9730 - val_loss: 0.1521 - val_accuracy: 0.7711\n",
"Epoch 37/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0360 - accuracy: 0.9572 - val_loss: 0.1567 - val_accuracy: 0.7831\n",
"Epoch 38/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0314 - accuracy: 0.9685 - val_loss: 0.1535 - val_accuracy: 0.7831\n",
"Epoch 39/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0271 - accuracy: 0.9752 - val_loss: 0.1553 - val_accuracy: 0.7470\n",
"Epoch 40/40\n",
"444/444 [==============================] - 2s 4ms/sample - loss: 0.0239 - accuracy: 0.9797 - val_loss: 0.1549 - val_accuracy: 0.7711\n"
]
}
],
"source": [
"## Model Definition\n",
"num_models = 10\n",
"models = []\n",
"for i in range(num_models):\n",
" model = Sequential([\n",
" Conv2D(6, (2,2), input_shape=(64, 64, 3), activation='relu'),\n",
" Dropout(0.9),\n",
" #BatchNormalization(),\n",
" #MaxPooling2D(3),\n",
" #Conv2D(8, (2,2), activation='relu'),\n",
" #Dropout(0.5),\n",
" Flatten(),\n",
" #Dense(16, activation='relu'),\n",
" #Dropout(0.5),\n",
" Dense(1, activation=\"sigmoid\")\n",
" ])\n",
" \n",
" model.compile(optimizer=\"adam\", loss=\"mean_squared_error\", metrics=[\"accuracy\"]) ## Check for appropriate loss function\n",
"\n",
"#classifier = ensemble.BaggingClassifier(model, num_models)\n",
"## Training\n",
"#classifier.fit(X_train, Y_train)\n",
"#classifier.score(X_test, Y_test)\n",
" X_sub, X_discard, Y_sub, Y_discard = train_test_split(X_train, Y_train, test_size=0.4, stratify=Y_train)\n",
" model.fit(x=X_sub, y=Y_sub, batch_size=20, epochs=40, validation_data=(X_test, Y_test))\n",
" models.append(model)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"for i in range(num_models):\n",
" models[i].save(\"model_{}.h5\".format(i))"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"ename": "TypeError",
"evalue": "Value passed to parameter 'input' has DataType uint8 not in list of allowed values: float16, bfloat16, float32, float64",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-28-221e15bc2aa7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mpredictions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mmodels\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX_test\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m \u001b[0;31m#for model in models:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;31m# pred = model.predict(X_train)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;31m# predictions.append(pred)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training.py\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, x, batch_size, verbose, steps, callbacks, max_queue_size, workers, use_multiprocessing)\u001b[0m\n\u001b[1;32m 907\u001b[0m \u001b[0mmax_queue_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmax_queue_size\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 908\u001b[0m \u001b[0mworkers\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mworkers\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 909\u001b[0;31m use_multiprocessing=use_multiprocessing)\n\u001b[0m\u001b[1;32m 910\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 911\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreset_metrics\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, model, x, batch_size, verbose, steps, callbacks, **kwargs)\u001b[0m\n\u001b[1;32m 460\u001b[0m return self._model_iteration(\n\u001b[1;32m 461\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mModeKeys\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mPREDICT\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbatch_size\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbatch_size\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mverbose\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 462\u001b[0;31m steps=steps, callbacks=callbacks, **kwargs)\n\u001b[0m\u001b[1;32m 463\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 464\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py\u001b[0m in \u001b[0;36m_model_iteration\u001b[0;34m(self, model, mode, x, y, batch_size, verbose, sample_weight, steps, callbacks, **kwargs)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 443\u001b[0m \u001b[0mtraining_context\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtraining_context\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 444\u001b[0;31m total_epochs=1)\n\u001b[0m\u001b[1;32m 445\u001b[0m \u001b[0mcbks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmake_logs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mepoch_logs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 446\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2.py\u001b[0m in \u001b[0;36mrun_one_epoch\u001b[0;34m(model, iterator, execution_function, dataset_size, batch_size, strategy, steps_per_epoch, num_samples, mode, training_context, total_epochs)\u001b[0m\n\u001b[1;32m 121\u001b[0m step=step, mode=mode, size=current_batch_size) as batch_logs:\n\u001b[1;32m 122\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 123\u001b[0;31m \u001b[0mbatch_outs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mexecution_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0miterator\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 124\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mStopIteration\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOutOfRangeError\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 125\u001b[0m \u001b[0;31m# TODO(kaftan): File bug about tf function and errors.OutOfRangeError?\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py\u001b[0m in \u001b[0;36mexecution_function\u001b[0;34m(input_fn)\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0;31m# `numpy` translates Tensors to values in Eager mode.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 85\u001b[0m return nest.map_structure(_non_none_constant_value,\n\u001b[0;32m---> 86\u001b[0;31m distributed_function(input_fn))\n\u001b[0m\u001b[1;32m 87\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mexecution_function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 455\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 456\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 457\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 458\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mtracing_count\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_tracing_count\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 459\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_counter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalled_without_tracing\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py\u001b[0m in \u001b[0;36m_call\u001b[0;34m(self, *args, **kwds)\u001b[0m\n\u001b[1;32m 492\u001b[0m \u001b[0;31m# In this case we have not created variables on the first call. So we can\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 493\u001b[0m \u001b[0;31m# run the first trace but we should fail if variables are created.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 494\u001b[0;31m \u001b[0mresults\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_stateful_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 495\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_created_variables\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 496\u001b[0m raise ValueError(\"Creating variables on a non-first call to a function\"\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1820\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1821\u001b[0m \u001b[0;34m\"\"\"Calls a graph function specialized to the inputs.\"\"\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1822\u001b[0;31m \u001b[0mgraph_function\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_define_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1823\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_filtered_call\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1824\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py\u001b[0m in \u001b[0;36m_maybe_define_function\u001b[0;34m(self, args, kwargs)\u001b[0m\n\u001b[1;32m 2148\u001b[0m \u001b[0mgraph_function\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_function_cache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprimary\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcache_key\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2149\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mgraph_function\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2150\u001b[0;31m \u001b[0mgraph_function\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_create_graph_function\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2151\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_function_cache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mprimary\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcache_key\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2152\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mgraph_function\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py\u001b[0m in \u001b[0;36m_create_graph_function\u001b[0;34m(self, args, kwargs, override_flat_arg_shapes)\u001b[0m\n\u001b[1;32m 2039\u001b[0m \u001b[0marg_names\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0marg_names\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2040\u001b[0m \u001b[0moverride_flat_arg_shapes\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0moverride_flat_arg_shapes\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2041\u001b[0;31m capture_by_value=self._capture_by_value),\n\u001b[0m\u001b[1;32m 2042\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_function_attributes\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2043\u001b[0m \u001b[0;31m# Tell the ConcreteFunction to clean up its graph once it goes out of\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py\u001b[0m in \u001b[0;36mfunc_graph_from_py_func\u001b[0;34m(name, python_func, args, kwargs, signature, func_graph, autograph, autograph_options, add_control_dependencies, arg_names, op_return_value, collections, capture_by_value, override_flat_arg_shapes)\u001b[0m\n\u001b[1;32m 913\u001b[0m converted_func)\n\u001b[1;32m 914\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 915\u001b[0;31m \u001b[0mfunc_outputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mpython_func\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mfunc_args\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mfunc_kwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 916\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 917\u001b[0m \u001b[0;31m# invariant: `func_outputs` contains only Tensors, CompositeTensors,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py\u001b[0m in \u001b[0;36mwrapped_fn\u001b[0;34m(*args, **kwds)\u001b[0m\n\u001b[1;32m 356\u001b[0m \u001b[0;31m# __wrapped__ allows AutoGraph to swap in a converted function. We give\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 357\u001b[0m \u001b[0;31m# the function a weak reference to itself to avoid a reference cycle.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 358\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mweak_wrapped_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__wrapped__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwds\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 359\u001b[0m \u001b[0mweak_wrapped_fn\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mweakref\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mref\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwrapped_fn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 360\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py\u001b[0m in \u001b[0;36mdistributed_function\u001b[0;34m(input_iterator)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[0mstrategy\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdistribution_strategy_context\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_strategy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 72\u001b[0m outputs = strategy.experimental_run_v2(\n\u001b[0;32m---> 73\u001b[0;31m per_replica_function, args=(model, x, y, sample_weights))\n\u001b[0m\u001b[1;32m 74\u001b[0m \u001b[0;31m# Out of PerReplica outputs reduce or pick values to return.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 75\u001b[0m all_outputs = dist_utils.unwrap_output_dict(\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/distribute/distribute_lib.py\u001b[0m in \u001b[0;36mexperimental_run_v2\u001b[0;34m(self, fn, args, kwargs)\u001b[0m\n\u001b[1;32m 758\u001b[0m fn = autograph.tf_convert(fn, ag_ctx.control_status_ctx(),\n\u001b[1;32m 759\u001b[0m convert_by_default=False)\n\u001b[0;32m--> 760\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_extended\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall_for_each_replica\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 761\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 762\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mreduce\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreduce_op\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/distribute/distribute_lib.py\u001b[0m in \u001b[0;36mcall_for_each_replica\u001b[0;34m(self, fn, args, kwargs)\u001b[0m\n\u001b[1;32m 1785\u001b[0m \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1786\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_container_strategy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mscope\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1787\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_call_for_each_replica\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1788\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_call_for_each_replica\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/distribute/distribute_lib.py\u001b[0m in \u001b[0;36m_call_for_each_replica\u001b[0;34m(self, fn, args, kwargs)\u001b[0m\n\u001b[1;32m 2130\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_container_strategy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2131\u001b[0m replica_id_in_sync_group=constant_op.constant(0, dtypes.int32)):\n\u001b[0;32m-> 2132\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2133\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2134\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_reduce_to\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mreduce_op\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalue\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdestinations\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/autograph/impl/api.py\u001b[0m in \u001b[0;36mwrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 290\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mwrapper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 291\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mag_ctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mControlStatusCtx\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstatus\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mag_ctx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mStatus\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mDISABLED\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 292\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 293\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 294\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0misfunction\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0minspect\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mismethod\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfunc\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py\u001b[0m in \u001b[0;36m_predict_on_batch\u001b[0;34m(***failed resolving arguments***)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_predict_on_batch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msample_weights\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 161\u001b[0m \u001b[0;32mdel\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msample_weights\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 162\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mpredict_on_batch\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 163\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 164\u001b[0m \u001b[0mfunc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_predict_on_batch\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/training_v2_utils.py\u001b[0m in \u001b[0;36mpredict_on_batch\u001b[0;34m(model, x)\u001b[0m\n\u001b[1;32m 368\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 369\u001b[0m \u001b[0;32mwith\u001b[0m \u001b[0mbackend\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0meager_learning_phase_scope\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 370\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mmodel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;31m# pylint: disable=not-callable\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs, *args, **kwargs)\u001b[0m\n\u001b[1;32m 845\u001b[0m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbase_layer_utils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmark_as_return\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0macd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 846\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 847\u001b[0;31m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcall_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcast_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 848\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 849\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOperatorNotAllowedInGraphError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/sequential.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, inputs, training, mask)\u001b[0m\n\u001b[1;32m 254\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbuilt\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 255\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_init_graph_network\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 256\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0msuper\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mSequential\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtraining\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtraining\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 257\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minputs\u001b[0m \u001b[0;31m# handle the corner case where self.layers is empty\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/network.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, inputs, training, mask)\u001b[0m\n\u001b[1;32m 706\u001b[0m return self._run_internal_graph(\n\u001b[1;32m 707\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtraining\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtraining\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmask\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmask\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 708\u001b[0;31m convert_kwargs_to_constants=base_layer_utils.call_context().saving)\n\u001b[0m\u001b[1;32m 709\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 710\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcompute_output_shape\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput_shape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/network.py\u001b[0m in \u001b[0;36m_run_internal_graph\u001b[0;34m(self, inputs, training, mask, convert_kwargs_to_constants)\u001b[0m\n\u001b[1;32m 858\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 859\u001b[0m \u001b[0;31m# Compute outputs.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 860\u001b[0;31m \u001b[0moutput_tensors\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mlayer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcomputed_tensors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 861\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 862\u001b[0m \u001b[0;31m# Update tensor_dict.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/engine/base_layer.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inputs, *args, **kwargs)\u001b[0m\n\u001b[1;32m 845\u001b[0m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbase_layer_utils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmark_as_return\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0macd\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 846\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 847\u001b[0;31m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcall_fn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mcast_inputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 848\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 849\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0merrors\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mOperatorNotAllowedInGraphError\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/keras/layers/convolutional.py\u001b[0m in \u001b[0;36mcall\u001b[0;34m(self, inputs)\u001b[0m\n\u001b[1;32m 195\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 196\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mcall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minputs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 197\u001b[0;31m \u001b[0moutputs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_convolution_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkernel\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 198\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 199\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0muse_bias\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/nn_ops.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inp, filter)\u001b[0m\n\u001b[1;32m 1132\u001b[0m call_from_convolution=False)\n\u001b[1;32m 1133\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1134\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconv_op\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfilter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1135\u001b[0m \u001b[0;31m# copybara:strip_end\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1136\u001b[0m \u001b[0;31m# copybara:insert return self.conv_op(inp, filter)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/nn_ops.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inp, filter)\u001b[0m\n\u001b[1;32m 637\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 638\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m__call__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfilter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;31m# pylint: disable=redefined-builtin\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 639\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcall\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfilter\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 640\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 641\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/nn_ops.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, inp, filter)\u001b[0m\n\u001b[1;32m 236\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpadding\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 237\u001b[0m \u001b[0mdata_format\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata_format\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 238\u001b[0;31m name=self.name)\n\u001b[0m\u001b[1;32m 239\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 240\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/nn_ops.py\u001b[0m in \u001b[0;36mconv2d\u001b[0;34m(input, filter, strides, padding, use_cudnn_on_gpu, data_format, dilations, name, filters)\u001b[0m\n\u001b[1;32m 2008\u001b[0m \u001b[0mdata_format\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdata_format\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2009\u001b[0m \u001b[0mdilations\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdilations\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2010\u001b[0;31m name=name)\n\u001b[0m\u001b[1;32m 2011\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2012\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/ops/gen_nn_ops.py\u001b[0m in \u001b[0;36mconv2d\u001b[0;34m(input, filter, strides, padding, use_cudnn_on_gpu, explicit_paddings, data_format, dilations, name)\u001b[0m\n\u001b[1;32m 1069\u001b[0m \u001b[0mpadding\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mpadding\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0muse_cudnn_on_gpu\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0muse_cudnn_on_gpu\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1070\u001b[0m \u001b[0mexplicit_paddings\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mexplicit_paddings\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1071\u001b[0;31m data_format=data_format, dilations=dilations, name=name)\n\u001b[0m\u001b[1;32m 1072\u001b[0m \u001b[0m_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_op\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0moutputs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1073\u001b[0m \u001b[0m_inputs_flat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0m_op\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minputs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/framework/op_def_library.py\u001b[0m in \u001b[0;36m_apply_op_helper\u001b[0;34m(self, op_type_name, name, **keywords)\u001b[0m\n\u001b[1;32m 629\u001b[0m _SatisfiesTypeConstraint(base_type,\n\u001b[1;32m 630\u001b[0m \u001b[0m_Attr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mop_def\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput_arg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype_attr\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 631\u001b[0;31m param_name=input_name)\n\u001b[0m\u001b[1;32m 632\u001b[0m \u001b[0mattrs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0minput_arg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype_attr\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mattr_value\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 633\u001b[0m \u001b[0minferred_from\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0minput_arg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtype_attr\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minput_name\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;32m~/anaconda3/lib/python3.7/site-packages/tensorflow_core/python/framework/op_def_library.py\u001b[0m in \u001b[0;36m_SatisfiesTypeConstraint\u001b[0;34m(dtype, attr_def, param_name)\u001b[0m\n\u001b[1;32m 58\u001b[0m \u001b[0;34m\"allowed values: %s\"\u001b[0m \u001b[0;34m%\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 59\u001b[0m (param_name, dtypes.as_dtype(dtype).name,\n\u001b[0;32m---> 60\u001b[0;31m \", \".join(dtypes.as_dtype(x).name for x in allowed_list)))\n\u001b[0m\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mTypeError\u001b[0m: Value passed to parameter 'input' has DataType uint8 not in list of allowed values: float16, bfloat16, float32, float64"
]
}
],
"source": [
"predictions = []\n",
"models[0].predict(X_test)\n",
"#for model in models:\n",
"# pred = model.predict(X_train)\n",
"# predictions.append(pred)\n",
"#print(predictions[0].shape)\n",
"#pred_arr = np.array(predictions)\n",
"#print(pred_arr.shape)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Pool Detection Frontend\n",
"## Introduction\n",
"In the training tab, we developed an ensemble of convolutional neural networks to predict\n",
"the existence of a pool with acceptable accuracy. Naturally, re-training the model every time\n",
"we want to predict upon new data is counterproductive -- Training is time and computation\n",
"intensive and depends on random variables. Thus we save the ensemble to be loaded into a frontend\n",
"such as this for detection on new data.\n",
"\n",
"Due to project constraints, this pool detector module will only detect sets of 64x64 images. The idea\n",
"does extend well to scanning a sattelite image of arbitrary size by importing the large image into\n",
"an n x m x 3 matrix, resizing to ensure n and m are multiples of 64, and scanning the network over\n",
"batches of image frames."
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [],
"source": [
"import zipfile"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [],
"source": [
"with zipfile.ZipFile(\"./pools_data.zip\", \"r\") as zip_file:\n",
" zip_file.extractall(\".\")\n",
"with zipfile.ZipFile(\"./not_pools_data.zip\", \"r\") as zip_file:\n",
" zip_file.extractall(\".\")"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['pools', '.private', 'Commerical.xlsx', 'pools_data', 'not_pools_data', 'not_pools_data.zip', 'pools_data.zip', 'Personal.csv', 'lost+found']\n"
]
}
],
"source": [
"import os\n",
"print(os.listdir())"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [],
"source": [
"import PIL"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [],
"source": [
"im = PIL.Image.open('2slice25.png')\n",
"pixels = list(im.getdata())\n",
"print(pixels)"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import os\n",
"import math\n",
"import zipfile\n",
"from imageio import imread\n",
"from sklearn import ensemble\n",
"from sklearn.svm import OneClassSVM\n",
"from sklearn.cluster import KMeans\n",
"from datalore.plot import *\n",
"from datalore.geo_data import *"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The geodata is provided by © OpenStreetMap contributors and is made available here under the Open Database License (ODbL).\n"
]
},
{
"data": {
"text/html": [
"<span style=\"color:blue;\">sampling_random(n=50000) was applied to [point/identity stat] layer</span><div style=\"position:relative; width:800.0px; height:600.0px;\">\n",
"<div style=\"position: absolute; left:0.0px; top:0.0px;\">\n",
"\n",
"<svg class=\"plt-container\" width=\"800.0\" height=\"600.0\">\n",
" <style type=\"text/css\">\n",
" .plt-container { font-family: \"Lucida Grande\", sans-serif; } text { font-size: 12px; fill: #3d3d3d; } .plt-glass-pane { cursor: crosshair; } .plt-tooltip { pointer-events: none; opacity: 0; } .plt-tooltip.shown { opacity: 1; } .plt-tooltip.shown .back { opacity: 0.8; } .plt-tooltip text { font-size: 12px; } .plt-axis line { shape-rendering: crispedges; } .highlight { fill-opacity: 0.75; } \n",
".plt-plot-title {\n",
"\n",
" font-size: 16.0px;\n",
" font-weight: bold;\n",
"}\n",
".plt-axis .tick text {\n",
"\n",
" font-size: 10.0px;\n",
"}\n",
".plt-axis.small-tick-font .tick text {\n",
"\n",
" font-size: 8.0px;\n",
"}\n",
".plt-axis-title text {\n",
"\n",
" font-size: 12.0px;\n",
"}\n",
".plt_legend .legend-title text {\n",
"\n",
" font-size: 12.0px;\n",
" font-weight: bold;\n",
"}\n",
".plt_legend text {\n",
"\n",
" font-size: 10.0px;\n",
"}\n",
"\n",
" </style>\n",
" <g class=\"plt-plot\">\n",
" <g transform=\"translate(0.0 10.0 ) \">\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"590.0\" width=\"683.35\" class=\"plt-glass-pane\" opacity=\"0.0\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(693.35 164.5 ) \" class=\"plt_legend\">\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"137.0\" width=\"96.65\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"137.0\" width=\"96.65\" stroke=\"rgb(224,224,224)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill-opacity=\"0.0\">\n",
" </rect>\n",
" <g transform=\"translate(10.0 10.0 ) \">\n",
" <g class=\"legend-title\" transform=\"\">\n",
" <text dy=\"0.7em\">\n",
" color\n",
" </text>\n",
" </g>\n",
" <g transform=\"translate(0.0 12.0 ) \">\n",
" <g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"115.0\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,12,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"7.55\" height=\"107.45\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,38,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"13.1\" height=\"101.9\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,63,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"18.65\" height=\"96.35\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,89,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"24.2\" height=\"90.8\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,114,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"29.75\" height=\"85.25\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,140,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"35.3\" height=\"79.7\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,165,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"40.849999999999994\" height=\"74.15\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,191,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"46.39999999999999\" height=\"68.60000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,216,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"51.94999999999999\" height=\"63.05000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,242,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"57.499999999999986\" height=\"57.500000000000014\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(242,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"63.04999999999998\" height=\"51.95000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(216,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"68.59999999999998\" height=\"46.40000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(191,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"74.14999999999998\" height=\"40.85000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(165,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"79.69999999999997\" height=\"35.300000000000026\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(140,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"85.24999999999997\" height=\"29.75000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(114,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"90.79999999999997\" height=\"24.20000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(89,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"96.34999999999997\" height=\"18.650000000000034\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(63,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"101.89999999999996\" height=\"13.100000000000037\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(38,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"107.44999999999996\" height=\"7.55000000000004\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(12,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <line x1=\"0.0\" y1=\"27.585106382978722\" x2=\"4.6\" y2=\"27.585106382978722\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"27.585106382978722\" x2=\"23.0\" y2=\"27.585106382978722\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 27.585106382978722 ) \">\n",
" <text dy=\"0.35em\">\n",
" 1,000,000\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"53.826241134751776\" x2=\"4.6\" y2=\"53.826241134751776\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"53.826241134751776\" x2=\"23.0\" y2=\"53.826241134751776\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 53.826241134751776 ) \">\n",
" <text dy=\"0.35em\">\n",
" 2,000,000\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"80.06737588652483\" x2=\"4.6\" y2=\"80.06737588652483\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"80.06737588652483\" x2=\"23.0\" y2=\"80.06737588652483\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 80.06737588652483 ) \">\n",
" <text dy=\"0.35em\">\n",
" 3,000,000\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"106.30851063829788\" x2=\"4.6\" y2=\"106.30851063829788\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"106.30851063829788\" x2=\"23.0\" y2=\"106.30851063829788\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 106.30851063829788 ) \">\n",
" <text dy=\"0.35em\">\n",
" 4,000,000\n",
" </text>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"115.0\" width=\"23.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill-opacity=\"0.0\">\n",
" </rect>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(693.35 311.5 ) \" class=\"plt_legend\">\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"114.0\" width=\"69.85\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"114.0\" width=\"69.85\" stroke=\"rgb(224,224,224)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill-opacity=\"0.0\">\n",
" </rect>\n",
" <g transform=\"translate(10.0 10.0 ) \">\n",
" <g class=\"legend-title\" transform=\"\">\n",
" <text dy=\"0.7em\">\n",
" size\n",
" </text>\n",
" </g>\n",
" <g transform=\"translate(0.0 12.0 ) \">\n",
" <g transform=\"\">\n",
" <g>\n",
" <rect x=\"1.0\" y=\"1.0\" height=\"21.0\" width=\"21.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <g transform=\"translate(1.0 1.0 ) \">\n",
" <g>\n",
" \n",
" <g >\n",
" <circle fill=\"#000080\" stroke=\"#000080\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"10.5\" cy=\"10.5\" r=\"3.2360406091370564\" />\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"23.0\" width=\"23.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"none\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(26.35 11.5 ) \">\n",
" <text dy=\"0.35em\">\n",
" 2,000\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 23.0 ) \">\n",
" <g>\n",
" <rect x=\"1.0\" y=\"1.0\" height=\"21.0\" width=\"21.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <g transform=\"translate(1.0 1.0 ) \">\n",
" <g>\n",
" \n",
" <g >\n",
" <circle fill=\"#000080\" stroke=\"#000080\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"10.5\" cy=\"10.5\" r=\"5.063451776649746\" />\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"23.0\" width=\"23.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"none\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(26.35 11.5 ) \">\n",
" <text dy=\"0.35em\">\n",
" 4,000\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 46.0 ) \">\n",
" <g>\n",
" <rect x=\"1.0\" y=\"1.0\" height=\"21.0\" width=\"21.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <g transform=\"translate(1.0 1.0 ) \">\n",
" <g>\n",
" \n",
" <g >\n",
" <circle fill=\"#000080\" stroke=\"#000080\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"10.5\" cy=\"10.5\" r=\"6.890862944162437\" />\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"23.0\" width=\"23.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"none\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(26.35 11.5 ) \">\n",
" <text dy=\"0.35em\">\n",
" 6,000\n",
" </text>\n",
" </g>\n",
" </g>\n",
" <g transform=\"translate(0.0 69.0 ) \">\n",
" <g>\n",
" <rect x=\"1.0\" y=\"1.0\" height=\"21.0\" width=\"21.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <g transform=\"translate(1.0 1.0 ) \">\n",
" <g>\n",
" \n",
" <g >\n",
" <circle fill=\"#000080\" stroke=\"#000080\" stroke-opacity=\"0.0\" stroke-width=\"0.0\" cx=\"10.5\" cy=\"10.5\" r=\"8.718274111675129\" />\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"23.0\" width=\"23.0\" stroke-width=\"1.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" fill=\"none\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(26.35 11.5 ) \">\n",
" <text dy=\"0.35em\">\n",
" 8,000\n",
" </text>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g>\n",
" <g>\n",
" <g visibility=\"hidden\">\n",
" <g>\n",
" <rect class=\"back\" stroke=\"white\" stroke-width=\"1.0\" width=\"0.0\" height=\"0.0\" x=\"0.0\" y=\"0.0\">\n",
" </rect>\n",
" <text x=\"4.0\" y=\"4.0\">\n",
" </text>\n",
" </g>\n",
" <line stroke-width=\"3.0\">\n",
" </line>\n",
" <path stroke-width=\"1.0\">\n",
" </path>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect class=\"plt-glass-pane\" opacity=\"0.0\" width=\"800.0\" height=\"600.0\">\n",
" </rect>\n",
"</svg></div>\n",
"</div>\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"'''Data from Personal.csv is stored in a Pandas data frame'''\n",
"\n",
"data = pd.read_csv(\"Personal.csv\") \n",
"data=data#.sample(100)\n",
"states = regions_state(['Connecticut', 'Rhode Island', 'Massachusetts'])\n",
"\n",
"ggplot() + scale_color_gradient(low='red', high='green') + geom_livemap(location=states) + geom_point(aes(x=data[\"longitude\"],\\\n",
" y=data[\"latitude\"],\\\n",
" size=data[\"living_area_sqft\"],\\\n",
" color=data[\"amount_of_insurance\"]\\\n",
" ),alpha=0.8)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"````\n",
"#How many clusters will we use?\n",
"\n",
"X=np.array([data[\"longitude\"], data[\"latitude\"]]).transpose()\n",
"\n",
"for k in range(3,10):\n",
" kmeans = KMeans(n_clusters=k, random_state=0).fit(X)\n",
"\n",
" labels = kmeans.labels_\n",
" centers = kmeans.cluster_centers_\n",
" Clusters = []\n",
" for i in range(max(labels)):\n",
" clust = [[data[\"longitude\"][j], data[\"latitude\"][j]] for j in range(len(data[\"longitude\"])) if labels[j] == i]\n",
" Clusters.append(clust)\n",
"\n",
" def dist(coords):\n",
" return math.sqrt(sum([i ** 2 for i in coords]))\n",
"\n",
" def variation(Cent, Points):\n",
" return sum([(dist(Points[i]) - dist(Cent)) ** 2 for i in range(len(Points))])\n",
"\n",
" print([variation(centers[i], Clusters[i]) for i in range(len(Clusters))])\n",
"\n",
"#print(Clusters)\n",
"````"
]
},
{
"cell_type": "code",
"execution_count": 0,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The geodata is provided by © OpenStreetMap contributors and is made available here under the Open Database License (ODbL).\n"
]
},
{
"data": {
"text/html": [
"<span style=\"color:blue;\">sampling_random(n=50000) was applied to [point/identity stat] layer</span><div style=\"position:relative; width:800.0px; height:600.0px;\">\n",
"<div style=\"position: absolute; left:0.0px; top:0.0px;\">\n",
"\n",
"<svg class=\"plt-container\" width=\"800.0\" height=\"600.0\">\n",
" <style type=\"text/css\">\n",
" .plt-container { font-family: \"Lucida Grande\", sans-serif; } text { font-size: 12px; fill: #3d3d3d; } .plt-glass-pane { cursor: crosshair; } .plt-tooltip { pointer-events: none; opacity: 0; } .plt-tooltip.shown { opacity: 1; } .plt-tooltip.shown .back { opacity: 0.8; } .plt-tooltip text { font-size: 12px; } .plt-axis line { shape-rendering: crispedges; } .highlight { fill-opacity: 0.75; } \n",
".plt-plot-title {\n",
"\n",
" font-size: 16.0px;\n",
" font-weight: bold;\n",
"}\n",
".plt-axis .tick text {\n",
"\n",
" font-size: 10.0px;\n",
"}\n",
".plt-axis.small-tick-font .tick text {\n",
"\n",
" font-size: 8.0px;\n",
"}\n",
".plt-axis-title text {\n",
"\n",
" font-size: 12.0px;\n",
"}\n",
".plt_legend .legend-title text {\n",
"\n",
" font-size: 12.0px;\n",
" font-weight: bold;\n",
"}\n",
".plt_legend text {\n",
"\n",
" font-size: 10.0px;\n",
"}\n",
"\n",
" </style>\n",
" <g class=\"plt-plot\">\n",
" <g transform=\"translate(0.0 10.0 ) \">\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"590.0\" width=\"726.785\" class=\"plt-glass-pane\" opacity=\"0.0\">\n",
" </rect>\n",
" </g>\n",
" <g transform=\"translate(736.785 226.5 ) \" class=\"plt_legend\">\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"137.0\" width=\"53.215\" fill=\"rgb(255,255,255)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"5.0\" y=\"5.0\" height=\"137.0\" width=\"53.215\" stroke=\"rgb(224,224,224)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill-opacity=\"0.0\">\n",
" </rect>\n",
" <g transform=\"translate(10.0 10.0 ) \">\n",
" <g class=\"legend-title\" transform=\"\">\n",
" <text dy=\"0.7em\">\n",
" color\n",
" </text>\n",
" </g>\n",
" <g transform=\"translate(0.0 12.0 ) \">\n",
" <g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"115.0\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,12,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"7.55\" height=\"107.45\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,38,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"13.1\" height=\"101.9\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,63,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"18.65\" height=\"96.35\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,89,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"24.2\" height=\"90.8\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,114,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"29.75\" height=\"85.25\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,140,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"35.3\" height=\"79.7\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,165,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"40.849999999999994\" height=\"74.15\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,191,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"46.39999999999999\" height=\"68.60000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,216,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"51.94999999999999\" height=\"63.05000000000001\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(255,242,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"57.499999999999986\" height=\"57.500000000000014\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(242,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"63.04999999999998\" height=\"51.95000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(216,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"68.59999999999998\" height=\"46.40000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(191,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"74.14999999999998\" height=\"40.85000000000002\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(165,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"79.69999999999997\" height=\"35.300000000000026\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(140,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"85.24999999999997\" height=\"29.75000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(114,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"90.79999999999997\" height=\"24.20000000000003\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(89,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"96.34999999999997\" height=\"18.650000000000034\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(63,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"101.89999999999996\" height=\"13.100000000000037\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(38,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <rect x=\"0.0\" y=\"107.44999999999996\" height=\"7.55000000000004\" width=\"23.0\" stroke-width=\"0.0\" fill=\"rgb(12,255,0)\" fill-opacity=\"1.0\">\n",
" </rect>\n",
" <line x1=\"0.0\" y1=\"2.0\" x2=\"4.6\" y2=\"2.0\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"2.0\" x2=\"23.0\" y2=\"2.0\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 2.0 ) \">\n",
" <text dy=\"0.35em\">\n",
" 0\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"33.714285714285715\" x2=\"4.6\" y2=\"33.714285714285715\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"33.714285714285715\" x2=\"23.0\" y2=\"33.714285714285715\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 33.714285714285715 ) \">\n",
" <text dy=\"0.35em\">\n",
" 2\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"65.42857142857143\" x2=\"4.6\" y2=\"65.42857142857143\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"65.42857142857143\" x2=\"23.0\" y2=\"65.42857142857143\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 65.42857142857143 ) \">\n",
" <text dy=\"0.35em\">\n",
" 4\n",
" </text>\n",
" </g>\n",
" <line x1=\"0.0\" y1=\"97.14285714285714\" x2=\"4.6\" y2=\"97.14285714285714\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <line x1=\"18.4\" y1=\"97.14285714285714\" x2=\"23.0\" y2=\"97.14285714285714\" stroke-width=\"1.0\" stroke=\"rgb(0,0,0)\" stroke-opacity=\"1.0\">\n",
" </line>\n",
" <g transform=\"translate(26.35 97.14285714285714 ) \">\n",
" <text dy=\"0.35em\">\n",
" 6\n",
" </text>\n",
" </g>\n",
" <rect x=\"0.0\" y=\"0.0\" height=\"115.0\" width=\"23.0\" stroke=\"rgb(255,255,255)\" stroke-opacity=\"1.0\" stroke-width=\"1.0\" fill-opacity=\"0.0\">\n",
" </rect>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <g>\n",
" <g>\n",
" <g visibility=\"hidden\">\n",
" <g>\n",
" <rect class=\"back\" stroke=\"white\" stroke-width=\"1.0\" width=\"0.0\" height=\"0.0\" x=\"0.0\" y=\"0.0\">\n",
" </rect>\n",
" <text x=\"4.0\" y=\"4.0\">\n",
" </text>\n",
" </g>\n",
" <line stroke-width=\"3.0\">\n",
" </line>\n",
" <path stroke-width=\"1.0\">\n",
" </path>\n",
" </g>\n",
" </g>\n",
" </g>\n",
" <rect class=\"plt-glass-pane\" opacity=\"0.0\" width=\"800.0\" height=\"600.0\">\n",
" </rect>\n",
"</svg></div>\n",
"</div>\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X=np.array([data[\"deductible\"], data[\"living_area_sqft\"], data[\"amount_of_insurance\"]]).transpose()\n",
"kmeans = KMeans(n_clusters=8, random_state=0).fit(X)\n",
"\n",
"labels = kmeans.labels_\n",
"centers = kmeans.cluster_centers_\n",
"Clusters = []\n",
"for i in range(max(labels)):\n",
" clust = [[data[\"longitude\"][j], data[\"latitude\"][j]] for j in range(len(data[\"longitude\"])) if labels[j] == i]\n",
" Clusters.append(clust)\n",
"\n",
"def dist(coords):\n",
" return math.sqrt(sum([i ** 2 for i in coords]))\n",
"\n",
"def variation(Cent, Points):\n",
" return sum([(dist(Points[i]) - dist(Cent)) ** 2 for i in range(len(Points))])\n",
"\n",
"#print([variation(centers[i], Clusters[i]) for i in range(len(Clusters))])\n",
"\n",
"states = regions_state(['Connecticut', 'Rhode Island', 'Massachusetts'])\n",
"\n",
"ggplot() + scale_color_gradient(low='red', high='green') + geom_livemap(location=states) + geom_point(aes(x=data[\"longitude\"],\\\n",
" y=data[\"latitude\"],\\\n",
" size=0.5,\\\n",
" color=labels\\\n",
" ),alpha=0.8)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 1
}