Skip to content
Snippets Groups Projects
neural_nets_intro.ipynb 597 KiB
Newer Older
chadhat's avatar
chadhat committed
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Introduction to Neural Networks\n",
    "\n",
    "## TO DO: Almost all the figues and schematics will be replaced or improved slowly\n",
    "\n",
    "<center>\n",
    "<figure>\n",
    "<img src=\"./images/neuralnets/neural_net_ex.svg\" width=\"700\"/>\n",
    "<figcaption>A 3 layer Neural Network (By convention the input layer is not counted).</figcaption>\n",
    "</figure>\n",
    "</center>"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## History of Neural networks\n",
    "\n",
    "**TODO: Make it more complete and format properly**\n",
    "\n",
    "1943 - Threshold Logic\n",
    "\n",
    "1940s - Hebbian Learning\n",
    "\n",
    "1958 - Perceptron\n",
    "\n",
    "1975 - Backpropagation\n",
    "\n",
    "1980s - Neocognitron\n",
    "\n",
    "1982: Hopfield Network\n",
    "\n",
    "1986: Convolutional Neural Networks\n",
    "\n",
    "1997: Long-short term memory (LSTM) model\n",
    "\n",
    "2014: Gated Recurrent Units, Generative Adversarial Networks(Check)?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Why the boom now?\n",
    "* Data\n",
    "* Data\n",
    "* Data\n",
    "* Availability of GPUs\n",
    "* Algorithmic developments which allow for efficient training and training for deeper networks\n",
    "* Much easier access than a decade ago"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Building blocks\n",
    "### Perceptron\n",
    "\n",
    "The smallest unit of a neural network is a **perceptron** like node.\n",
chadhat's avatar
chadhat committed
    "\n",
    "**What is a Perceptron?**\n",
    "\n",
    "It is a simple function which can have multiple inputs and has a single output.\n",
chadhat's avatar
chadhat committed
    "\n",
    "<center>\n",
    "<figure>\n",
    "<img src=\"./images/neuralnets/perceptron_ex.svg\" width=\"400\"/>\n",
    "<figcaption>A simple perceptron with 3 inputs and 1 output.</figcaption>\n",
    "</figure>\n",
    "</center>\n",
    "\n",
    "\n",
    "It works as follows: \n",
    "\n",
    "Step 1: A **weighted sum** of the inputs is calculated\n",
chadhat's avatar
chadhat committed
    "\n",
    "\\begin{equation*}\n",
    "weighted\\_sum = \\sum_{k=1}^{num\\_inputs} w_{i} x_{i}\n",
    "\\end{equation*}\n",
    "\n",
    "Step 2: A **step** activation function is applied\n",
chadhat's avatar
chadhat committed
    "\n",
    "$$\n",
    "f(weighted\\_sum) = \\left\\{\n",
    "        \\begin{array}{ll}\n",
    "            0 & \\quad weighted\\_sum < threshold \\\\\n",
    "            1 & \\quad weighted\\_sum \\geq threshold\n",
chadhat's avatar
chadhat committed
    "        \\end{array}\n",
    "    \\right.\n",
    "$$\n",
    "\n",
    "You can see that this is also a linear classifier as we introduced in script 02."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "%config IPCompleter.greedy=True\n",
chadhat's avatar
chadhat committed
    "import matplotlib as mpl\n",
    "mpl.rcParams['lines.linewidth'] = 3\n",
    "#mpl.rcParams['font.size'] = 16"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 30,
chadhat's avatar
chadhat committed
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
chadhat's avatar
chadhat committed
    "def perceptron(X, w, threshold=1):\n",
    "    # This function computes sum(w_i*x_i) and\n",
chadhat's avatar
chadhat committed
    "    # applies a perceptron activation\n",
    "    linear_sum = np.dot(X, w)\n",
    "    output = 0\n",
chadhat's avatar
chadhat committed
    "    if linear_sum >= threshold:\n",
    "        output = 1\n",
    "    return output\n",
    "\n",
    "\n",
    "X = [1, 0]\n",
    "w = [1, 1]\n",
    "perceptron(X, w)"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Boolean AND\n",
    "\n",
    "| x$_1$ | x$_2$ | output |\n",
    "| --- | --- | --- |\n",
    "| 0 | 0 | 0 |\n",
    "| 1 | 0 | 0 |\n",
    "| 0 | 1 | 0 |\n",
    "| 1 | 1 | 1 |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Perceptron output for x1, x2 =  [0, 0]  is  0\n",
      "Perceptron output for x1, x2 =  [1, 0]  is  0\n",
      "Perceptron output for x1, x2 =  [0, 1]  is  0\n",
      "Perceptron output for x1, x2 =  [1, 1]  is  1\n"
chadhat's avatar
chadhat committed
     ]
    }
   ],
   "source": [
    "# Calculating Boolean AND using a perceptron\n",
    "threshold = 1.5\n",
    "w = [1, 1]\n",
    "X = [[0, 0], [1, 0], [0, 1], [1, 1]]\n",
chadhat's avatar
chadhat committed
    "for i in X:\n",
    "    print(\"Perceptron output for x1, x2 = \", i,\n",
    "          \" is \", perceptron(i, w, threshold))"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In this simple case we can rewrite our equation to $x_2 = ...... $ which describes a line in 2D:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "def perceptron_DB(X, w):\n",
    "    # Plotting the decision boundary\n",
    "    for i in X:\n",
    "        plt.plot(i, \"o\", color=\"b\")\n",
    "    plt.xlim(-1, 2)\n",
    "    plt.ylim(-1, 2)\n",
    "    # The decision boundary is a line given by\n",
    "    # w_1*x_1+w_2*x_2-threshold=0\n",
    "    x1 = np.arange(-3, 4)\n",
    "    x2 = (threshold - x1*w[0])/w[1]\n",
    "    plt.plot(x1, x2, \"--\", color=\"black\")\n",
    "    plt.xlabel(\"x$_1$\", fontsize=16)\n",
    "    plt.ylabel(\"x$_2$\", fontsize=16)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZgAAAEQCAYAAACN2GLgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+cjXX+//HHy4zfhBBFobI4xu9JqZRaX5EtVlK2H1Z2iW3Vbgq5pR8rKVFYmp0mxVLiE1Ypv1a1WkpDg3GU7Jj0g1JZP9ZqGO/vH+d0dgbDDHPOdX4877fb3OZc7+s6M8/LNeY513XOeR9zziEiIlLayngdQERE4pMKRkREwkIFIyIiYaGCERGRsFDBiIhIWKhgREQkLKKuYMzsfDN7x8z8ZrbZzO49wTZmZpPNbJuZbTSztl5kFRGRoiV7HeAEjgD3O+fWm1lVYJ2ZLXfO+Qts0w1oHPy4FHg++FlERKJE1J3BOOd2OufWB2/vB7YA9Y7ZrAcw0wV8AFQ3s3MjHFVERE4i6gqmIDNrCLQBPjxmVT3giwLLX3J8CYmIiIei8RIZAGZWBXgduM85t+80v8ZAYCBA5cqV2zVt2rQUE0aHb7/9lq+++oqjR4+GxsqVK0fDhg2pWrWqh8lEJB6sW7fuO+dc7dO5b1QWjJmVJVAus51z80+wyVfA+QWW6wfHCnHOpQPpAKmpqS4zMzMMab2Xm5vLwIEDWb58OQB5eXls3bqVuXPncvPNN3ucTkRimZl9frr3jbpLZGZmwIvAFufcxCI2WwTcGXw22WXAXufczoiFjDINGzZk6dKlvPTSS1SvXh2ACy+8kO7du3ucTEQSWdQVDHAFcAdwrZllBT+uN7O7zezu4DZvATnANuAFYIhHWaOGmfHrX/+aLVu2cNNNN5GRkUGlSpW8jiUiCcwSZbr+eL5EVhzOOQYOHMjVV1/NbbfdRuBEUUTk5MxsnXMu9XTuG41nMBIGr7/+OhkZGdxxxx10796dHTt2eB1JROKcCiYBOOd45plnQstvv/02zZs35/nnny/07DMRkdKkgkkAZsaKFSv4/e9/H7o0duDAAYYMGUKnTp3YunWrxwlFJB6pYBJElSpVmDx5MqtWraJJkyah8VWrVtGqVSuefvppjhw54mFCEYk3KpgEc8UVV5CVlcVDDz1EUlISAIcOHWL48OFceumlbNiwweOEIhIvVDAJqEKFCjzxxBNkZmbSpk2b0Pj69esZN26ch8lEJJ6oYBJY69at+fDDD3nyyScpX748Z599Ns8995zXsUQkTkTlVDESOWXLlmXEiBH88pe/JDc3lzp16hRa/5///AfnHFWqVPEooYjEKp3BCABNmjThuuuuO278oYceokWLFqF5zkREiksFI0VavXo1U6ZMITc3ly5dunDXXXexZ88er2OJSIxQwUiRvvvuO2rUqBFafumll/D5fCxYsMDDVCISK1QwUqQbb7wRv99Pnz59QmO7du2iV69e3HzzzezatcvDdCIS7VQwclJ16tThtddeY8GCBdStWzc0/n//93/4fD5mzpxJokyYKiIlo4KRYunZsyd+v58BAwaExvbs2UO/fv3o1q0b//73vz1MJyLRSAUjxVajRg0yMjJYvnw5DRs2DI0fOHCAs846y7tgIhKVVDBSYp07dyY7O5v77ruPihUrkpGRQZky+lESkcL0W0FOS+XKlXn22WfZvn07TZs2LbTuyJEjZGRkcPjwYY/SiUg0UMHIGTn2lf8AkyZN4re//S3t27fn448/9iCViEQDFYyUqu3bt/Pwww8DkJWVxSWXXMLIkSM5dOiQx8lEJNJUMFKqzj//fB5//HEqVKgAQH5+PuPGjaNVq1a8//77HqcTkUhSwUipSk5OZtiwYWzatImrr746NL5161Y6duzIPffcw/79+z1MKCKRooKRsLj44otZuXIlaWlpVK1aNTQ+depUUlJSWLp0qYfpRCQSVDASNmXKlGHQoEH4/X66d+8eGt+xYwddu3Zlzpw5HqYTkXBTwUjY1a9fnzfeeIPZs2dTs2ZNIHCGc+ONN3qcTETCSQUjEWFm/OpXv2LLli307duXF154gUqVKnkdS0TCSO9oKRFVu3ZtXnnllePGnXP079+fq666iv79+2NmHqQTkdKkMxiJCvPmzWPGjBkMGDCALl26sH37dq8jicgZirqCMbPpZvatmWUXsb6Tme01s6zgx+hIZ5TS5ZzjueeeCy2vWLGClJQUJk2aRH5+vofJRORMRF3BAC8DXU+xzSrnXOvgx+MRyCRhZGasWLGC+++/PzRp5sGDB7nvvvvo2LEjfr/f44QicjqirmCcc/8AfvA6h0RWpUqVeOaZZ1izZg0pKSmh8TVr1tCmTRvGjBmjyTNFYkzUFUwxXW5mG83sbTNr7nUYKT3t27dn3bp1PProo5QtWxaAvLw8Hn74YVJTU1m3bp3HCUWkuGKxYNYDFzjnWgJTgIVFbWhmA80s08wyd+/eHbGAcmbKlSvHI488wvr162nfvn1ofOPGjUyYMMHDZCJSEjFXMM65fc65A8HbbwFlzaxWEdumO+dSnXOptWvXjmhOOXMpKSmsXr2aCRMmULFiRWrWrMmkSZO8jiUixRRzr4Mxs7rAN845Z2btCZTk9x7HkjBJSkrij3/8Iz169GD79u0c+4fCgQMHOHr0qN6yWSQKRd0ZjJm9CqwBmpjZl2Y2wMzuNrO7g5v0BrLNbAMwGbjVOee8yiuRcdFFF9G5c+fjxkeOHEnz5s156623PEglIidjifK7OTU11WVmZnodQ0rR+++/z1VXXcVPP8O33XYbzz33HLVqnfCKqYicBjNb55xLPZ37Rt0ZjEhx7du3r1CZzJ49G5/Px2uvvUai/OEkEs1UMBKzrr/+evx+P7fddltobPfu3dx666307NmTr7/+2sN0IqKCkZhWq1YtZs2axZtvvkn9+vVD44sWLcLn85GRkaGzGRGPqGAkLnTv3p3NmzczePDg0NjevXv57W9/S+fOndmzZ4+H6UQSkwpG4sZZZ53FtGnTePfdd7n44otD43l5eVSrVs3DZCKJSQUjcefqq69m48aNPPjgg1SuXJmMjIzQJJoiEjn6XydxqWLFijz11FPk5ubSpEmTQuuOHDnC888/T15enkfpRBKDCkbi2oleEzNx4kSGDBlCu3btWLt2rQepRBKDCkYSSk5ODo888ggA2dnZdOjQgWHDhnHw4EGPk4nEHxWMJJQGDRowbtw4KlWqBMDRo0eZMGECLVq04J133vE4nUh8UcFIQklKSuLee+8lOzu70NxmOTk5XHvttQwaNIi9e/d6mFAkfqhgJCE1atSIZcuW8eKLLxZ6CnN6ejo+n4833njDw3Qi8UEFIwnLzLjrrrvw+/307NkzNP71119z44038uqrr3qYTiT2qWAk4Z133nnMnz+fefPmcc455wDws5/9rFDpiEjJqWBECJzN9O7dG7/fz5133klGRgYVK1b0OpZITFPBiBRQs2ZNZsyYQceOHQuNO+e47bbb+Mtf/sLRo0c9SicSW1QwIsUwZ84cXnnlFe6++26uvfZaPvvsM68jiUQ9FYzIKTjnmDp1amj5vffeo2XLljzzzDMcOXLEw2Qi0U0FI3IKZsaKFSsYMWIESUlJABw6dIgHHniADh06sHHjRo8TikQnFYxIMVSoUIEnn3yStWvX0rp169B4ZmYm7dq1Y/To0fz4448eJhSJPioYkRJo27Yta9eu5YknnqBcuXJAYHbmP/3pT7Rt25YPPvjA44Qi0UMFI1JCZcuW5aGHHmLDhg1cfvnloXG/38+f//xnD5OJRBcVjMhpatq0KatWrWLKlClUrlyZWrVq8eyzz3odSyRqJHsdQCSWlSlThnvuuYcbbriBnJwcateuXWj9/v37yc/Pp3r16h4lFPGOzmBESkGDBg245pprjhsfMWIEPp+Pv/3tbx6kEvGWCkYkTFatWsW0adPYuXMnPXv25JZbbuGbb77xOpZIxKhgRMLk4MGD1K1bN7Q8d+5cfD4fs2bNwjnnYTKRyFDBiITJddddh9/vp3///qGxH374gTvuuIPu3buzY8cOD9OJhF/UFYyZTTezb80su4j1ZmaTzWybmW00s7aRziiRM2QIJCeDWeDzkCFeJyqZGjVqMH36dJYuXUqDBg1C42+//TbNmzdn2rRpcTt5ZqwfOzlzUVcwwMtA15Os7wY0Dn4MBJ6PQCbxwJAh8PzzkJ8fWM7PDyzH4i+qLl26kJ2dzdChQzEzAA4cOMDvfvc7OnXqxA8//OBxwtIVT8dOTl/UFYxz7h/Ayf639QBmuoAPgOpmdm5k0kkkpaeXbDzaValShUmTJrFq1SqaNm0aGjezuHsac7wdOzk9UVcwxVAP+KLA8pfBseOY2UAzyzSzzN27d0cknJSen/76Le54rLjiiiv4+OOPGTVqFFWrViUjI4MyZWLxv2LR4vXYScnE10/1MZxz6c65VOdc6rEvgJPoF5y4uNjjsaRChQqMGTOGzz//nMaNGxdad/jwYSZPnsyhQ4c8Snfm4vnYSfHFYsF8BZxfYLl+cEzizMCBJRuPRTVq1DhubMKECdx77720adOG1atXe5DqzCXCsZNTi8WCWQTcGXw22WXAXufcTq9DSembNg0GD/7fX71JSYHladO8zRVOOTk5PProowB88sknXHnllQwdOpQDBw54G6yEEvHYyfEs2l7wZWavAp2AWsA3wCNAWQDnXJoFnoLzZwLPNDsI9HfOZZ7q66amprrMzFNuJuKpo0ePkpaWxvDhwwuVSoMGDUhPT6dLly4eppNEZGbrnHOpp3XfaCuYcFHBSCzZsWMHgwYNYsmSJYXGf/3rXzNx4sQTXloTCYczKZhYvEQmEvcuuOAC3nrrLWbOnMnZZ58dGn/55Zfx+XzMnz/fw3QixaOCEYlSZsYdd9yB3++nT58+ofFdu3Zx0003MXv2bA/TiZyaCkYkytWpU4fXXnuNBQsWhCbPbNq0KTfddJPHyUROTgUjEiN69uyJ3+9nwIABZGRkUKFCBa8jiZyUCkYkhtSoUYOMjAyuuOKKQuPOOW655RamTJkSt5NnSuxRwYjEgVdeeYW5c+cydOhQrrrqKj755BOvI4moYERinXOO9AKzSP7zn/+kVatWjB07lsOHD3uYTBKdCkYkxpkZy5YtY/To0SQnJwOQl5fHqFGjaN++PR9//LHHCSVRqWBE4kD58uV57LHHWLduHamp/3tNXFZWFpdccgkjR46M6ckzJTapYETiSMuWLVmzZg3jx48PPcssPz+fcePG0apVK95//32PE0oiUcGIxJnk5GSGDRvGpk2buPrqq0PjW7duLfRYjUi4qWBE4tTFF1/MypUrSUtLo2rVqtSuXZtnn33W61iSQJK9DiAi4VOmTBkGDRpE9+7dycnJoWbNmoXW79u3j8OHDx83LlIadAYjkgDq16/PVVddddz48OHD8fl8zJs3j0SZWV0iRwUjkqDeffdd0tLS+Pbbb+nTpw+9evVi5069d5+UHhWMSII6cuQI9erVCy0vXLiQZs2aMX36dJ3NSKlQwYgkqM6dO7N582YGDRoUGtu7dy8DBgygS5cubN++3cN0Eg9UMCIJrFq1aqSlpbFy5Uouuuii0PiKFStISUlh0qRJ5Ofne5hQYpkKRkS45ppr2LhxI8OGDaNMmcCvhYMHD3Lfffdx5ZVX8v3333ucUGKRCkZEAKhUqRLjx49nzZo1pKSkhMYrVqxY6G2bRYpLBSMihbRv355169bx2GOPUa1aNdLT0zEzr2NJDFLBiMhxypUrx+jRo/n888+5+OKLC607fPgwEyZM4ODBgx6lk1ihghGRIlWrVu24saeffpphw4bRqlUr3nvvPQ9SSaxQwYhIseXk5PD4448DsG3bNjp16sTgwYPZt2+fx8kkGqlgRKTYGjVqxNSpUznrrLNCY2lpaTRv3pzFixd7mEyiUYkKxswuMrN3zCzHzCaaWYUC69aWfjwRiSZmxm9+8xv8fj833nhjaPzLL7/kF7/4BbfffjvfffedhwklmpT0DGYqMB+4GagNrDCzKsF1ZUszmIhEr3r16rFw4ULmzJlD7dq1Q+OzZ8+mWbNmzJkzR9PNSIkLpo5zbopzbp1z7g5gObDczKoCpfbTZGZdzexTM9tmZiNOsL6Tme01s6zgx+jS+t4iUjxmxi233ILf7+f2228PjX/33Xf07duXWbNmeZhOokFJC6ZiwQXn3GPAYmAZUOWE9yghM0sicKbUDfABfc3Md4JNVznnWgc/Hi+N7y0iJVerVi3++te/8uabb1K/fn0AmjVrRp8+fTxOJl4racF8ZmbXFhxwzo0BlgAXn/guJdYe2Oacy3HO5QFzgB6l9LVFJEy6d+/O5s2bGTx4MC+++CLly5cvtF6XzBJPSQvmDmDdsYPBM5mU4zc/LfWALwosfxkcO9blZrbRzN42s+Yn+kJmNtDMMs0sc/fu3aUUT0SKctZZZzFt2jQ6dOhQaNw5R+/evZk4caImz0wgpywYMxv8023n3L+dc3sLrCtvZlOD6/zhiXhC64ELnHMtgSnAwhNt5JxLd86lOudSCz4QKSKRNWvWLObPn8/999/P5ZdfTnZ2tteRJAKKcwbzZzObb2aFZrszsxQCZzN3lnKmr4DzCyzXD46FOOf2OecOBG+/BZQ1s1qlnENESoFzjpdffjm0vHbtWtq2bctjjz1GXl6ed8Ek7IpTMN2ADsAGM+sEYGZDgbXAj0C7Us70EdDYzBqZWTngVmBRwQ3MrK4FZ98zs/YE9kPziYtEITNjyZIljBkzhnLlygGB+cweffRR2rVrx9q1egldvDplwTjnlgGtgc0EXveyDpgIPA9c5pzbWpqBnHNHgHuApcAWYK5zbrOZ3W1mdwc36w1km9kGYDJwq9MjiCJRq2zZsowaNYqsrKxCj89kZ2fToUMHhg0bpskz45AV9/eymf0ceBMoT+DSWOeCj8dEu9TUVJeZmel1DJGEl5+fz9SpUxk5cmShUrnwwgvJyMjgmmuu8TCdHMvM1jnnUk/nvsV5kD/JzMYSeCrySuBXwAUELpldeTrfVEQSV1JSEkOHDiU7O5vOnTuHxnNycpgxY4aHyaS0FecxmNXAH4EHnHPdnXNzgFbAp8A7ZvZYOAOKSHxq1KgRy5YtY/r06VSvXp06deowceJEr2NJKTrlJTIz2wL0dc5lnWDd/cAY51zF4+8ZXXSJTCR67dy5k5ycHK644opC43v37uXHH3/knHPO8SiZhPUSGdDuROUC4JybAFx+Ot9YROQn55577nHlAvDAAw/g8/mYPXu2ZgKIQcV5FtlJn9rhnPu49OKIiASsXLmSF154ge+//57bb7+dG264gS+++OLUd5SooTccE5GoVKZMGS644ILQ8uLFi2nevDlpaWkcPXrUw2RSXCoYEYlKnTp1Ijs7m3vuuYfg66rZv38/gwcP5tprr+Wzzz7zOKGcigpGRKJW1apVmTJlCv/4xz9o0qRJaPy9996jZcuWjB8/niNHjniYUE5GBSMiUe/KK68kKyuLkSNHkpSUBMChQ4d48MEHueyyy/j+e80UFY1UMCISEypUqMDYsWP56KOPaN26dWi8WrVqnH322Se5p3hFBSMiMaVNmzasXbuWsWPHcvbZZ/PCCy+EHqOR6KKCEZGYU7ZsWUaOHElubi4XXnhhoXV5eXmMGzeOAwcOeJROfqKCEZGYVbVq1ePGnn76aUaOHEmLFi1Yvny5B6nkJyoYEYkb27dv509/+hMAubm5dOnShQEDBrBnzx6PkyUmFYyIxI2GDRuSnp5OjRo1QmPTp0/H5/OxYMECD5MlJhWMiMQNM6Nfv374/X569+4dGt+1axe9evWiT58+fPPNNx4mTCwqGBGJO3Xr1mXevHm8/vrr1KlTJzQ+b948mjVrxsyZMzV5ZgSoYEQkbvXq1YstW7bQv3//0NiePXvo168fM2fO9DBZYlDBiEhcq1GjBtOnT2fp0qU0bNgQgObNm3Prrbd6GywBqGBEJCF06dKFTZs2MXToUF588UXKly9faL0umZW+ZK8DiIhESpUqVZg0adJx4845evbsSYcOHRg2bBjJyfrVWBp0BiMiCW/mzJksWrSIkSNHcumll5KVdcI38ZUSUsGISEJzzjFr1qzQ8vr160lNTWXUqFEcOnTIw2SxTwUjIgnNzHj77bcZN25c6HGZ/Px8xo4dS+vWrfnnP//pccLYpYIRkYSXnJzM8OHD2bhxIx07dgyNf/rpp3Ts2JGhQ4dq8szToIIREQn62c9+xrvvvsu0adOoUqUKELiENmXKFFJSUli2bJnHCWOLCkZEpIAyZcowePBgNm/eTLdu3ULjn3/+OXPmzPEwWeyJyoIxs65m9qmZbTOzESdYb2Y2Obh+o5m19SKniMSvCy64gMWLF/PXv/6VmjVrUrduXSZMmOB1rJgSdQVjZknAVKAb4AP6mpnvmM26AY2DHwOB5yMaUiJmyBBITgazwOchQ7xOJMUVD8fOzLj99tvx+/3Mnz+/0CzNAP/+97/ZtWuXR+miX9QVDNAe2Oacy3HO5QFzgB7HbNMDmOkCPgCqm9m5kQ4q4TVkCDz/POTnB5bz8wPLsfiLKtHE27E755xz6NChw3HjDzzwAD6fj5dfflkzAZxANBZMPeCLAstfBsdKuo3EuPT0ko1L9EiEY/f3v/+djIwM9uzZQ//+/enatSu5ublex4oq0VgwpcbMBppZppll7t692+s4UkI//fVb3HGJHolw7MqVK0ejRo1Cy8uWLSMlJYUpU6Zw9OhRD5NFj2gsmK+A8wss1w+OlXQbnHPpzrlU51xq7dq1Sz2ohFdSUsnGJXokwrHr2LEjmzZt4g9/+ANmBsB//vMfhg4dSseOHdmyZYvHCb0XjQXzEdDYzBqZWTngVmDRMdssAu4MPpvsMmCvc25npINKeA0cWLJxiR6JcuwqV67MxIkTWb16NT7f/56LtHr1alq3bs3YsWM5fPiwhwk95pyLug/gemAr8C9gVHDsbuDu4G0j8EyzfwGbgNRTfc127do5iT2DBzuXlOQcBD4PHux1IimuRDt2hw4dco888ohLTk52QOijVatWbvfu3V7HO21ApjvN3+XmEuSZD6mpqS4zM9PrGCIS5zZt2sRdd93FT79vOnfuzLJly0KX0WKNma1zzqWezn2j8RKZiEjMatGiBWvWrOGZZ56hVq1apKenx2y5nCkVjIhIKUtOTub+++/n888/L/RMM4C8vDzGjBnD/v37PUoXOSoYEZEwqVSp0nFjTz75JA8//DApKSksWbLEg1SRo4IREYmQ7du388QTTwCwY8cOunXrRr9+/fj+++89ThYeKhgRkQhp2LAhM2bMoFatWqGxmTNn4vP5mDdvXtxNN6OCERGJEDOjb9+++P1++vbtGxr/9ttv6dOnD7169eLrr7/2MGHpUsGIiERY7dq1eeWVV1i0aBH16v1vGsWFCxfi8/l48cUX4+JsRgUjIuKRG264gc2bNzNo0KDQ2N69e/nNb37DjBkzPExWOlQwIiIeqlatGmlpaaxcuZKLLroIgJSUFH71q195nOzMqWBERKLANddcw8aNGxk2bBjTp0+nXLlyhdbH4iWzZK8DiIhIQKVKlRg/fvxx4845brjhBi699FKGDx9+XPlEK53BiIhEuZdffpnFixczevRoLrnkEmJlXkUVjIhIFHPOMXfu3NDyxo0bufTSS3nwwQc5ePCgh8lOTQUjIhLFzIw333yTiRMnUrFiRQCOHj3K+PHjadWqFe+9957HCYumghERiXJJSUn84Q9/IDs7m2uvvTY0vm3bNjp16sTgwYPZt2+fhwlPTAUjIhIjLrzwQlasWEFGRgbVqlULjaelpdG8eXMWL17sYbrjqWBERGKImTFgwAD8fj89evQIjX/55ZcsXLjQw2THU8GIiMSg8847jwULFvDaa69Ru3Ztzj333BM+xdlLeh2MiEiMMjP69OnDz3/+c/71r39RvXr1Quv37NnDwYMHC813Fkk6gxERiXE1a9akffv2x43ff//9+Hw+XnjhBU9mAlDBiIjEoWXLlvHSSy+xb98+Bg4cGDrLiSQVjIhIHKpSpQqNGzcOLb/zzju0aNGCCRMmkJ+fH5EMKhgRkTh0+eWXs2HDBh588EHKlAn8qv/vf//LsGHD6NChA9nZ2WHPoIIREYlTFStW5KmnnuLDDz+kZcuWofGPPvqItm3b8uijj5KXlxe276+CERGJc6mpqWRmZjJmzJjQTMyHDx/mscceo23btuzevTss31cFIyKSAMqWLcuoUaPIysqiQ4cOofF69epRq1atsHxPFYyISAJp1qwZq1atYvLkydSpU4e//OUvmFlYvldUFYyZnW1my83ss+DnGkVsl2tmm8wsy8xi440RRESiRFJSEr///e/Jzc2lYcOGhdb9+OOPPPLII+zdu/eMv09UFQwwAvi7c64x8PfgclGucc61ds6lRiaaiEh8qVChwnFjY8eO5fHHH8fn8/HGG2+c0de3aHqfZzP7FOjknNtpZucC7zrnmpxgu1wg1Tn3XXG/dmpqqouVd4ETEfFCbm4ujRs35siRIwWH153uH/LRdgZTxzm3M3h7F1CniO0csMLM1pnZwMhEExGJbw0aNODVV1/lnHPOKZWvF/GCMbMVZpZ9go8eBbdzgVOrok6vrnTOtQa6Ab8zs6uK+F4DzSzTzDLD9TQ8EZF4YWb07t2bLVu20K9fvzP/erF4ieyY+zwKHHDOPXOy7XSJTESkZJYsWUK3bt3i5hLZIuCn2uwH/O3YDcyssplV/ek20AUI/5wHIiIJpmvXrmd0/2grmHHA/zOzz4DOwWXM7Dwzeyu4TR3gfTPbAKwFFjvnlniSVkREihRVbzjmnPse+PkJxr8Grg/ezgFaRTiaiIiUULSdwYiISJxQwYiISFioYEREJCxUMCIiEhYqGBERCQsVjIiIhIUKRkREwkIFIyIiYaGCERGRsFDBiIhIWKhgREQkLFQwIiISFioYEREJCxWMiIiEhQpGRETCQgUjIiJhoYIREZGwUMGIiEhYqGBERCRpGqwBAAAGGklEQVQsVDAiIhIWKhgREQkLFYyIiISFCkZERMJCBSMiImGhghERkbBQwYiISFioYEREJCxUMCIiEhZRVTBmdrOZbTazo2aWepLtuprZp2a2zcxGRDKjiIgUT1QVDJAN9AL+UdQGZpYETAW6AT6gr5n5IhNPRESKK9nrAAU557YAmNnJNmsPbHPO5QS3nQP0APxhDygiIsUWVQVTTPWALwosfwlceqINzWwgMDC4+KOZZYc5m5dqAd95HSKMtH+xK573DeJ//5qc7h0jXjBmtgKoe4JVo5xzfyvN7+WcSwfSg9830zlX5OM6sU77F9vief/ied8gMfbvdO8b8YJxznU+wy/xFXB+geX6wTEREYki0fYgf3F8BDQ2s0ZmVg64FVjkcSYRETlGVBWMmf3SzL4EOgCLzWxpcPw8M3sLwDl3BLgHWApsAeY65zYX48unhyl2tND+xbZ43r943jfQ/hXJnHOlGURERASIsjMYERGJHyoYEREJi7gtmHifdsbMzjaz5Wb2WfBzjSK2yzWzTWaWdSZPN4yEUx0LC5gcXL/RzNp6kfN0FWP/OpnZ3uCxyjKz0V7kPF1mNt3Mvi3q9WaxfPyKsW+xfuzON7N3zMwf/L157wm2Kfnxc87F5QfQjMALhN4FUovYJgn4F3AhUA7YAPi8zl7M/XsaGBG8PQJ4qojtcoFaXuctxv6c8lgA1wNvAwZcBnzode5S3r9OwJteZz2DfbwKaAtkF7E+lo/fqfYt1o/duUDb4O2qwNbS+P8Xt2cwzrktzrlPT7FZaNoZ51we8NO0M7GgBzAjeHsG0NPDLKWhOMeiBzDTBXwAVDezcyMd9DTF8s9asTjn/gH8cJJNYvb4FWPfYppzbqdzbn3w9n4Cz9Ctd8xmJT5+cVswxXSiaWeO/UeNVnWcczuDt3cBdYrYzgErzGxdcOqcaFWcYxHLx6u42S8PXn5428yaRyZaxMTy8SuOuDh2ZtYQaAN8eMyqEh+/WJyLLCSS08544WT7V3DBOefMrKjnm1/pnPvKzM4BlpvZJ8G/xiT6rAcucM4dMLPrgYVAY48zSfHExbEzsyrA68B9zrl9Z/r1YrpgXJxPO3Oy/TOzb8zsXOfczuBp6rdFfI2vgp+/NbMFBC7VRGPBFOdYRPXxOoVTZi/4H9o595aZTTOzWs65eJlIMZaP30nFw7Ezs7IEymW2c27+CTYp8fFL9EtksTztzCKgX/B2P+C4MzYzq2xmVX+6DXQh8J470ag4x2IRcGfw2SyXAXsLXCaMdqfcPzOraxZ4rwoza0/g/+f3EU8aPrF8/E4q1o9dMPuLwBbn3MQiNivx8YvpM5iTMbNfAlOA2gSmnclyzl1nZucBGc65651zR8zsp2lnkoDprnjTzkSDccBcMxsAfA70gcC0OgT3j8DjMguCP/fJwCvOuSUe5T2poo6Fmd0dXJ8GvEXgmSzbgINAf6/yllQx9683MNjMjgD/BW51wafvxAIze5XAs6lqWWDKp0eAshD7x68Y+xbTxw64ArgD2GRmWcGxh4AL4PSPn6aKERGRsEj0S2QiIhImKhgREQkLFYyIiISFCkZERMJCBSMiImGhghERkbBQwYhEQPBFr5+Y2drgK6Z/Gu9igbeU+J2X+UTCQa+DEYkQM2sDfAA865wbYWZ1CEzb/6FzLq5mVhYBFYxIRJnZH4BngOuAYUALoFUszVklUly6RCYSWc8RmC7mTQJzw91ZsFzM7GEz2xq8bBbr7/EjCU4FIxJBwfmp/gqUBzY45/5+zCbLga5E54zXIiWighGJIDOrC0wi8P4hrY5973Pn3AfOuRxPwomUMhWMSIQEp0SfAfwIdCZwuewpM2vpaTCRMFHBiETOHwkUy+3OuT3ACMAPvGpmFT1NJhIGKhiRCDCztsBY4Enn3HsAzrk8oC/QECjqTZ5EYlbcvuGYSDRxzq0n8MD+seOfApUjn0gk/PQ6GJEoYmaPAr8h8E6s+4FDwGXOuS+9zCVyOlQwIiISFnoMRkREwkIFIyIiYaGCERGRsFDBiIhIWKhgREQkLFQwIiISFioYEREJCxWMiIiEhQpGRETC4v8DLEkAc5T4viEAAAAASUVORK5CYII=\n",
chadhat's avatar
chadhat committed
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e04b13ac8>"
chadhat's avatar
chadhat committed
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "perceptron_DB(X, w)"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise 1 : Compute a Boolean \"OR\" using a perceptron?**\n",
chadhat's avatar
chadhat committed
    "\n",
    "Hint: copy the code from the \"AND\" example and edit the weights and/or threshold"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Boolean OR\n",
    "\n",
    "| x$_1$ | x$_2$ | output |\n",
    "| --- | --- | --- |\n",
    "| 0 | 0 | 0 |\n",
    "| 1 | 0 | 1 |\n",
    "| 0 | 1 | 1 |\n",
    "| 1 | 1 | 1 |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [],
   "source": [
    "# Calculating Boolean OR using a perceptron\n",
    "# Edit the code below"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Perceptron output for x1, x2 =  [0, 0]  is  0\n",
      "Perceptron output for x1, x2 =  [1, 0]  is  1\n",
      "Perceptron output for x1, x2 =  [0, 1]  is  1\n",
      "Perceptron output for x1, x2 =  [1, 1]  is  1\n"
chadhat's avatar
chadhat committed
     ]
    },
    {
     "data": {
      "image/png": "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\n",
chadhat's avatar
chadhat committed
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e04d79e10>"
chadhat's avatar
chadhat committed
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Solution\n",
    "# Calculating Boolean OR using a perceptron\n",
    "import matplotlib.pyplot as plt\n",
    "threshold=0.6\n",
    "w=[1,1]\n",
    "X=[[0,0],[1,0],[0,1],[1,1]]\n",
    "for i in X:\n",
    "    print(\"Perceptron output for x1, x2 = \" , i , \" is \" , perceptron(i,w,threshold))\n",
chadhat's avatar
chadhat committed
    "# Plotting the decision boundary\n",
    "perceptron_DB(X,w)"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Exercise 2 : Create a NAND gate using a perceptron**\n",
chadhat's avatar
chadhat committed
    "\n",
    "#### Boolean NAND\n",
    "\n",
    "| x$_1$ | x$_2$ | output |\n",
    "| --- | --- | --- |\n",
    "| 0 | 0 | 1 |\n",
    "| 1 | 0 | 1 |\n",
    "| 0 | 1 | 1 |\n",
    "| 1 | 1 | 0 |"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [],
   "source": [
    "# Calculating Boolean NAND using a perceptron"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In fact, a single perceptron can compute \"AND\", \"OR\" and \"NOT\" boolean functions.\n",
chadhat's avatar
chadhat committed
    "However, it cannot compute some other boolean functions such as \"XOR\"\n",
    "\n",
    "**WHAT CAN WE DO?**\n",
    "\n",
    "\n",
    "Hint: Think about what is the significance of the NAND gate we created above?\n",
chadhat's avatar
chadhat committed
    "\n",
    "We said a single perceptron can't compute these functions. We didn't say that about **multiple Perceptrons**."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**XOR function using multiple perceptrons**\n",
    "\n",
    "<center>\n",
    "<figure>\n",
    "<img src=\"./images/neuralnets/perceptron_XOR.svg\" width=\"400\"/>\n",
    "<figcaption>Multiple perceptrons put together to output a XOR function.</figcaption>\n",
    "</figure>\n",
    "</center>"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Google Playground\n",
    "\n",
    "https://playground.tensorflow.org/\n",
    "\n",
    "<img src=\"./images/neuralnets/google_playground.png\"/>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Learning\n",
    "\n",
    "Now we know that we can compute complex functions if we stack together a number of perceptrons.\n",
    "\n",
    "However, we can DO NOT want to set the weights and thresholds by hand as we did in the examples above.\n",
    "\n",
    "We want some algorithm to do this for us!\n",
    "\n",
    "In order to achieve this we first need to choose a loss function for the problem at hand\n",
    "\n",
    "\n",
    "### Loss function\n",
    "As in the case of other machine learning algorithms we need to define a so-called \"Loss function\". In simple words this function measures how close are the predictions of our network to the supplied labels. Once we have this function we need an algorithm to update the weights of the network such that this loss decreases. As one can already imagine the choice of an appropriate loss function is very important to the success of the trained model. Fortunately, for classification and regression (which comprise of a large range of probelms) these loss functions are well known. Generally **crossentropy** and **mean squared error** loss functions are chosen for classification and regression problems, respectively.\n",
    "\n",
    "### Gradient based learning\n",
    "Once we have a loss function we want to solve an **optimization problem** which minimizes this loss by updating the weights of the network and this is how the learning actually happens.\n",
    "\n",
    "One of the most popular optimization method used in machine learning is **Gradient-descent**\n",
    "\n",
    "INSERT MORE EXPLAINATIONS HERE\n",
    "\n",
chadhat's avatar
chadhat committed
    "### Activation Functions\n",
    "\n",
    "In order to train the network we need to change Perceptron's **step** activation function as it does not allow training using the back-propagation algorithm among other drawbacks.\n",
    "\n",
    "Non-Linear functions such as:\n",
    "\n",
    "* ReLU (Rectified linear unit)\n",
    "\n",
    "\\begin{equation*}\n",
    "f(z) = \\mathrm{max}(0,z)\n",
    "\\end{equation*}\n",
    "\n",
    "* Sigmoid\n",
    "\n",
    "\\begin{equation*}\n",
    "f(z) = \\frac{1}{1+e^{-z}}\n",
    "\\end{equation*}\n",
    "\n",
    "* tanh\n",
    "\n",
    "\\begin{equation*}\n",
    "f(z) = \\frac{e^{z} - e^{-z}}{e^{z} + e^{-z}}\n",
    "\\end{equation*}\n",
    "\n",
    "\n",
    "are some of the most popular choices used as activation functions.\n",
    "\n",
    "Linear activations are **NOT** used because it can be mathematically shown that if linear activations are used then output is just a linear function of the input. So adding any number of hidden layers does not help to learn interesting functions.\n",
    "\n",
    "Non-linear activation functions allow the network to learn more complex representations."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 172,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "data": {
chadhat's avatar
chadhat committed
      "image/png": "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\n",
chadhat's avatar
chadhat committed
      "text/plain": [
chadhat's avatar
chadhat committed
       "<matplotlib.figure.Figure at 0x7ff6cef06fd0>"
chadhat's avatar
chadhat committed
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250,
       "width": 597
      },
chadhat's avatar
chadhat committed
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "plt.figure(figsize=(10, 4))\n",
chadhat's avatar
chadhat committed
    "\n",
    "pts=np.arange(-20,20, 0.1)\n",
    "\n",
    "plt.subplot(1, 3, 1)\n",
chadhat's avatar
chadhat committed
    "# Sigmoid\n",
    "plt.plot(pts, 1/(1+np.exp(-pts))) ;\n",
    "\n",
    "plt.subplot(1, 3, 2)\n",
chadhat's avatar
chadhat committed
    "# tanh\n",
    "plt.plot(pts, np.tanh(pts*np.pi)) ;\n",
chadhat's avatar
chadhat committed
    "\n",
    "# Rectified linear unit (ReLu)\n",
    "plt.subplot(1, 3, 3)\n",
chadhat's avatar
chadhat committed
    "pts_relu=[max(0,i) for i in pts];\n",
    "plt.plot(pts, pts_relu) ;"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Multi-layer preceptron neural network\n",
    "Universal function theorem\n",
    "epochs\n",
    "Suggestion Uwe:\n",
    "\n",
    "3. way around: look at nature how neuron works and introduce non linear activation functions.\n",
    "\n",
    "4. theoretical background: universal approximation theorem."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Introduction to Keras"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### What is Keras?\n",
chadhat's avatar
chadhat committed
    "\n",
    "* It is a high level API to create and work with neural networks\n",
    "* Supports multiple backends such as TensorFlow from Google, Theano (Although Theano is dead now) and CNTK (Microsoft Cognitive Toolkit)\n",
    "* Very good for creating neural nets very quickly and hides away a lot of tedious work\n",
    "* Has been incorporated into official TensorFlow (which obviously only works with tensforflow) and as of TensorFlow 2.0 this will the main api to use TensorFlow (check reference)\n"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "dense_9 (Dense)              (None, 4)                 36        \n",
      "_________________________________________________________________\n",
      "activation_7 (Activation)    (None, 4)                 0         \n",
      "_________________________________________________________________\n",
      "dense_10 (Dense)             (None, 4)                 20        \n",
      "_________________________________________________________________\n",
      "dense_11 (Dense)             (None, 1)                 5         \n",
      "_________________________________________________________________\n",
      "activation_8 (Activation)    (None, 1)                 0         \n",
      "=================================================================\n",
      "Total params: 61\n",
      "Trainable params: 61\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
chadhat's avatar
chadhat committed
     ]
    }
   ],
   "source": [
    "# Say hello to keras\n",
    "\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense, Activation\n",
    "\n",
    "# Creating a model\n",
    "model = Sequential()\n",
    "\n",
    "# Adding layers to this model\n",
    "# 1st Hidden layer\n",
    "# A Dense/fully-connected layer which takes as input a \n",
    "# feature array of shape (samples, num_features)\n",
    "# Here input_shape = (8,) means that the layer expects an input with num_features = 8 \n",
    "# and the sample size could be anything\n",
    "# Then we specify an activation function\n",
    "model.add(Dense(units=4, input_shape=(8,)))\n",
chadhat's avatar
chadhat committed
    "model.add(Activation(\"relu\"))\n",
    "\n",
    "# 2nd Hidden layer\n",
    "# This is also a fully-connected layer and we do not need to specify the\n",
    "# shape of the input anymore (We need to do that only for the first layer)\n",
    "# NOTE: Now\n",
    " we didn't add the activation seperately. Instead we just added it\n",
    "# while calling Dense(). This and the way used for the first layer are Equivalent!\n",
    "model.add(Dense(units=4, activation=\"relu\"))\n",
    "\n",
    "          \n",
chadhat's avatar
chadhat committed
    "# The output layer\n",
    "model.add(Dense(units=1))\n",
    "model.add(Activation(\"sigmoid\"))\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
    "import numpy as np"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e04ab1320>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
chadhat's avatar
chadhat committed
   "source": [
    "# Creating a network to solve the XOR problem\n",
    "# Loading and plotting the data\n",
    "xor = pd.read_csv(\"xor.csv\")\n",
chadhat's avatar
chadhat committed
    "\n",
    "# Using x and y coordinates as featues\n",
    "features = xor.iloc[:, :-1]\n",
    "# Convert boolean to integer values (True->1 and False->0)\n",
    "labels = xor.iloc[:, -1].astype(int)\n",
chadhat's avatar
chadhat committed
    "\n",
    "colors = [[\"steelblue\", \"chocolate\"][i] for i in xor[\"label\"]]\n",
    "plt.figure(figsize=(5, 5))\n",
    "plt.xlim([-2, 2])\n",
    "plt.ylim([-2, 2])\n",
    "plt.title(\"Blue points are False\")\n",
    "\n",
    "\n",
    "plt.scatter(features[\"x\"], features[\"y\"], color=colors, marker=\"o\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Building a Keras model\n",
    "def a_simple_NN():\n",
    "    \n",
    "    model = Sequential()\n",
    "    model.add(Dense(4, input_shape = (2,), activation = \"relu\"))\n",
    "\n",
    "    model.add(Dense(4, activation = \"relu\"))\n",
    "\n",
    "    model.add(Dense(1, activation = \"sigmoid\"))\n",
    "\n",
    "    model.compile(loss=\"binary_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"])\n",
    "    \n",
    "    return model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 210 samples, validate on 90 samples\n",
      "Epoch 1/100\n",
      "210/210 [==============================] - 0s 2ms/step - loss: 1.0174 - acc: 0.3333 - val_loss: 0.9333 - val_acc: 0.3667\n",
      "Epoch 2/100\n",
      "210/210 [==============================] - 0s 134us/step - loss: 0.9745 - acc: 0.3429 - val_loss: 0.9086 - val_acc: 0.3667\n",
      "Epoch 3/100\n",
      "210/210 [==============================] - 0s 115us/step - loss: 0.9442 - acc: 0.3381 - val_loss: 0.8877 - val_acc: 0.3556\n",
      "Epoch 4/100\n",
      "210/210 [==============================] - 0s 145us/step - loss: 0.9182 - acc: 0.3429 - val_loss: 0.8708 - val_acc: 0.3667\n",
      "Epoch 5/100\n",
      "210/210 [==============================] - 0s 72us/step - loss: 0.8967 - acc: 0.3381 - val_loss: 0.8546 - val_acc: 0.3667\n",
      "Epoch 6/100\n",
      "210/210 [==============================] - 0s 104us/step - loss: 0.8763 - acc: 0.3476 - val_loss: 0.8392 - val_acc: 0.3667\n",
      "Epoch 7/100\n",
      "210/210 [==============================] - 0s 130us/step - loss: 0.8572 - acc: 0.3429 - val_loss: 0.8256 - val_acc: 0.3556\n",
      "Epoch 8/100\n",
      "210/210 [==============================] - 0s 113us/step - loss: 0.8399 - acc: 0.3286 - val_loss: 0.8133 - val_acc: 0.3556\n",
      "Epoch 9/100\n",
      "210/210 [==============================] - 0s 115us/step - loss: 0.8239 - acc: 0.3286 - val_loss: 0.8018 - val_acc: 0.3444\n",
      "Epoch 10/100\n",
      "210/210 [==============================] - 0s 107us/step - loss: 0.8096 - acc: 0.3286 - val_loss: 0.7911 - val_acc: 0.3222\n",
      "Epoch 11/100\n",
      "210/210 [==============================] - 0s 108us/step - loss: 0.7964 - acc: 0.3286 - val_loss: 0.7811 - val_acc: 0.3333\n",
      "Epoch 12/100\n",
      "210/210 [==============================] - 0s 110us/step - loss: 0.7841 - acc: 0.3190 - val_loss: 0.7717 - val_acc: 0.3444\n",
      "Epoch 13/100\n",
      "210/210 [==============================] - 0s 99us/step - loss: 0.7728 - acc: 0.3381 - val_loss: 0.7631 - val_acc: 0.3444\n",
      "Epoch 14/100\n",
      "210/210 [==============================] - 0s 105us/step - loss: 0.7624 - acc: 0.3429 - val_loss: 0.7549 - val_acc: 0.3556\n",
      "Epoch 15/100\n",
      "210/210 [==============================] - 0s 112us/step - loss: 0.7528 - acc: 0.3619 - val_loss: 0.7473 - val_acc: 0.3667\n",
      "Epoch 16/100\n",
      "210/210 [==============================] - 0s 93us/step - loss: 0.7437 - acc: 0.3952 - val_loss: 0.7400 - val_acc: 0.3778\n",
      "Epoch 17/100\n",
      "210/210 [==============================] - 0s 108us/step - loss: 0.7351 - acc: 0.4190 - val_loss: 0.7334 - val_acc: 0.3889\n",
      "Epoch 18/100\n",
      "210/210 [==============================] - 0s 104us/step - loss: 0.7270 - acc: 0.4000 - val_loss: 0.7271 - val_acc: 0.3889\n",
      "Epoch 19/100\n",
      "210/210 [==============================] - 0s 122us/step - loss: 0.7191 - acc: 0.4048 - val_loss: 0.7215 - val_acc: 0.3778\n",
      "Epoch 20/100\n",
      "210/210 [==============================] - 0s 103us/step - loss: 0.7120 - acc: 0.4286 - val_loss: 0.7167 - val_acc: 0.3333\n",
      "Epoch 21/100\n",
      "210/210 [==============================] - 0s 93us/step - loss: 0.7059 - acc: 0.4524 - val_loss: 0.7124 - val_acc: 0.3556\n",
      "Epoch 22/100\n",
      "210/210 [==============================] - 0s 84us/step - loss: 0.7002 - acc: 0.4667 - val_loss: 0.7083 - val_acc: 0.4000\n",
      "Epoch 23/100\n",
      "210/210 [==============================] - 0s 151us/step - loss: 0.6947 - acc: 0.5286 - val_loss: 0.7042 - val_acc: 0.4444\n",
      "Epoch 24/100\n",
      "210/210 [==============================] - 0s 132us/step - loss: 0.6894 - acc: 0.5476 - val_loss: 0.7002 - val_acc: 0.4444\n",
      "Epoch 25/100\n",
      "210/210 [==============================] - 0s 104us/step - loss: 0.6842 - acc: 0.5810 - val_loss: 0.6963 - val_acc: 0.5000\n",
      "Epoch 26/100\n",
      "210/210 [==============================] - 0s 86us/step - loss: 0.6792 - acc: 0.6095 - val_loss: 0.6930 - val_acc: 0.5111\n",
      "Epoch 27/100\n",
      "210/210 [==============================] - 0s 93us/step - loss: 0.6746 - acc: 0.6476 - val_loss: 0.6897 - val_acc: 0.5444\n",
      "Epoch 28/100\n",
      "210/210 [==============================] - 0s 78us/step - loss: 0.6702 - acc: 0.6952 - val_loss: 0.6865 - val_acc: 0.5667\n",
      "Epoch 29/100\n",
      "210/210 [==============================] - 0s 128us/step - loss: 0.6659 - acc: 0.7095 - val_loss: 0.6835 - val_acc: 0.6000\n",
      "Epoch 30/100\n",
      "210/210 [==============================] - 0s 100us/step - loss: 0.6617 - acc: 0.7190 - val_loss: 0.6808 - val_acc: 0.6222\n",
      "Epoch 31/100\n",
      "210/210 [==============================] - 0s 109us/step - loss: 0.6579 - acc: 0.7429 - val_loss: 0.6782 - val_acc: 0.6556\n",
      "Epoch 32/100\n",
      "210/210 [==============================] - 0s 128us/step - loss: 0.6542 - acc: 0.7619 - val_loss: 0.6757 - val_acc: 0.6778\n",
      "Epoch 33/100\n",
      "210/210 [==============================] - 0s 89us/step - loss: 0.6507 - acc: 0.7810 - val_loss: 0.6733 - val_acc: 0.6778\n",
      "Epoch 34/100\n",
      "210/210 [==============================] - 0s 128us/step - loss: 0.6473 - acc: 0.7905 - val_loss: 0.6711 - val_acc: 0.6778\n",
      "Epoch 35/100\n",
      "210/210 [==============================] - 0s 134us/step - loss: 0.6441 - acc: 0.7905 - val_loss: 0.6691 - val_acc: 0.6778\n",
      "Epoch 36/100\n",
      "210/210 [==============================] - 0s 150us/step - loss: 0.6412 - acc: 0.7905 - val_loss: 0.6671 - val_acc: 0.6778\n",
      "Epoch 37/100\n",
      "210/210 [==============================] - 0s 129us/step - loss: 0.6383 - acc: 0.7905 - val_loss: 0.6652 - val_acc: 0.6778\n",
      "Epoch 38/100\n",
      "210/210 [==============================] - 0s 98us/step - loss: 0.6355 - acc: 0.7905 - val_loss: 0.6634 - val_acc: 0.6778\n",
      "Epoch 39/100\n",
      "210/210 [==============================] - 0s 113us/step - loss: 0.6329 - acc: 0.7905 - val_loss: 0.6616 - val_acc: 0.6778\n",
      "Epoch 40/100\n",
      "210/210 [==============================] - 0s 155us/step - loss: 0.6304 - acc: 0.7905 - val_loss: 0.6601 - val_acc: 0.6778\n",
      "Epoch 41/100\n",
      "210/210 [==============================] - 0s 84us/step - loss: 0.6281 - acc: 0.7905 - val_loss: 0.6586 - val_acc: 0.6778\n",
      "Epoch 42/100\n",
      "210/210 [==============================] - 0s 117us/step - loss: 0.6259 - acc: 0.7905 - val_loss: 0.6571 - val_acc: 0.6778\n",
      "Epoch 43/100\n",
      "210/210 [==============================] - 0s 114us/step - loss: 0.6236 - acc: 0.7905 - val_loss: 0.6557 - val_acc: 0.6778\n",
      "Epoch 44/100\n",
      "210/210 [==============================] - 0s 93us/step - loss: 0.6215 - acc: 0.7905 - val_loss: 0.6544 - val_acc: 0.6778\n",
      "Epoch 45/100\n",
      "210/210 [==============================] - 0s 100us/step - loss: 0.6195 - acc: 0.7905 - val_loss: 0.6533 - val_acc: 0.6778\n",
      "Epoch 46/100\n",
      "210/210 [==============================] - 0s 144us/step - loss: 0.6176 - acc: 0.7905 - val_loss: 0.6522 - val_acc: 0.6778\n",
      "Epoch 47/100\n",
      "210/210 [==============================] - 0s 122us/step - loss: 0.6158 - acc: 0.7905 - val_loss: 0.6511 - val_acc: 0.6778\n",
      "Epoch 48/100\n",
      "210/210 [==============================] - 0s 142us/step - loss: 0.6140 - acc: 0.7905 - val_loss: 0.6502 - val_acc: 0.6778\n",
      "Epoch 49/100\n",
      "210/210 [==============================] - 0s 129us/step - loss: 0.6123 - acc: 0.7905 - val_loss: 0.6492 - val_acc: 0.6778\n",
      "Epoch 50/100\n",
      "210/210 [==============================] - 0s 105us/step - loss: 0.6106 - acc: 0.7905 - val_loss: 0.6483 - val_acc: 0.6778\n",
      "Epoch 51/100\n",
      "210/210 [==============================] - 0s 81us/step - loss: 0.6090 - acc: 0.7905 - val_loss: 0.6475 - val_acc: 0.6778\n",
      "Epoch 52/100\n",
      "210/210 [==============================] - 0s 154us/step - loss: 0.6075 - acc: 0.7905 - val_loss: 0.6467 - val_acc: 0.6778\n",
      "Epoch 53/100\n",
      "210/210 [==============================] - 0s 174us/step - loss: 0.6060 - acc: 0.7905 - val_loss: 0.6459 - val_acc: 0.6778\n",
      "Epoch 54/100\n",
      "210/210 [==============================] - 0s 84us/step - loss: 0.6044 - acc: 0.7905 - val_loss: 0.6451 - val_acc: 0.6778\n",
      "Epoch 55/100\n",
      "210/210 [==============================] - 0s 124us/step - loss: 0.6030 - acc: 0.7905 - val_loss: 0.6444 - val_acc: 0.6778\n",
      "Epoch 56/100\n",
      "210/210 [==============================] - 0s 131us/step - loss: 0.6015 - acc: 0.7905 - val_loss: 0.6437 - val_acc: 0.6778\n",
      "Epoch 57/100\n",
      "210/210 [==============================] - 0s 126us/step - loss: 0.6001 - acc: 0.7905 - val_loss: 0.6431 - val_acc: 0.6778\n",
      "Epoch 58/100\n",
      "210/210 [==============================] - 0s 123us/step - loss: 0.5988 - acc: 0.7905 - val_loss: 0.6425 - val_acc: 0.6778\n",
      "Epoch 59/100\n",
      "210/210 [==============================] - 0s 106us/step - loss: 0.5975 - acc: 0.7905 - val_loss: 0.6419 - val_acc: 0.6778\n",
      "Epoch 60/100\n",
      "210/210 [==============================] - 0s 123us/step - loss: 0.5962 - acc: 0.7905 - val_loss: 0.6414 - val_acc: 0.6778\n",
      "Epoch 61/100\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "210/210 [==============================] - 0s 113us/step - loss: 0.5950 - acc: 0.7905 - val_loss: 0.6409 - val_acc: 0.6778\n",
      "Epoch 62/100\n",
      "210/210 [==============================] - 0s 163us/step - loss: 0.5938 - acc: 0.7905 - val_loss: 0.6404 - val_acc: 0.6778\n",
      "Epoch 63/100\n",
      "210/210 [==============================] - 0s 132us/step - loss: 0.5926 - acc: 0.7905 - val_loss: 0.6399 - val_acc: 0.6778\n",
      "Epoch 64/100\n",
      "210/210 [==============================] - 0s 57us/step - loss: 0.5914 - acc: 0.7905 - val_loss: 0.6395 - val_acc: 0.6778\n",
      "Epoch 65/100\n",
      "210/210 [==============================] - 0s 90us/step - loss: 0.5902 - acc: 0.7905 - val_loss: 0.6390 - val_acc: 0.6778\n",
      "Epoch 66/100\n",
      "210/210 [==============================] - 0s 115us/step - loss: 0.5890 - acc: 0.7905 - val_loss: 0.6385 - val_acc: 0.6778\n",
      "Epoch 67/100\n",
      "210/210 [==============================] - 0s 99us/step - loss: 0.5877 - acc: 0.7905 - val_loss: 0.6380 - val_acc: 0.6778\n",
      "Epoch 68/100\n",
      "210/210 [==============================] - 0s 137us/step - loss: 0.5864 - acc: 0.7905 - val_loss: 0.6375 - val_acc: 0.6778\n",
      "Epoch 69/100\n",
      "210/210 [==============================] - 0s 85us/step - loss: 0.5852 - acc: 0.7905 - val_loss: 0.6368 - val_acc: 0.6778\n",
      "Epoch 70/100\n",
      "210/210 [==============================] - 0s 140us/step - loss: 0.5838 - acc: 0.7905 - val_loss: 0.6362 - val_acc: 0.6778\n",
      "Epoch 71/100\n",
      "210/210 [==============================] - 0s 79us/step - loss: 0.5824 - acc: 0.7905 - val_loss: 0.6356 - val_acc: 0.6778\n",
      "Epoch 72/100\n",
      "210/210 [==============================] - 0s 101us/step - loss: 0.5810 - acc: 0.7905 - val_loss: 0.6348 - val_acc: 0.6778\n",
      "Epoch 73/100\n",
      "210/210 [==============================] - 0s 136us/step - loss: 0.5793 - acc: 0.7905 - val_loss: 0.6339 - val_acc: 0.6778\n",
      "Epoch 74/100\n",
      "210/210 [==============================] - 0s 95us/step - loss: 0.5777 - acc: 0.7905 - val_loss: 0.6330 - val_acc: 0.6778\n",
      "Epoch 75/100\n",
      "210/210 [==============================] - 0s 113us/step - loss: 0.5759 - acc: 0.7905 - val_loss: 0.6320 - val_acc: 0.6778\n",
      "Epoch 76/100\n",
      "210/210 [==============================] - 0s 129us/step - loss: 0.5741 - acc: 0.7905 - val_loss: 0.6309 - val_acc: 0.6778\n",
      "Epoch 77/100\n",
      "210/210 [==============================] - 0s 113us/step - loss: 0.5721 - acc: 0.7905 - val_loss: 0.6297 - val_acc: 0.6778\n",
      "Epoch 78/100\n",
      "210/210 [==============================] - 0s 88us/step - loss: 0.5699 - acc: 0.7905 - val_loss: 0.6286 - val_acc: 0.6778\n",
      "Epoch 79/100\n",
      "210/210 [==============================] - 0s 109us/step - loss: 0.5677 - acc: 0.7905 - val_loss: 0.6274 - val_acc: 0.6778\n",
      "Epoch 80/100\n",
      "210/210 [==============================] - 0s 85us/step - loss: 0.5654 - acc: 0.7905 - val_loss: 0.6263 - val_acc: 0.6778\n",
      "Epoch 81/100\n",
      "210/210 [==============================] - 0s 109us/step - loss: 0.5632 - acc: 0.7905 - val_loss: 0.6251 - val_acc: 0.6778\n",
      "Epoch 82/100\n",
      "210/210 [==============================] - 0s 76us/step - loss: 0.5610 - acc: 0.7905 - val_loss: 0.6239 - val_acc: 0.6778\n",
      "Epoch 83/100\n",
      "210/210 [==============================] - 0s 88us/step - loss: 0.5586 - acc: 0.7905 - val_loss: 0.6227 - val_acc: 0.6778\n",
      "Epoch 84/100\n",
      "210/210 [==============================] - 0s 120us/step - loss: 0.5563 - acc: 0.7905 - val_loss: 0.6214 - val_acc: 0.6778\n",
      "Epoch 85/100\n",
      "210/210 [==============================] - 0s 94us/step - loss: 0.5538 - acc: 0.7905 - val_loss: 0.6202 - val_acc: 0.6778\n",
      "Epoch 86/100\n",
      "210/210 [==============================] - 0s 73us/step - loss: 0.5514 - acc: 0.7905 - val_loss: 0.6189 - val_acc: 0.6778\n",
      "Epoch 87/100\n",
      "210/210 [==============================] - 0s 80us/step - loss: 0.5489 - acc: 0.7905 - val_loss: 0.6177 - val_acc: 0.6778\n",
      "Epoch 88/100\n",
      "210/210 [==============================] - 0s 111us/step - loss: 0.5465 - acc: 0.7905 - val_loss: 0.6165 - val_acc: 0.6778\n",
      "Epoch 89/100\n",
      "210/210 [==============================] - 0s 126us/step - loss: 0.5440 - acc: 0.7905 - val_loss: 0.6153 - val_acc: 0.6778\n",
      "Epoch 90/100\n",
      "210/210 [==============================] - 0s 102us/step - loss: 0.5415 - acc: 0.7905 - val_loss: 0.6142 - val_acc: 0.6778\n",
      "Epoch 91/100\n",
      "210/210 [==============================] - 0s 119us/step - loss: 0.5391 - acc: 0.7905 - val_loss: 0.6131 - val_acc: 0.6778\n",
      "Epoch 92/100\n",
      "210/210 [==============================] - 0s 125us/step - loss: 0.5366 - acc: 0.7905 - val_loss: 0.6119 - val_acc: 0.6778\n",
      "Epoch 93/100\n",
      "210/210 [==============================] - 0s 97us/step - loss: 0.5341 - acc: 0.7905 - val_loss: 0.6109 - val_acc: 0.6778\n",
      "Epoch 94/100\n",
      "210/210 [==============================] - 0s 84us/step - loss: 0.5316 - acc: 0.7905 - val_loss: 0.6097 - val_acc: 0.6778\n",
      "Epoch 95/100\n",
      "210/210 [==============================] - 0s 96us/step - loss: 0.5291 - acc: 0.7905 - val_loss: 0.6088 - val_acc: 0.6778\n",
      "Epoch 96/100\n",
      "210/210 [==============================] - 0s 106us/step - loss: 0.5268 - acc: 0.7905 - val_loss: 0.6077 - val_acc: 0.6778\n",
      "Epoch 97/100\n",
      "210/210 [==============================] - 0s 109us/step - loss: 0.5243 - acc: 0.7905 - val_loss: 0.6067 - val_acc: 0.6778\n",
      "Epoch 98/100\n",
      "210/210 [==============================] - 0s 88us/step - loss: 0.5218 - acc: 0.7905 - val_loss: 0.6058 - val_acc: 0.6778\n",
      "Epoch 99/100\n",
      "210/210 [==============================] - 0s 98us/step - loss: 0.5196 - acc: 0.7905 - val_loss: 0.6050 - val_acc: 0.6778\n",
      "Epoch 100/100\n",
      "210/210 [==============================] - 0s 93us/step - loss: 0.5173 - acc: 0.7905 - val_loss: 0.6042 - val_acc: 0.6778\n"
    "model = a_simple_NN()\n",
    "\n",
    "# Here we split the dataset into training (80%) and validation sets (20%)\n",
    "X_train, X_test, y_train, y_test = train_test_split(\n",
    "    features, labels, test_size=0.3)\n",
    "\n",
    "num_epochs = 100\n",
    "\n",
    "# We can pass validation data while training\n",
    "\n",
    "model_run = model.fit(X_train, y_train, epochs=num_epochs,\n",
    "                      validation_data=(X_test, y_test))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4dff647390>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "history_model = model_run.history\n",
    "\n",
    "plt.plot(np.arange(1,num_epochs+1), history_model[\"acc\"], \"blue\") ;\n",
    "\n",
    "plt.plot(np.arange(1,num_epochs+1), history_model[\"val_acc\"], \"red\") ;"
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We know from previous chapters that to more robustly calculate accuracy we can use **K-fold crossvalidation**.\n",
    "This is even more important when we have small datasets and cannot afford to reserve a validation set!\n",
    "This is also the case in the example above.\n",
    "\n",
    "One way to do the cross validation here would be to write our own function to do this. However, we know that **SciKit learn** provides such a function. So the question is:\n",
    "\n",
    "Can we somehow use the handy functions which **SciKit learn** provides to evaluate and tune our Keras models?\n",
    "\n",
    "The Answer is **YES !**\n",
    "\n",
    "We show how to do this in the following section."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Using SciKit learn functions on Keras models\n",
    "\n",
    "Keras offers wrappers which allow its Sequential models to be used with SciKit learn. \n",
    "\n",
    "There 2 such wrappers: **KerasClassifier** and **KerasRegressor**.\n",
    "\n",
    "For more information:\n",
    "https://keras.io/scikit-learn-api/\n",
    "\n",
    "**Now lets see how this works!**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0.61428571 0.6        0.88571429 0.7        0.67142857]\n",
      "0.6942857147966113\n"
    "# We wrap the Keras model we created above with KerasClassifier\n",
    "from keras.wrappers.scikit_learn import KerasClassifier \n",
    "from sklearn.model_selection import cross_val_score\n",
    "model_scikit = KerasClassifier(build_fn=a_simple_NN, **{\"epochs\":num_epochs, \"verbose\":0})\n",
    "cross_validation = cross_val_score(model_scikit, X_train, y_train, cv=5, verbose=0)\n",
    "print(cross_validation)\n",
    "print(np.mean(cross_validation))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Using TensorFlow backend.\n"
     ]
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.model_selection import train_test_split\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
    "import numpy as np\n",
    "# We wrap the Keras model we created above with KerasClassifier\n",
    "from keras.wrappers.scikit_learn import KerasClassifier "
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "def list_flatten(list_of_list):\n",
    "    flattened_list = [i for j in list_of_list for i in j]\n",
    "    return flattened_list\n",
    "def train_and_plot_decision_surface(\n",
    "    name, classifier, features_2d, labels, preproc=None, plt=plt, marker='o', N=400\n",
    "):\n",
    "    features_2d = np.array(features_2d)\n",
    "    xmin, ymin = features_2d.min(axis=0)\n",
    "    xmax, ymax = features_2d.max(axis=0)\n",
    "    x = np.linspace(xmin, xmax, N)\n",
    "    y = np.linspace(ymin, ymax, N)\n",
    "    points = np.array(np.meshgrid(x, y)).T.reshape(-1, 2)\n",
    "    if preproc is not None:\n",
    "        points_for_classifier = preproc.fit_transform(points)\n",
    "        features_2d = preproc.fit_transform(features_2d)\n",
    "    else:\n",
    "        points_for_classifier = points\n",
    "\n",
    "    classifier.fit(features_2d, labels, verbose=0)\n",
    "    predicted = classifier.predict(features_2d)\n",
    "    \n",
    "    if name == \"Neural Net\":\n",
    "        predicted = list_flatten(predicted)\n",
    "    \n",
    "    \n",
    "    if preproc is not None:\n",
    "        name += \" (w/ preprocessing)\"\n",
    "    print(name + \":\\t\", sum(predicted == labels), \"/\", len(labels), \"correct\")\n",
    "    \n",
    "    if name == \"Neural Net\":\n",
    "        classes = np.array(list_flatten(classifier.predict(points_for_classifier)), dtype=bool)\n",
    "    else:\n",
    "        classes = np.array(classifier.predict(points_for_classifier), dtype=bool)\n",
    "    plt.plot(\n",
    "        points[~classes][:, 0],\n",
    "        points[~classes][:, 1],\n",
    "        \"o\",\n",
    "        color=\"steelblue\",\n",
    "        markersize=1,\n",
    "        alpha=0.01,\n",
    "    )\n",
    "    plt.plot(\n",
    "        points[classes][:, 0],\n",
    "        points[classes][:, 1],\n",
    "        \"o\",\n",
    "        color=\"chocolate\",\n",
    "        markersize=1,\n",
    "        alpha=0.04,\n",
    "    )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def a_simple_NN():\n",
    "    \n",
    "    model = Sequential()\n",
    "    model.add(Dense(8, input_shape = (2,), activation = \"relu\"))\n",
    "    model.add(Dense(2, activation = \"relu\"))\n",
    "\n",
    "    model.add(Dense(1, activation = \"sigmoid\"))\n",
    "\n",
    "    model.compile(loss=\"binary_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"])\n",
    "    \n",
    "    return model\n",
    "\n",
    "model = a_simple_NN()\n",
    "\n",
    "num_epochs = 400\n",
    "model_scikit = KerasClassifier(build_fn=a_simple_NN, epochs=num_epochs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Neural Net:\t 487 / 500 correct\n"
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e05a6ec18>"
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    "def plot_points(plt=plt, marker='o'):\n",
    "    colors = [[\"steelblue\", \"chocolate\"][i] for i in labels]\n",
    "    plt.scatter(features.iloc[:, 0], features.iloc[:, 1], color=colors, marker=marker);\n",
    "_, ax = plt.subplots(figsize=(6, 6))\n",
    "xor = pd.read_csv(\"xor.csv\")\n",
    "features = xor.iloc[:, :-1]\n",
    "# Convert boolean to integer values (True->1 and False->0)\n",
    "labels = xor.iloc[:, -1]\n",
    "train_and_plot_decision_surface(\"Neural Net\", model_scikit, features, labels, plt=ax)\n",
    "plot_points(plt=ax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exercise: Create a neural network to classify the 2d points example from chapter 2"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "          x         y  label\n",
      "0 -0.501840  1.802857  False\n",
      "1  0.927976  0.394634   True\n",
      "2 -1.375925 -1.376022  False\n"
     ]
    },
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4e0457ca20>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "circle = pd.read_csv(\"2d_points.csv\")\n",
    "# Using x and y coordinates as featues\n",
    "features = circle.iloc[:, :-1]\n",
    "# Convert boolean to integer values (True->1 and False->0)\n",
    "labels = circle.iloc[:, -1].astype(int)\n",
    "colors = [[\"steelblue\", \"chocolate\"][i] for i in circle[\"label\"]]\n",
    "plt.figure(figsize=(5, 5))\n",
    "plt.xlim([-2, 2])\n",
    "plt.ylim([-2, 2])\n",
    "\n",
    "plt.scatter(features[\"x\"], features[\"y\"], color=colors, marker=\"o\");\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Insert Code here"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### MNIST Dataset\n",
    "MNIST datasets is a very common dataset used in machine learning. It is widely used to train and validate models.\n",
    ">The MNIST database of handwritten digits, available from this page, has a training set of 60,000 examples, and a >test set of 10,000 examples. It is a subset of a larger set available from NIST. The digits have been size->normalized and centered in a fixed-size image.\n",
    ">It is a good database for people who want to try learning techniques and pattern recognition methods on real-world >data while spending minimal efforts on preprocessing and formatting.\n",
    ">source: http://yann.lecun.com/exdb/mnist/\n",
    "The problem we want to solve using this dataset is: multi-class classification\n",
    "This dataset consists of images of handwritten digits between 0-9 and their corresponsing labels. We want to train a neural network which is able to predict the correct digit on the image. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Loading the dataset in keras\n",
    "# Later you can explore and play with other datasets with come with Keras\n",
    "from keras.datasets import mnist\n",
    "# Loading the train and test data\n",
    "(X_train, y_train), (X_test, y_test) = mnist.load_data()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 185,
   "metadata": {},
   "outputs": [
    {
chadhat's avatar
chadhat committed
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(60000, 28, 28)\n"
chadhat's avatar
chadhat committed
     ]
    }
   ],
   "source": [
    "# Looking at the dataset\n",
    "print(X_train.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [
chadhat's avatar
chadhat committed
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "This digit is:  8\n"
chadhat's avatar
chadhat committed
     ]
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fe8e68579e8>"
      ]
     },
     "metadata": {
      "image/png": {
       "height": 250,
       "width": 253
      },
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We can see that the training set consists of 60,000 images of size 28x28 pixels\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "i=np.random.randint(0,X_train.shape[0])\n",
    "plt.imshow(X_train[i], cmap=\"gray_r\") ;\n",
    "print(\"This digit is: \" , y_train[i])"
   "cell_type": "code",
   "execution_count": 141,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 255\n"
     ]
    }
   ],
chadhat's avatar
chadhat committed
   "source": [
    "# Look at the data values for a couple of images\n",
    "print(X_train[0].min(), X_train[1].max())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The data consists of values between 0-255 representing the **grayscale level**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 188,
   "metadata": {},
   "outputs": [
chadhat's avatar
chadhat committed
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(60000,)\n"
chadhat's avatar
chadhat committed
     ]
chadhat's avatar
chadhat committed
    }
   ],
   "source": [
    "# The labels are the digit on the image\n",
    "print(y_train.shape)"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 190,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [],
   "source": [
    "# Scaling the data\n",
    "# It is important to normalize the input data to (0-1) before providing it to a neural net\n",
    "# We could use the previously introduced function from SciKit learn. However, here it is sufficient to\n",
    "# just divide the input data by 255\n",
    "X_train_norm = X_train/255.\n",
    "X_test_norm = X_test/255.\n",
    "\n",
    "# Also we need to reshape the input data such that each sample is a vector and not a 2D matrix\n",
    "X_train_prep = X_train_norm.reshape(X_train_norm.shape[0],28*28)\n",
    "X_test_prep = X_test_norm.reshape(X_test_norm.shape[0],28*28)"
   "cell_type": "markdown",
chadhat's avatar
chadhat committed
   "metadata": {},
   "source": [
    "**IMPORTANT: One-Hot encoding**\n",
chadhat's avatar
chadhat committed
    "\n",
    "**TODO: Better frame the explaination**\n",
chadhat's avatar
chadhat committed
    "\n",
    "In such problems the labels are provided as something called **One-hot encodings**. What this does is to convert a categorical label to a vector.\n",
chadhat's avatar
chadhat committed
    "\n",
    "For the MNIST problem where we have **10 categories** one-hot encoding will create a vector of length 10 for each of the labels. All the entries of this vector will be zero **except** for the index which is equal to the integer value of the label.\n",
chadhat's avatar
chadhat committed
    "\n",
    "For example:\n",
    "if label is 4. The one-hot vector will look like **[0 0 0 0 1 0 0 0 0 0]**\n",
chadhat's avatar
chadhat committed
    "\n",
    "Fortunately, we don't have to code this ourselves because Keras has a built-in function for this."
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 191,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(60000, 10)\n"
     ]
    }
   ],
chadhat's avatar
chadhat committed
   "source": [
    "from keras.utils.np_utils import to_categorical\n",
chadhat's avatar
chadhat committed
    "\n",
    "y_train_onehot = to_categorical(y_train, num_classes=10)\n",
    "y_test_onehot = to_categorical(y_test, num_classes=10)\n",
chadhat's avatar
chadhat committed
    "\n",
    "print(y_train_onehot.shape)"
chadhat's avatar
chadhat committed
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
chadhat's avatar
chadhat committed
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/20\n",
      "60000/60000 [==============================] - 2s 34us/step - loss: 0.5888 - acc: 0.8434\n",
      "Epoch 2/20\n",
      "60000/60000 [==============================] - 1s 20us/step - loss: 0.2569 - acc: 0.9267\n",
      "Epoch 3/20\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.2024 - acc: 0.9416\n",
      "Epoch 4/20\n",
      "60000/60000 [==============================] - 1s 17us/step - loss: 0.1706 - acc: 0.9497\n",
      "Epoch 5/20\n",
      "60000/60000 [==============================] - 1s 23us/step - loss: 0.1475 - acc: 0.9563\n",
      "Epoch 6/20\n",
      "60000/60000 [==============================] - 1s 20us/step - loss: 0.1290 - acc: 0.9627\n",
      "Epoch 7/20\n",
      "60000/60000 [==============================] - 1s 23us/step - loss: 0.1162 - acc: 0.9651\n",
      "Epoch 8/20\n",
      "60000/60000 [==============================] - 1s 19us/step - loss: 0.1035 - acc: 0.9691\n",
      "Epoch 9/20\n",
      "60000/60000 [==============================] - 2s 28us/step - loss: 0.0939 - acc: 0.9716\n",
      "Epoch 10/20\n",
      "60000/60000 [==============================] - 1s 22us/step - loss: 0.0848 - acc: 0.9743\n",
      "Epoch 11/20\n",
      "60000/60000 [==============================] - 1s 25us/step - loss: 0.0777 - acc: 0.9763\n",
      "Epoch 12/20\n",
      "60000/60000 [==============================] - 1s 20us/step - loss: 0.0720 - acc: 0.9780\n",
      "Epoch 13/20\n",
      "60000/60000 [==============================] - 1s 22us/step - loss: 0.0655 - acc: 0.9808\n",
      "Epoch 14/20\n",
      "60000/60000 [==============================] - 2s 30us/step - loss: 0.0610 - acc: 0.9817\n",
      "Epoch 15/20\n",
      "60000/60000 [==============================] - 1s 16us/step - loss: 0.0563 - acc: 0.9832\n",
      "Epoch 16/20\n",
      "60000/60000 [==============================] - 1s 20us/step - loss: 0.0527 - acc: 0.9842\n",
      "Epoch 17/20\n",
      "60000/60000 [==============================] - 1s 21us/step - loss: 0.0478 - acc: 0.9854\n",
      "Epoch 18/20\n",
      "60000/60000 [==============================] - 1s 15us/step - loss: 0.0453 - acc: 0.9864\n",
      "Epoch 19/20\n",
      "60000/60000 [==============================] - 1s 18us/step - loss: 0.0419 - acc: 0.9874\n",
      "Epoch 20/20\n",
      "60000/60000 [==============================] - 1s 20us/step - loss: 0.0387 - acc: 0.9885\n"
chadhat's avatar
chadhat committed
     ]
    },
    {
     "data": {
      "text/plain": [
       "<keras.callbacks.History at 0x7fe8e7465438>"
     "execution_count": 194,
     "metadata": {},
     "output_type": "execute_result"
    "# Building the keras model\n",
    "from keras.models import Sequential\n",
    "from keras.layers import Dense\n",
chadhat's avatar
chadhat committed
    "\n",
    "model = Sequential()\n",
chadhat's avatar
chadhat committed
    "\n",
    "model.add(Dense(64,input_shape=(28*28,), activation=\"relu\"))\n",
chadhat's avatar
chadhat committed
    "\n",
    "model.add(Dense(64, activation = \"relu\"))\n",
chadhat's avatar
chadhat committed
    "\n",
    "model.add(Dense(10, activation = \"softmax\"))\n",
chadhat's avatar
chadhat committed
    "\n",
    "model.compile(loss=\"categorical_crossentropy\", optimizer=\"rmsprop\", metrics=[\"accuracy\"])\n",
    "\n",
    "model_history = model.fit(X_train_prep, y_train_cat, epochs=20, batch_size=512);"
   "cell_type": "code",
   "execution_count": 196,
chadhat's avatar
chadhat committed
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000/10000 [==============================] - 1s 85us/step\n",
      "The [loss, accuracy] are:  [0.08737125840586377, 0.974]\n"
     ]
    }
   ],
chadhat's avatar
chadhat committed
   "source": [
    "# Evaluating the model on test dataset\n",
    "print(\"The [loss, accuracy] on test dataset are: \" , model.evaluate(X_test_prep, y_test_onehot))"
   "cell_type": "markdown",
chadhat's avatar
chadhat committed
   "metadata": {},
   "source": [
    "# Work in Progress\n",
chadhat's avatar
chadhat committed
    "\n",
    "## Network results on dataset used in previous notebooks"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Might Remove the following: This beer example is not good for neural networks. Basically the dataset is far too small**"
   ]
  },
  {
   "cell_type": "code",
chadhat's avatar
chadhat committed
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(225, 4)"
      ]
     },
chadhat's avatar
chadhat committed
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Revisiting the beer example\n",
    "\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from keras.models import Sequential\n",
chadhat's avatar
chadhat committed
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Loading the beer data\n",
    "beer = pd.read_csv(\"beers.csv\")\n",
    "\n",
    "# Extracting the features and labels\n",
    "#beer_data.describe()\n",
    "features = beer.iloc[:, :-1]\n",
    "labels = beer.iloc[:, -1]\n",
    "features.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Revisiting the beer example\n",
    "\n",
    "# Loading and preparing the data\n",
    "\n",
    "import pandas as pd\n",
    "from sklearn.model_selection import train_test_split\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "# Loading the beer data\n",
    "beer = pd.read_csv(\"beers.csv\")\n",
    "\n",
    "# Extracting the features and labels\n",
    "#beer_data.describe()\n",
    "features = beer.iloc[:, :-1]\n",
    "labels = beer.iloc[:, -1]\n",
    "\n",
    "# Here we split the dataset into training (70%) and validation sets (30%) \n",
    "#X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.5, random_state=42)\n",
    "X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.3)\n",
    "\n",
    "# Scaling the data\n",
    "# NOTE: The features should be normalized before being fed into the neural network\n",
    "scaling = MinMaxScaler()\n",
    "scaling.fit(X_train)\n",
    "\n",
    "X_train_scaled = scaling.transform(X_train)\n",
    "X_test_scaled = scaling.transform(X_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 157 samples, validate on 68 samples\n",
      "Epoch 1/1000\n",
      "157/157 [==============================] - 1s 6ms/step - loss: 0.6730 - acc: 0.5350 - val_loss: 0.6769 - val_acc: 0.5147\n",
      "Epoch 2/1000\n",
      "157/157 [==============================] - 0s 406us/step - loss: 0.6704 - acc: 0.5350 - val_loss: 0.6754 - val_acc: 0.5147\n",
      "Epoch 3/1000\n",
      "157/157 [==============================] - 0s 256us/step - loss: 0.6693 - acc: 0.5350 - val_loss: 0.6740 - val_acc: 0.5147\n",
      "Epoch 4/1000\n",
      "157/157 [==============================] - 0s 215us/step - loss: 0.6679 - acc: 0.5350 - val_loss: 0.6728 - val_acc: 0.5147\n",
      "Epoch 5/1000\n",
      "157/157 [==============================] - 0s 168us/step - loss: 0.6668 - acc: 0.5350 - val_loss: 0.6716 - val_acc: 0.5147\n",
      "Epoch 6/1000\n",
      "157/157 [==============================] - 0s 107us/step - loss: 0.6658 - acc: 0.5350 - val_loss: 0.6704 - val_acc: 0.5147\n",
      "Epoch 7/1000\n",
      "157/157 [==============================] - 0s 303us/step - loss: 0.6652 - acc: 0.5350 - val_loss: 0.6693 - val_acc: 0.5147\n",
      "Epoch 8/1000\n",
      "157/157 [==============================] - 0s 98us/step - loss: 0.6637 - acc: 0.5350 - val_loss: 0.6682 - val_acc: 0.5147\n",
      "Epoch 9/1000\n",
      "157/157 [==============================] - 0s 92us/step - loss: 0.6626 - acc: 0.5350 - val_loss: 0.6670 - val_acc: 0.5147\n",
      "Epoch 10/1000\n",
      "157/157 [==============================] - 0s 90us/step - loss: 0.6616 - acc: 0.5350 - val_loss: 0.6657 - val_acc: 0.5147\n",
      "Epoch 11/1000\n",
      "157/157 [==============================] - 0s 92us/step - loss: 0.6605 - acc: 0.5350 - val_loss: 0.6644 - val_acc: 0.5147\n",
      "Epoch 12/1000\n",
      "157/157 [==============================] - 0s 305us/step - loss: 0.6596 - acc: 0.5350 - val_loss: 0.6633 - val_acc: 0.5147\n",
      "Epoch 13/1000\n",
      "157/157 [==============================] - 0s 142us/step - loss: 0.6587 - acc: 0.5350 - val_loss: 0.6622 - val_acc: 0.5147\n",
      "Epoch 14/1000\n",
      "157/157 [==============================] - 0s 144us/step - loss: 0.6578 - acc: 0.5350 - val_loss: 0.6612 - val_acc: 0.5147\n",
      "Epoch 15/1000\n",
      "157/157 [==============================] - 0s 137us/step - loss: 0.6567 - acc: 0.5350 - val_loss: 0.6601 - val_acc: 0.5147\n",
      "Epoch 16/1000\n",
      "157/157 [==============================] - 0s 179us/step - loss: 0.6558 - acc: 0.5350 - val_loss: 0.6591 - val_acc: 0.5147\n",
      "Epoch 17/1000\n",
      "157/157 [==============================] - 0s 98us/step - loss: 0.6551 - acc: 0.5350 - val_loss: 0.6580 - val_acc: 0.5147\n",
      "Epoch 18/1000\n",
      "157/157 [==============================] - 0s 106us/step - loss: 0.6540 - acc: 0.5350 - val_loss: 0.6570 - val_acc: 0.5147\n",
      "Epoch 19/1000\n",
      "157/157 [==============================] - 0s 97us/step - loss: 0.6531 - acc: 0.5350 - val_loss: 0.6559 - val_acc: 0.5147\n",
      "Epoch 20/1000\n",
      "157/157 [==============================] - 0s 131us/step - loss: 0.6523 - acc: 0.5350 - val_loss: 0.6549 - val_acc: 0.5147\n",
      "Epoch 21/1000\n",
      "157/157 [==============================] - 0s 141us/step - loss: 0.6512 - acc: 0.5350 - val_loss: 0.6537 - val_acc: 0.5147\n",
      "Epoch 22/1000\n",
      "157/157 [==============================] - 0s 288us/step - loss: 0.6506 - acc: 0.5350 - val_loss: 0.6527 - val_acc: 0.5147\n",
      "Epoch 23/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.6496 - acc: 0.5414 - val_loss: 0.6517 - val_acc: 0.5147\n",
      "Epoch 24/1000\n",
      "157/157 [==============================] - 0s 257us/step - loss: 0.6486 - acc: 0.5414 - val_loss: 0.6506 - val_acc: 0.5147\n",
      "Epoch 25/1000\n",
      "157/157 [==============================] - 0s 95us/step - loss: 0.6477 - acc: 0.5478 - val_loss: 0.6495 - val_acc: 0.5147\n",
      "Epoch 26/1000\n",
      "157/157 [==============================] - 0s 112us/step - loss: 0.6466 - acc: 0.5414 - val_loss: 0.6483 - val_acc: 0.5147\n",
      "Epoch 27/1000\n",
      "157/157 [==============================] - 0s 168us/step - loss: 0.6458 - acc: 0.5541 - val_loss: 0.6472 - val_acc: 0.5147\n",
      "Epoch 28/1000\n",
      "157/157 [==============================] - 0s 257us/step - loss: 0.6447 - acc: 0.5541 - val_loss: 0.6461 - val_acc: 0.5147\n",
      "Epoch 29/1000\n",
      "157/157 [==============================] - 0s 134us/step - loss: 0.6437 - acc: 0.5541 - val_loss: 0.6449 - val_acc: 0.5147\n",
      "Epoch 30/1000\n",
      "157/157 [==============================] - 0s 111us/step - loss: 0.6427 - acc: 0.5669 - val_loss: 0.6438 - val_acc: 0.5147\n",
      "Epoch 31/1000\n",
      "157/157 [==============================] - 0s 153us/step - loss: 0.6417 - acc: 0.5669 - val_loss: 0.6426 - val_acc: 0.5147\n",
      "Epoch 32/1000\n",
      "157/157 [==============================] - 0s 103us/step - loss: 0.6407 - acc: 0.5669 - val_loss: 0.6414 - val_acc: 0.5147\n",
      "Epoch 33/1000\n",
      "157/157 [==============================] - 0s 269us/step - loss: 0.6394 - acc: 0.5732 - val_loss: 0.6401 - val_acc: 0.5294\n",
      "Epoch 34/1000\n",
      "157/157 [==============================] - 0s 119us/step - loss: 0.6384 - acc: 0.5732 - val_loss: 0.6387 - val_acc: 0.5294\n",
      "Epoch 35/1000\n",
      "157/157 [==============================] - 0s 92us/step - loss: 0.6371 - acc: 0.5732 - val_loss: 0.6373 - val_acc: 0.5294\n",
      "Epoch 36/1000\n",
      "157/157 [==============================] - 0s 298us/step - loss: 0.6361 - acc: 0.5796 - val_loss: 0.6360 - val_acc: 0.5294\n",
      "Epoch 37/1000\n",
      "157/157 [==============================] - 0s 193us/step - loss: 0.6349 - acc: 0.5860 - val_loss: 0.6347 - val_acc: 0.5441\n",
      "Epoch 38/1000\n",
      "157/157 [==============================] - 0s 122us/step - loss: 0.6336 - acc: 0.5860 - val_loss: 0.6333 - val_acc: 0.5441\n",
      "Epoch 39/1000\n",
      "157/157 [==============================] - 0s 194us/step - loss: 0.6323 - acc: 0.5860 - val_loss: 0.6318 - val_acc: 0.5441\n",
      "Epoch 40/1000\n",
      "157/157 [==============================] - 0s 321us/step - loss: 0.6310 - acc: 0.5860 - val_loss: 0.6302 - val_acc: 0.5441\n",
      "Epoch 41/1000\n",
      "157/157 [==============================] - 0s 151us/step - loss: 0.6297 - acc: 0.5924 - val_loss: 0.6286 - val_acc: 0.5441\n",
      "Epoch 42/1000\n",
      "157/157 [==============================] - 0s 229us/step - loss: 0.6285 - acc: 0.5924 - val_loss: 0.6273 - val_acc: 0.5441\n",
      "Epoch 43/1000\n",
      "157/157 [==============================] - 0s 201us/step - loss: 0.6271 - acc: 0.5924 - val_loss: 0.6258 - val_acc: 0.5441\n",
      "Epoch 44/1000\n",
      "157/157 [==============================] - 0s 129us/step - loss: 0.6260 - acc: 0.5924 - val_loss: 0.6243 - val_acc: 0.5441\n",
      "Epoch 45/1000\n",
      "157/157 [==============================] - 0s 149us/step - loss: 0.6245 - acc: 0.5987 - val_loss: 0.6228 - val_acc: 0.5588\n",
      "Epoch 46/1000\n",
      "157/157 [==============================] - 0s 113us/step - loss: 0.6234 - acc: 0.6051 - val_loss: 0.6213 - val_acc: 0.5588\n",
      "Epoch 47/1000\n",
      "157/157 [==============================] - 0s 537us/step - loss: 0.6218 - acc: 0.6178 - val_loss: 0.6197 - val_acc: 0.5588\n",
      "Epoch 48/1000\n",
      "157/157 [==============================] - 0s 117us/step - loss: 0.6205 - acc: 0.6178 - val_loss: 0.6181 - val_acc: 0.5588\n",
      "Epoch 49/1000\n",
      "157/157 [==============================] - 0s 146us/step - loss: 0.6191 - acc: 0.6178 - val_loss: 0.6164 - val_acc: 0.5735\n",
      "Epoch 50/1000\n",
      "157/157 [==============================] - 0s 200us/step - loss: 0.6176 - acc: 0.6178 - val_loss: 0.6146 - val_acc: 0.5882\n",
      "Epoch 51/1000\n",
      "157/157 [==============================] - 0s 286us/step - loss: 0.6165 - acc: 0.6178 - val_loss: 0.6130 - val_acc: 0.5882\n",
      "Epoch 52/1000\n",
      "157/157 [==============================] - 0s 254us/step - loss: 0.6152 - acc: 0.6242 - val_loss: 0.6116 - val_acc: 0.6029\n",
      "Epoch 53/1000\n",
      "157/157 [==============================] - 0s 156us/step - loss: 0.6136 - acc: 0.6242 - val_loss: 0.6100 - val_acc: 0.6029\n",
      "Epoch 54/1000\n",
      "157/157 [==============================] - 0s 202us/step - loss: 0.6127 - acc: 0.6242 - val_loss: 0.6085 - val_acc: 0.6029\n",
      "Epoch 55/1000\n",
      "157/157 [==============================] - 0s 108us/step - loss: 0.6114 - acc: 0.6242 - val_loss: 0.6070 - val_acc: 0.6029\n",
      "Epoch 56/1000\n",
      "157/157 [==============================] - 0s 157us/step - loss: 0.6098 - acc: 0.6242 - val_loss: 0.6053 - val_acc: 0.6029\n",
      "Epoch 57/1000\n",
      "157/157 [==============================] - 0s 118us/step - loss: 0.6085 - acc: 0.6242 - val_loss: 0.6036 - val_acc: 0.6029\n",
      "Epoch 58/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.6070 - acc: 0.6242 - val_loss: 0.6018 - val_acc: 0.6029\n",
      "Epoch 59/1000\n",
      "157/157 [==============================] - 0s 165us/step - loss: 0.6057 - acc: 0.6242 - val_loss: 0.6001 - val_acc: 0.6029\n",
chadhat's avatar
chadhat committed
      "Epoch 60/1000\n",
      "157/157 [==============================] - 0s 263us/step - loss: 0.6039 - acc: 0.6242 - val_loss: 0.5982 - val_acc: 0.6176\n",
      "Epoch 61/1000\n",
      "157/157 [==============================] - 0s 244us/step - loss: 0.6023 - acc: 0.6242 - val_loss: 0.5963 - val_acc: 0.6176\n",
      "Epoch 62/1000\n",
      "157/157 [==============================] - 0s 409us/step - loss: 0.6006 - acc: 0.6306 - val_loss: 0.5943 - val_acc: 0.6176\n",
      "Epoch 63/1000\n",
      "157/157 [==============================] - 0s 104us/step - loss: 0.5991 - acc: 0.6306 - val_loss: 0.5922 - val_acc: 0.6324\n",
      "Epoch 64/1000\n",
      "157/157 [==============================] - 0s 193us/step - loss: 0.5981 - acc: 0.6369 - val_loss: 0.5906 - val_acc: 0.6324\n",
      "Epoch 65/1000\n",
      "157/157 [==============================] - 0s 104us/step - loss: 0.5958 - acc: 0.6433 - val_loss: 0.5889 - val_acc: 0.6471\n",
      "Epoch 66/1000\n",
      "157/157 [==============================] - 0s 172us/step - loss: 0.5945 - acc: 0.6433 - val_loss: 0.5871 - val_acc: 0.6471\n",
      "Epoch 67/1000\n",
      "157/157 [==============================] - 0s 378us/step - loss: 0.5929 - acc: 0.6433 - val_loss: 0.5852 - val_acc: 0.6471\n",
      "Epoch 68/1000\n",
      "157/157 [==============================] - 0s 193us/step - loss: 0.5917 - acc: 0.6497 - val_loss: 0.5836 - val_acc: 0.6471\n",
      "Epoch 69/1000\n",
      "157/157 [==============================] - 0s 155us/step - loss: 0.5901 - acc: 0.6497 - val_loss: 0.5816 - val_acc: 0.6471\n",
      "Epoch 70/1000\n",
      "157/157 [==============================] - 0s 180us/step - loss: 0.5885 - acc: 0.6497 - val_loss: 0.5797 - val_acc: 0.6765\n",
      "Epoch 71/1000\n",
      "157/157 [==============================] - 0s 208us/step - loss: 0.5867 - acc: 0.6561 - val_loss: 0.5778 - val_acc: 0.6765\n",
      "Epoch 72/1000\n",
      "157/157 [==============================] - 0s 200us/step - loss: 0.5850 - acc: 0.6561 - val_loss: 0.5755 - val_acc: 0.6765\n",
      "Epoch 73/1000\n",
      "157/157 [==============================] - 0s 279us/step - loss: 0.5831 - acc: 0.6624 - val_loss: 0.5733 - val_acc: 0.6765\n",
      "Epoch 74/1000\n",
      "157/157 [==============================] - 0s 263us/step - loss: 0.5812 - acc: 0.6688 - val_loss: 0.5712 - val_acc: 0.6912\n",
      "Epoch 75/1000\n",
      "157/157 [==============================] - 0s 263us/step - loss: 0.5791 - acc: 0.6752 - val_loss: 0.5688 - val_acc: 0.7059\n",
      "Epoch 76/1000\n",
      "157/157 [==============================] - 0s 223us/step - loss: 0.5771 - acc: 0.6752 - val_loss: 0.5665 - val_acc: 0.7059\n",
      "Epoch 77/1000\n",
      "157/157 [==============================] - 0s 252us/step - loss: 0.5750 - acc: 0.6879 - val_loss: 0.5643 - val_acc: 0.7059\n",
      "Epoch 78/1000\n",
      "157/157 [==============================] - 0s 217us/step - loss: 0.5728 - acc: 0.6879 - val_loss: 0.5619 - val_acc: 0.7059\n",
      "Epoch 79/1000\n",
      "157/157 [==============================] - 0s 123us/step - loss: 0.5708 - acc: 0.6943 - val_loss: 0.5596 - val_acc: 0.7059\n",
      "Epoch 80/1000\n",
      "157/157 [==============================] - 0s 149us/step - loss: 0.5687 - acc: 0.7006 - val_loss: 0.5570 - val_acc: 0.7206\n",
      "Epoch 81/1000\n",
      "157/157 [==============================] - 0s 181us/step - loss: 0.5666 - acc: 0.7070 - val_loss: 0.5545 - val_acc: 0.7206\n",
      "Epoch 82/1000\n",
      "157/157 [==============================] - 0s 109us/step - loss: 0.5643 - acc: 0.7006 - val_loss: 0.5519 - val_acc: 0.7206\n",
      "Epoch 83/1000\n",
      "157/157 [==============================] - 0s 258us/step - loss: 0.5623 - acc: 0.7134 - val_loss: 0.5495 - val_acc: 0.7206\n",
      "Epoch 84/1000\n",
      "157/157 [==============================] - 0s 123us/step - loss: 0.5600 - acc: 0.7197 - val_loss: 0.5469 - val_acc: 0.7206\n",
      "Epoch 85/1000\n",
      "157/157 [==============================] - 0s 120us/step - loss: 0.5577 - acc: 0.7197 - val_loss: 0.5443 - val_acc: 0.7206\n",
      "Epoch 86/1000\n",
      "157/157 [==============================] - 0s 166us/step - loss: 0.5550 - acc: 0.7197 - val_loss: 0.5411 - val_acc: 0.7353\n",
      "Epoch 87/1000\n",
      "157/157 [==============================] - 0s 134us/step - loss: 0.5529 - acc: 0.7325 - val_loss: 0.5383 - val_acc: 0.7353\n",
      "Epoch 88/1000\n",
      "157/157 [==============================] - 0s 185us/step - loss: 0.5498 - acc: 0.7325 - val_loss: 0.5347 - val_acc: 0.7353\n",
      "Epoch 89/1000\n",
      "157/157 [==============================] - 0s 194us/step - loss: 0.5471 - acc: 0.7516 - val_loss: 0.5314 - val_acc: 0.7647\n",
      "Epoch 90/1000\n",
      "157/157 [==============================] - 0s 163us/step - loss: 0.5451 - acc: 0.7452 - val_loss: 0.5283 - val_acc: 0.7941\n",
      "Epoch 91/1000\n",
      "157/157 [==============================] - 0s 292us/step - loss: 0.5430 - acc: 0.7580 - val_loss: 0.5258 - val_acc: 0.8088\n",
      "Epoch 92/1000\n",
      "157/157 [==============================] - 0s 137us/step - loss: 0.5399 - acc: 0.7580 - val_loss: 0.5234 - val_acc: 0.8088\n",
      "Epoch 93/1000\n",
      "157/157 [==============================] - 0s 193us/step - loss: 0.5383 - acc: 0.7643 - val_loss: 0.5210 - val_acc: 0.8088\n",
      "Epoch 94/1000\n",
      "157/157 [==============================] - 0s 231us/step - loss: 0.5356 - acc: 0.7643 - val_loss: 0.5184 - val_acc: 0.8088\n",
      "Epoch 95/1000\n",
      "157/157 [==============================] - 0s 96us/step - loss: 0.5334 - acc: 0.7643 - val_loss: 0.5158 - val_acc: 0.8235\n",
      "Epoch 96/1000\n",
      "157/157 [==============================] - 0s 196us/step - loss: 0.5309 - acc: 0.7707 - val_loss: 0.5128 - val_acc: 0.8235\n",
      "Epoch 97/1000\n",
      "157/157 [==============================] - 0s 214us/step - loss: 0.5291 - acc: 0.7898 - val_loss: 0.5100 - val_acc: 0.8235\n",
      "Epoch 98/1000\n",
      "157/157 [==============================] - 0s 179us/step - loss: 0.5263 - acc: 0.7898 - val_loss: 0.5074 - val_acc: 0.8235\n",
      "Epoch 99/1000\n",
      "157/157 [==============================] - 0s 182us/step - loss: 0.5243 - acc: 0.7962 - val_loss: 0.5044 - val_acc: 0.8088\n",
      "Epoch 100/1000\n",
      "157/157 [==============================] - 0s 144us/step - loss: 0.5234 - acc: 0.7834 - val_loss: 0.5024 - val_acc: 0.8088\n",
      "Epoch 101/1000\n",
      "157/157 [==============================] - 0s 154us/step - loss: 0.5198 - acc: 0.8025 - val_loss: 0.5002 - val_acc: 0.8088\n",
      "Epoch 102/1000\n",
      "157/157 [==============================] - 0s 320us/step - loss: 0.5184 - acc: 0.7962 - val_loss: 0.4978 - val_acc: 0.8088\n",
      "Epoch 103/1000\n",
      "157/157 [==============================] - 0s 142us/step - loss: 0.5162 - acc: 0.8025 - val_loss: 0.4956 - val_acc: 0.8088\n",
      "Epoch 104/1000\n",
      "157/157 [==============================] - 0s 131us/step - loss: 0.5136 - acc: 0.8025 - val_loss: 0.4932 - val_acc: 0.8088\n",
      "Epoch 105/1000\n",
      "157/157 [==============================] - 0s 142us/step - loss: 0.5115 - acc: 0.7962 - val_loss: 0.4903 - val_acc: 0.8235\n",
      "Epoch 106/1000\n",
      "157/157 [==============================] - 0s 144us/step - loss: 0.5091 - acc: 0.8025 - val_loss: 0.4877 - val_acc: 0.8382\n",
      "Epoch 107/1000\n",
      "157/157 [==============================] - 0s 351us/step - loss: 0.5065 - acc: 0.8089 - val_loss: 0.4851 - val_acc: 0.8382\n",
      "Epoch 108/1000\n",
      "157/157 [==============================] - 0s 370us/step - loss: 0.5041 - acc: 0.8025 - val_loss: 0.4822 - val_acc: 0.8529\n",
      "Epoch 109/1000\n",
      "157/157 [==============================] - 0s 345us/step - loss: 0.5016 - acc: 0.8089 - val_loss: 0.4795 - val_acc: 0.8529\n",
      "Epoch 110/1000\n",
      "157/157 [==============================] - 0s 121us/step - loss: 0.4996 - acc: 0.8025 - val_loss: 0.4765 - val_acc: 0.8529\n",
      "Epoch 111/1000\n",
      "157/157 [==============================] - 0s 135us/step - loss: 0.4972 - acc: 0.8089 - val_loss: 0.4739 - val_acc: 0.8529\n",
      "Epoch 112/1000\n",
      "157/157 [==============================] - 0s 266us/step - loss: 0.4944 - acc: 0.8280 - val_loss: 0.4716 - val_acc: 0.8529\n",
      "Epoch 113/1000\n",
      "157/157 [==============================] - 0s 218us/step - loss: 0.4918 - acc: 0.8153 - val_loss: 0.4686 - val_acc: 0.8529\n",
      "Epoch 114/1000\n",
      "157/157 [==============================] - 0s 174us/step - loss: 0.4894 - acc: 0.8471 - val_loss: 0.4656 - val_acc: 0.8529\n",
      "Epoch 115/1000\n",
      "157/157 [==============================] - 0s 157us/step - loss: 0.4869 - acc: 0.8408 - val_loss: 0.4624 - val_acc: 0.8676\n",
      "Epoch 116/1000\n",
      "157/157 [==============================] - 0s 276us/step - loss: 0.4846 - acc: 0.8089 - val_loss: 0.4592 - val_acc: 0.8676\n",
      "Epoch 117/1000\n",
      "157/157 [==============================] - 0s 146us/step - loss: 0.4818 - acc: 0.8408 - val_loss: 0.4565 - val_acc: 0.8676\n",
      "Epoch 118/1000\n",
      "157/157 [==============================] - 0s 246us/step - loss: 0.4792 - acc: 0.8535 - val_loss: 0.4539 - val_acc: 0.8676\n",
      "Epoch 119/1000\n",
      "157/157 [==============================] - 0s 116us/step - loss: 0.4768 - acc: 0.8408 - val_loss: 0.4506 - val_acc: 0.8676\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 120/1000\n",
      "157/157 [==============================] - 0s 229us/step - loss: 0.4756 - acc: 0.8471 - val_loss: 0.4482 - val_acc: 0.8676\n",
      "Epoch 121/1000\n",
      "157/157 [==============================] - 0s 204us/step - loss: 0.4726 - acc: 0.8599 - val_loss: 0.4463 - val_acc: 0.8676\n",
      "Epoch 122/1000\n",
      "157/157 [==============================] - 0s 162us/step - loss: 0.4708 - acc: 0.8471 - val_loss: 0.4438 - val_acc: 0.8676\n",
      "Epoch 123/1000\n",
      "157/157 [==============================] - 0s 245us/step - loss: 0.4682 - acc: 0.8599 - val_loss: 0.4415 - val_acc: 0.8676\n",
      "Epoch 124/1000\n",
      "157/157 [==============================] - 0s 200us/step - loss: 0.4658 - acc: 0.8535 - val_loss: 0.4390 - val_acc: 0.8676\n",
      "Epoch 125/1000\n",
      "157/157 [==============================] - 0s 178us/step - loss: 0.4635 - acc: 0.8599 - val_loss: 0.4361 - val_acc: 0.8824\n",
      "Epoch 126/1000\n",
      "157/157 [==============================] - 0s 156us/step - loss: 0.4614 - acc: 0.8535 - val_loss: 0.4332 - val_acc: 0.8824\n",
      "Epoch 127/1000\n",
      "157/157 [==============================] - 0s 327us/step - loss: 0.4584 - acc: 0.8726 - val_loss: 0.4307 - val_acc: 0.8824\n",
      "Epoch 128/1000\n",
      "157/157 [==============================] - 0s 181us/step - loss: 0.4571 - acc: 0.8535 - val_loss: 0.4279 - val_acc: 0.8824\n",
      "Epoch 129/1000\n",
      "157/157 [==============================] - 0s 268us/step - loss: 0.4550 - acc: 0.8726 - val_loss: 0.4258 - val_acc: 0.8824\n",
      "Epoch 130/1000\n",
      "157/157 [==============================] - 0s 176us/step - loss: 0.4517 - acc: 0.8599 - val_loss: 0.4230 - val_acc: 0.8824\n",
      "Epoch 131/1000\n",
      "157/157 [==============================] - 0s 281us/step - loss: 0.4497 - acc: 0.8726 - val_loss: 0.4204 - val_acc: 0.8824\n",
      "Epoch 132/1000\n",
      "157/157 [==============================] - 0s 149us/step - loss: 0.4476 - acc: 0.8662 - val_loss: 0.4178 - val_acc: 0.8824\n",
      "Epoch 133/1000\n",
      "157/157 [==============================] - 0s 177us/step - loss: 0.4456 - acc: 0.8726 - val_loss: 0.4153 - val_acc: 0.8824\n",
      "Epoch 134/1000\n",
      "157/157 [==============================] - 0s 137us/step - loss: 0.4433 - acc: 0.8790 - val_loss: 0.4131 - val_acc: 0.8824\n",
      "Epoch 135/1000\n",
      "157/157 [==============================] - 0s 121us/step - loss: 0.4409 - acc: 0.8854 - val_loss: 0.4108 - val_acc: 0.8824\n",
      "Epoch 136/1000\n",
      "157/157 [==============================] - 0s 167us/step - loss: 0.4381 - acc: 0.8726 - val_loss: 0.4082 - val_acc: 0.8824\n",
      "Epoch 137/1000\n",
      "157/157 [==============================] - 0s 272us/step - loss: 0.4357 - acc: 0.8854 - val_loss: 0.4053 - val_acc: 0.8824\n",
      "Epoch 138/1000\n",
      "157/157 [==============================] - 0s 286us/step - loss: 0.4338 - acc: 0.8726 - val_loss: 0.4025 - val_acc: 0.8824\n",
      "Epoch 139/1000\n",
      "157/157 [==============================] - 0s 164us/step - loss: 0.4308 - acc: 0.8726 - val_loss: 0.3994 - val_acc: 0.8824\n",
      "Epoch 140/1000\n",
      "157/157 [==============================] - 0s 160us/step - loss: 0.4286 - acc: 0.8790 - val_loss: 0.3968 - val_acc: 0.8824\n",
      "Epoch 141/1000\n",
      "157/157 [==============================] - 0s 196us/step - loss: 0.4266 - acc: 0.8726 - val_loss: 0.3944 - val_acc: 0.8824\n",
      "Epoch 142/1000\n",
      "157/157 [==============================] - 0s 285us/step - loss: 0.4241 - acc: 0.8790 - val_loss: 0.3924 - val_acc: 0.8824\n",
      "Epoch 143/1000\n",
      "157/157 [==============================] - 0s 136us/step - loss: 0.4224 - acc: 0.8726 - val_loss: 0.3902 - val_acc: 0.8824\n",
      "Epoch 144/1000\n",
      "157/157 [==============================] - 0s 243us/step - loss: 0.4204 - acc: 0.8726 - val_loss: 0.3882 - val_acc: 0.8824\n",
      "Epoch 145/1000\n",
      "157/157 [==============================] - 0s 155us/step - loss: 0.4177 - acc: 0.8726 - val_loss: 0.3860 - val_acc: 0.8824\n",
      "Epoch 146/1000\n",
      "157/157 [==============================] - 0s 210us/step - loss: 0.4167 - acc: 0.8854 - val_loss: 0.3840 - val_acc: 0.8824\n",
      "Epoch 147/1000\n",
      "157/157 [==============================] - 0s 155us/step - loss: 0.4133 - acc: 0.8726 - val_loss: 0.3815 - val_acc: 0.8824\n",
      "Epoch 148/1000\n",
      "157/157 [==============================] - 0s 150us/step - loss: 0.4112 - acc: 0.8790 - val_loss: 0.3791 - val_acc: 0.8824\n",
      "Epoch 149/1000\n",
      "157/157 [==============================] - 0s 274us/step - loss: 0.4098 - acc: 0.8854 - val_loss: 0.3771 - val_acc: 0.8824\n",
      "Epoch 150/1000\n",
      "157/157 [==============================] - 0s 162us/step - loss: 0.4075 - acc: 0.8726 - val_loss: 0.3743 - val_acc: 0.8824\n",
      "Epoch 151/1000\n",
      "157/157 [==============================] - 0s 141us/step - loss: 0.4047 - acc: 0.8854 - val_loss: 0.3721 - val_acc: 0.8824\n",
      "Epoch 152/1000\n",
      "157/157 [==============================] - 0s 282us/step - loss: 0.4033 - acc: 0.8726 - val_loss: 0.3694 - val_acc: 0.8824\n",
      "Epoch 153/1000\n",
      "157/157 [==============================] - 0s 167us/step - loss: 0.4013 - acc: 0.9108 - val_loss: 0.3680 - val_acc: 0.8824\n",
      "Epoch 154/1000\n",
      "157/157 [==============================] - 0s 313us/step - loss: 0.3985 - acc: 0.8854 - val_loss: 0.3655 - val_acc: 0.8824\n",
      "Epoch 155/1000\n",
      "157/157 [==============================] - 0s 150us/step - loss: 0.3970 - acc: 0.8981 - val_loss: 0.3635 - val_acc: 0.8824\n",
      "Epoch 156/1000\n",
      "157/157 [==============================] - 0s 156us/step - loss: 0.3944 - acc: 0.8981 - val_loss: 0.3613 - val_acc: 0.8824\n",
      "Epoch 157/1000\n",
      "157/157 [==============================] - 0s 124us/step - loss: 0.3928 - acc: 0.8981 - val_loss: 0.3594 - val_acc: 0.8824\n",
      "Epoch 158/1000\n",
      "157/157 [==============================] - 0s 163us/step - loss: 0.3903 - acc: 0.8917 - val_loss: 0.3567 - val_acc: 0.8824\n",
      "Epoch 159/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.3881 - acc: 0.8981 - val_loss: 0.3543 - val_acc: 0.8824\n",
      "Epoch 160/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.3871 - acc: 0.8917 - val_loss: 0.3523 - val_acc: 0.8824\n",
      "Epoch 161/1000\n",
      "157/157 [==============================] - 0s 123us/step - loss: 0.3840 - acc: 0.9108 - val_loss: 0.3503 - val_acc: 0.8824\n",
      "Epoch 162/1000\n",
      "157/157 [==============================] - 0s 133us/step - loss: 0.3833 - acc: 0.8854 - val_loss: 0.3481 - val_acc: 0.8971\n",
      "Epoch 163/1000\n",
      "157/157 [==============================] - 0s 222us/step - loss: 0.3810 - acc: 0.8917 - val_loss: 0.3463 - val_acc: 0.8971\n",
      "Epoch 164/1000\n",
      "157/157 [==============================] - 0s 210us/step - loss: 0.3785 - acc: 0.9236 - val_loss: 0.3449 - val_acc: 0.8824\n",
      "Epoch 165/1000\n",
      "157/157 [==============================] - 0s 278us/step - loss: 0.3774 - acc: 0.9045 - val_loss: 0.3431 - val_acc: 0.8971\n",
      "Epoch 166/1000\n",
      "157/157 [==============================] - 0s 163us/step - loss: 0.3751 - acc: 0.8917 - val_loss: 0.3406 - val_acc: 0.8971\n",
      "Epoch 167/1000\n",
      "157/157 [==============================] - 0s 183us/step - loss: 0.3735 - acc: 0.8981 - val_loss: 0.3388 - val_acc: 0.8971\n",
      "Epoch 168/1000\n",
      "157/157 [==============================] - 0s 144us/step - loss: 0.3711 - acc: 0.9172 - val_loss: 0.3368 - val_acc: 0.8971\n",
      "Epoch 169/1000\n",
      "157/157 [==============================] - 0s 304us/step - loss: 0.3701 - acc: 0.9108 - val_loss: 0.3346 - val_acc: 0.8971\n",
      "Epoch 170/1000\n",
      "157/157 [==============================] - 0s 162us/step - loss: 0.3674 - acc: 0.9236 - val_loss: 0.3330 - val_acc: 0.8971\n",
      "Epoch 171/1000\n",
      "157/157 [==============================] - 0s 287us/step - loss: 0.3666 - acc: 0.9172 - val_loss: 0.3312 - val_acc: 0.8971\n",
      "Epoch 172/1000\n",
      "157/157 [==============================] - 0s 189us/step - loss: 0.3638 - acc: 0.9108 - val_loss: 0.3291 - val_acc: 0.8971\n",
      "Epoch 173/1000\n",
      "157/157 [==============================] - 0s 154us/step - loss: 0.3617 - acc: 0.9236 - val_loss: 0.3275 - val_acc: 0.8971\n",
      "Epoch 174/1000\n",
      "157/157 [==============================] - 0s 136us/step - loss: 0.3595 - acc: 0.9236 - val_loss: 0.3257 - val_acc: 0.8971\n",
      "Epoch 175/1000\n",
      "157/157 [==============================] - 0s 154us/step - loss: 0.3579 - acc: 0.9236 - val_loss: 0.3240 - val_acc: 0.8971\n",
      "Epoch 176/1000\n",
      "157/157 [==============================] - 0s 129us/step - loss: 0.3565 - acc: 0.9172 - val_loss: 0.3219 - val_acc: 0.8971\n",
      "Epoch 177/1000\n",
      "157/157 [==============================] - 0s 191us/step - loss: 0.3540 - acc: 0.9236 - val_loss: 0.3205 - val_acc: 0.8971\n",
      "Epoch 178/1000\n",
      "157/157 [==============================] - 0s 374us/step - loss: 0.3529 - acc: 0.9108 - val_loss: 0.3181 - val_acc: 0.8971\n",
chadhat's avatar
chadhat committed
      "Epoch 179/1000\n",
      "157/157 [==============================] - 0s 307us/step - loss: 0.3500 - acc: 0.9236 - val_loss: 0.3156 - val_acc: 0.8971\n",
      "Epoch 180/1000\n",
      "157/157 [==============================] - 0s 319us/step - loss: 0.3485 - acc: 0.9236 - val_loss: 0.3136 - val_acc: 0.8971\n",
      "Epoch 181/1000\n",
      "157/157 [==============================] - 0s 166us/step - loss: 0.3467 - acc: 0.9236 - val_loss: 0.3116 - val_acc: 0.8971\n",
      "Epoch 182/1000\n",
      "157/157 [==============================] - 0s 186us/step - loss: 0.3450 - acc: 0.9236 - val_loss: 0.3103 - val_acc: 0.8971\n",
      "Epoch 183/1000\n",
      "157/157 [==============================] - 0s 282us/step - loss: 0.3439 - acc: 0.9172 - val_loss: 0.3084 - val_acc: 0.8971\n",
      "Epoch 184/1000\n",
      "157/157 [==============================] - 0s 287us/step - loss: 0.3413 - acc: 0.9172 - val_loss: 0.3064 - val_acc: 0.8971\n",
      "Epoch 185/1000\n",
      "157/157 [==============================] - 0s 153us/step - loss: 0.3405 - acc: 0.9108 - val_loss: 0.3047 - val_acc: 0.9118\n",
      "Epoch 186/1000\n",
      "157/157 [==============================] - 0s 238us/step - loss: 0.3376 - acc: 0.9236 - val_loss: 0.3028 - val_acc: 0.9118\n",
      "Epoch 187/1000\n",
      "157/157 [==============================] - 0s 291us/step - loss: 0.3358 - acc: 0.9299 - val_loss: 0.3014 - val_acc: 0.9118\n",
      "Epoch 188/1000\n",
      "157/157 [==============================] - 0s 191us/step - loss: 0.3347 - acc: 0.9236 - val_loss: 0.2989 - val_acc: 0.9118\n",
      "Epoch 189/1000\n",
      "157/157 [==============================] - 0s 231us/step - loss: 0.3334 - acc: 0.9299 - val_loss: 0.2972 - val_acc: 0.9118\n",
      "Epoch 190/1000\n",
      "157/157 [==============================] - 0s 208us/step - loss: 0.3302 - acc: 0.9299 - val_loss: 0.2961 - val_acc: 0.8971\n",
      "Epoch 191/1000\n",
      "157/157 [==============================] - 0s 213us/step - loss: 0.3284 - acc: 0.9299 - val_loss: 0.2943 - val_acc: 0.8971\n",
      "Epoch 192/1000\n",
      "157/157 [==============================] - 0s 184us/step - loss: 0.3265 - acc: 0.9299 - val_loss: 0.2917 - val_acc: 0.9118\n",
      "Epoch 193/1000\n",
      "157/157 [==============================] - 0s 369us/step - loss: 0.3259 - acc: 0.9299 - val_loss: 0.2908 - val_acc: 0.8971\n",
      "Epoch 194/1000\n",
      "157/157 [==============================] - 0s 218us/step - loss: 0.3226 - acc: 0.9299 - val_loss: 0.2889 - val_acc: 0.8971\n",
      "Epoch 195/1000\n",
      "157/157 [==============================] - 0s 203us/step - loss: 0.3237 - acc: 0.9236 - val_loss: 0.2873 - val_acc: 0.8971\n",
      "Epoch 196/1000\n",
      "157/157 [==============================] - 0s 207us/step - loss: 0.3194 - acc: 0.9236 - val_loss: 0.2857 - val_acc: 0.8971\n",
      "Epoch 197/1000\n",
      "157/157 [==============================] - 0s 291us/step - loss: 0.3173 - acc: 0.9236 - val_loss: 0.2830 - val_acc: 0.9118\n",
      "Epoch 198/1000\n",
      "157/157 [==============================] - 0s 235us/step - loss: 0.3165 - acc: 0.9299 - val_loss: 0.2819 - val_acc: 0.9118\n",
      "Epoch 199/1000\n",
      "157/157 [==============================] - 0s 160us/step - loss: 0.3166 - acc: 0.9236 - val_loss: 0.2805 - val_acc: 0.8971\n",
      "Epoch 200/1000\n",
      "157/157 [==============================] - 0s 308us/step - loss: 0.3128 - acc: 0.9236 - val_loss: 0.2790 - val_acc: 0.9118\n",
      "Epoch 201/1000\n",
      "157/157 [==============================] - 0s 149us/step - loss: 0.3109 - acc: 0.9299 - val_loss: 0.2772 - val_acc: 0.9118\n",
      "Epoch 202/1000\n",
      "157/157 [==============================] - 0s 189us/step - loss: 0.3092 - acc: 0.9236 - val_loss: 0.2755 - val_acc: 0.9118\n",
      "Epoch 203/1000\n",
      "157/157 [==============================] - 0s 230us/step - loss: 0.3076 - acc: 0.9236 - val_loss: 0.2736 - val_acc: 0.9118\n",
      "Epoch 204/1000\n",
      "157/157 [==============================] - 0s 123us/step - loss: 0.3056 - acc: 0.9236 - val_loss: 0.2724 - val_acc: 0.9118\n",
      "Epoch 205/1000\n",
      "157/157 [==============================] - 0s 118us/step - loss: 0.3046 - acc: 0.9236 - val_loss: 0.2703 - val_acc: 0.9118\n",
      "Epoch 206/1000\n",
      "157/157 [==============================] - 0s 319us/step - loss: 0.3018 - acc: 0.9299 - val_loss: 0.2682 - val_acc: 0.9118\n",
      "Epoch 207/1000\n",
      "157/157 [==============================] - 0s 156us/step - loss: 0.2998 - acc: 0.9427 - val_loss: 0.2670 - val_acc: 0.9118\n",
      "Epoch 208/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.2988 - acc: 0.9299 - val_loss: 0.2651 - val_acc: 0.9118\n",
      "Epoch 209/1000\n",
      "157/157 [==============================] - 0s 188us/step - loss: 0.2970 - acc: 0.9299 - val_loss: 0.2626 - val_acc: 0.9118\n",
      "Epoch 210/1000\n",
      "157/157 [==============================] - 0s 141us/step - loss: 0.2945 - acc: 0.9427 - val_loss: 0.2626 - val_acc: 0.8971\n",
      "Epoch 211/1000\n",
      "157/157 [==============================] - 0s 152us/step - loss: 0.2932 - acc: 0.9299 - val_loss: 0.2599 - val_acc: 0.9118\n",
      "Epoch 212/1000\n",
      "157/157 [==============================] - 0s 317us/step - loss: 0.2919 - acc: 0.9427 - val_loss: 0.2590 - val_acc: 0.8971\n",
      "Epoch 213/1000\n",
      "157/157 [==============================] - 0s 241us/step - loss: 0.2898 - acc: 0.9236 - val_loss: 0.2560 - val_acc: 0.9118\n",
      "Epoch 214/1000\n",
      "157/157 [==============================] - 0s 396us/step - loss: 0.2892 - acc: 0.9427 - val_loss: 0.2547 - val_acc: 0.9118\n",
      "Epoch 215/1000\n",
      "157/157 [==============================] - 0s 317us/step - loss: 0.2863 - acc: 0.9427 - val_loss: 0.2529 - val_acc: 0.9118\n",
      "Epoch 216/1000\n",
      "157/157 [==============================] - 0s 254us/step - loss: 0.2870 - acc: 0.9363 - val_loss: 0.2518 - val_acc: 0.9118\n",
      "Epoch 217/1000\n",
      "157/157 [==============================] - 0s 255us/step - loss: 0.2839 - acc: 0.9363 - val_loss: 0.2511 - val_acc: 0.9118\n",
      "Epoch 218/1000\n",
      "157/157 [==============================] - 0s 144us/step - loss: 0.2816 - acc: 0.9363 - val_loss: 0.2490 - val_acc: 0.9118\n",
      "Epoch 219/1000\n",
      "157/157 [==============================] - 0s 228us/step - loss: 0.2807 - acc: 0.9427 - val_loss: 0.2484 - val_acc: 0.9118\n",
      "Epoch 220/1000\n",
      "157/157 [==============================] - 0s 140us/step - loss: 0.2789 - acc: 0.9427 - val_loss: 0.2471 - val_acc: 0.9118\n",
      "Epoch 221/1000\n",
      "157/157 [==============================] - 0s 267us/step - loss: 0.2770 - acc: 0.9363 - val_loss: 0.2438 - val_acc: 0.9118\n",
      "Epoch 222/1000\n",
      "157/157 [==============================] - 0s 251us/step - loss: 0.2760 - acc: 0.9427 - val_loss: 0.2423 - val_acc: 0.9118\n",
      "Epoch 223/1000\n",
      "157/157 [==============================] - 0s 298us/step - loss: 0.2745 - acc: 0.9299 - val_loss: 0.2407 - val_acc: 0.9118\n",
      "Epoch 224/1000\n",
      "157/157 [==============================] - 0s 218us/step - loss: 0.2726 - acc: 0.9490 - val_loss: 0.2411 - val_acc: 0.9118\n",
      "Epoch 225/1000\n",
      "157/157 [==============================] - 0s 293us/step - loss: 0.2707 - acc: 0.9363 - val_loss: 0.2380 - val_acc: 0.9118\n",
      "Epoch 226/1000\n",
      "157/157 [==============================] - 0s 157us/step - loss: 0.2703 - acc: 0.9427 - val_loss: 0.2386 - val_acc: 0.9118\n",
      "Epoch 227/1000\n",
      "157/157 [==============================] - 0s 213us/step - loss: 0.2681 - acc: 0.9490 - val_loss: 0.2374 - val_acc: 0.9118\n",
      "Epoch 228/1000\n",
      "157/157 [==============================] - 0s 149us/step - loss: 0.2680 - acc: 0.9363 - val_loss: 0.2365 - val_acc: 0.9118\n",
      "Epoch 229/1000\n",
      "157/157 [==============================] - 0s 156us/step - loss: 0.2668 - acc: 0.9236 - val_loss: 0.2342 - val_acc: 0.9118\n",
      "Epoch 230/1000\n",
      "157/157 [==============================] - 0s 213us/step - loss: 0.2652 - acc: 0.9363 - val_loss: 0.2324 - val_acc: 0.9118\n",
      "Epoch 231/1000\n",
      "157/157 [==============================] - 0s 170us/step - loss: 0.2634 - acc: 0.9490 - val_loss: 0.2320 - val_acc: 0.9118\n",
      "Epoch 232/1000\n",
      "157/157 [==============================] - 0s 258us/step - loss: 0.2624 - acc: 0.9427 - val_loss: 0.2310 - val_acc: 0.9118\n",
      "Epoch 233/1000\n",
      "157/157 [==============================] - 0s 245us/step - loss: 0.2627 - acc: 0.9427 - val_loss: 0.2299 - val_acc: 0.9118\n",
      "Epoch 234/1000\n",
      "157/157 [==============================] - 0s 396us/step - loss: 0.2597 - acc: 0.9490 - val_loss: 0.2293 - val_acc: 0.9118\n",
      "Epoch 235/1000\n",
      "157/157 [==============================] - 0s 192us/step - loss: 0.2584 - acc: 0.9490 - val_loss: 0.2292 - val_acc: 0.9118\n",
      "Epoch 236/1000\n",
      "157/157 [==============================] - 0s 294us/step - loss: 0.2579 - acc: 0.9427 - val_loss: 0.2271 - val_acc: 0.9118\n",
      "Epoch 237/1000\n",
      "157/157 [==============================] - 0s 200us/step - loss: 0.2564 - acc: 0.9427 - val_loss: 0.2262 - val_acc: 0.9118\n",
      "Epoch 238/1000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "157/157 [==============================] - 0s 251us/step - loss: 0.2542 - acc: 0.9490 - val_loss: 0.2261 - val_acc: 0.9118\n",
      "Epoch 239/1000\n",
      "157/157 [==============================] - 0s 183us/step - loss: 0.2552 - acc: 0.9363 - val_loss: 0.2241 - val_acc: 0.9118\n",
      "Epoch 240/1000\n",
      "157/157 [==============================] - 0s 281us/step - loss: 0.2531 - acc: 0.9490 - val_loss: 0.2243 - val_acc: 0.9118\n",
      "Epoch 241/1000\n",
      "157/157 [==============================] - 0s 158us/step - loss: 0.2508 - acc: 0.9490 - val_loss: 0.2222 - val_acc: 0.9118\n",
      "Epoch 242/1000\n",
      "157/157 [==============================] - 0s 171us/step - loss: 0.2530 - acc: 0.9427 - val_loss: 0.2201 - val_acc: 0.9118\n",
      "Epoch 243/1000\n",
      "157/157 [==============================] - 0s 185us/step - loss: 0.2502 - acc: 0.9554 - val_loss: 0.2198 - val_acc: 0.9118\n",
      "Epoch 244/1000\n",
      "157/157 [==============================] - 0s 125us/step - loss: 0.2478 - acc: 0.9490 - val_loss: 0.2190 - val_acc: 0.9118\n",
      "Epoch 245/1000\n",
      "157/157 [==============================] - 0s 247us/step - loss: 0.2477 - acc: 0.9490 - val_loss: 0.2185 - val_acc: 0.9118\n",
      "Epoch 246/1000\n",
      "157/157 [==============================] - 0s 164us/step - loss: 0.2458 - acc: 0.9490 - val_loss: 0.2167 - val_acc: 0.9118\n",
      "Epoch 247/1000\n",
      "157/157 [==============================] - 0s 188us/step - loss: 0.2445 - acc: 0.9490 - val_loss: 0.2152 - val_acc: 0.9118\n",
      "Epoch 248/1000\n",
      "157/157 [==============================] - 0s 215us/step - loss: 0.2437 - acc: 0.9299 - val_loss: 0.2130 - val_acc: 0.9118\n",
      "Epoch 249/1000\n",
      "157/157 [==============================] - 0s 228us/step - loss: 0.2420 - acc: 0.9554 - val_loss: 0.2124 - val_acc: 0.9118\n",
      "Epoch 250/1000\n",
      "157/157 [==============================] - 0s 305us/step - loss: 0.2404 - acc: 0.9490 - val_loss: 0.2109 - val_acc: 0.9118\n",
      "Epoch 251/1000\n",
      "157/157 [==============================] - 0s 237us/step - loss: 0.2428 - acc: 0.9618 - val_loss: 0.2121 - val_acc: 0.9118\n",
      "Epoch 252/1000\n",
      "157/157 [==============================] - 0s 129us/step - loss: 0.2383 - acc: 0.9490 - val_loss: 0.2106 - val_acc: 0.9118\n",
      "Epoch 253/1000\n",
      "157/157 [==============================] - 0s 235us/step - loss: 0.2370 - acc: 0.9618 - val_loss: 0.2111 - val_acc: 0.9118\n",
      "Epoch 254/1000\n",
      "157/157 [==============================] - 0s 196us/step - loss: 0.2370 - acc: 0.9490 - val_loss: 0.2096 - val_acc: 0.9118\n",
      "Epoch 255/1000\n",
      "157/157 [==============================] - 0s 137us/step - loss: 0.2390 - acc: 0.9172 - val_loss: 0.2082 - val_acc: 0.9118\n",
      "Epoch 256/1000\n",
      "157/157 [==============================] - 0s 151us/step - loss: 0.2338 - acc: 0.9490 - val_loss: 0.2063 - val_acc: 0.9118\n",
      "Epoch 257/1000\n",
      "157/157 [==============================] - 0s 153us/step - loss: 0.2332 - acc: 0.9554 - val_loss: 0.2063 - val_acc: 0.9118\n",
      "Epoch 258/1000\n",
      "157/157 [==============================] - 0s 135us/step - loss: 0.2319 - acc: 0.9490 - val_loss: 0.2060 - val_acc: 0.9118\n",
      "Epoch 259/1000\n",
      "157/157 [==============================] - 0s 214us/step - loss: 0.2329 - acc: 0.9299 - val_loss: 0.2034 - val_acc: 0.9118\n",
      "Epoch 260/1000\n",
      "157/157 [==============================] - 0s 194us/step - loss: 0.2304 - acc: 0.9490 - val_loss: 0.2044 - val_acc: 0.9118\n",
      "Epoch 261/1000\n",
      "157/157 [==============================] - 0s 151us/step - loss: 0.2307 - acc: 0.9554 - val_loss: 0.2025 - val_acc: 0.9118\n",
      "Epoch 262/1000\n",
      "157/157 [==============================] - 0s 205us/step - loss: 0.2277 - acc: 0.9554 - val_loss: 0.2018 - val_acc: 0.9118\n",
      "Epoch 263/1000\n",
      "157/157 [==============================] - 0s 118us/step - loss: 0.2265 - acc: 0.9554 - val_loss: 0.2022 - val_acc: 0.9118\n",
      "Epoch 264/1000\n",
      "157/157 [==============================] - 0s 112us/step - loss: 0.2261 - acc: 0.9490 - val_loss: 0.2007 - val_acc: 0.9118\n",
      "Epoch 265/1000\n",
      "157/157 [==============================] - 0s 183us/step - loss: 0.2256 - acc: 0.9554 - val_loss: 0.1985 - val_acc: 0.9118\n",
      "Epoch 266/1000\n",
      "157/157 [==============================] - 0s 125us/step - loss: 0.2233 - acc: 0.9618 - val_loss: 0.1982 - val_acc: 0.9118\n",
      "Epoch 267/1000\n",
      "157/157 [==============================] - 0s 202us/step - loss: 0.2220 - acc: 0.9554 - val_loss: 0.1957 - val_acc: 0.9118\n",
      "Epoch 268/1000\n",
      "157/157 [==============================] - 0s 125us/step - loss: 0.2226 - acc: 0.9554 - val_loss: 0.1957 - val_acc: 0.9118\n",
      "Epoch 269/1000\n",
      "157/157 [==============================] - 0s 131us/step - loss: 0.2213 - acc: 0.9554 - val_loss: 0.1935 - val_acc: 0.9118\n",
      "Epoch 270/1000\n",
      "157/157 [==============================] - 0s 140us/step - loss: 0.2214 - acc: 0.9554 - val_loss: 0.1968 - val_acc: 0.9118\n",
      "Epoch 271/1000\n",
      "157/157 [==============================] - 0s 165us/step - loss: 0.2187 - acc: 0.9554 - val_loss: 0.1965 - val_acc: 0.9118\n",
      "Epoch 272/1000\n",
      "157/157 [==============================] - 0s 222us/step - loss: 0.2174 - acc: 0.9490 - val_loss: 0.1925 - val_acc: 0.9118\n",
      "Epoch 273/1000\n",
      "157/157 [==============================] - 0s 130us/step - loss: 0.2188 - acc: 0.9618 - val_loss: 0.1925 - val_acc: 0.9118\n",
      "Epoch 274/1000\n",
      "157/157 [==============================] - 0s 112us/step - loss: 0.2157 - acc: 0.9554 - val_loss: 0.1923 - val_acc: 0.9118\n",
      "Epoch 275/1000\n",
      "157/157 [==============================] - 0s 120us/step - loss: 0.2170 - acc: 0.9490 - val_loss: 0.1908 - val_acc: 0.9118\n",
      "Epoch 276/1000\n",
      "157/157 [==============================] - 0s 201us/step - loss: 0.2149 - acc: 0.9618 - val_loss: 0.1918 - val_acc: 0.9118\n",
      "Epoch 277/1000\n",
      "157/157 [==============================] - 0s 128us/step - loss: 0.2140 - acc: 0.9618 - val_loss: 0.1924 - val_acc: 0.9118\n",
      "Epoch 278/1000\n",
      "157/157 [==============================] - 0s 121us/step - loss: 0.2128 - acc: 0.9554 - val_loss: 0.1899 - val_acc: 0.9118\n",
      "Epoch 279/1000\n",
      "157/157 [==============================] - 0s 205us/step - loss: 0.2123 - acc: 0.9618 - val_loss: 0.1881 - val_acc: 0.9118\n",
      "Epoch 280/1000\n",
      "157/157 [==============================] - 0s 146us/step - loss: 0.2115 - acc: 0.9554 - val_loss: 0.1889 - val_acc: 0.9118\n",
      "Epoch 281/1000\n",
      "157/157 [==============================] - 0s 117us/step - loss: 0.2115 - acc: 0.9490 - val_loss: 0.1863 - val_acc: 0.9118\n",
      "Epoch 282/1000\n",
      "157/157 [==============================] - 0s 235us/step - loss: 0.2100 - acc: 0.9554 - val_loss: 0.1854 - val_acc: 0.9118\n",
      "Epoch 283/1000\n",
      "157/157 [==============================] - 0s 127us/step - loss: 0.2099 - acc: 0.9618 - val_loss: 0.1872 - val_acc: 0.9118\n",
      "Epoch 284/1000\n",
      "157/157 [==============================] - 0s 108us/step - loss: 0.2085 - acc: 0.9618 - val_loss: 0.1867 - val_acc: 0.9118\n",
      "Epoch 285/1000\n",
      "157/157 [==============================] - 0s 216us/step - loss: 0.2070 - acc: 0.9618 - val_loss: 0.1862 - val_acc: 0.9118\n",
      "Epoch 286/1000\n",
      "157/157 [==============================] - 0s 142us/step - loss: 0.2061 - acc: 0.9618 - val_loss: 0.1858 - val_acc: 0.9118\n",
      "Epoch 287/1000\n",
      "157/157 [==============================] - 0s 115us/step - loss: 0.2074 - acc: 0.9554 - val_loss: 0.1866 - val_acc: 0.9118\n",
      "Epoch 288/1000\n",
      "157/157 [==============================] - 0s 134us/step - loss: 0.2052 - acc: 0.9554 - val_loss: 0.1864 - val_acc: 0.9118\n",
      "Epoch 289/1000\n",
      "157/157 [==============================] - 0s 155us/step - loss: 0.2045 - acc: 0.9554 - val_loss: 0.1839 - val_acc: 0.9118\n",
      "Epoch 290/1000\n",
      "157/157 [==============================] - 0s 246us/step - loss: 0.2035 - acc: 0.9618 - val_loss: 0.1817 - val_acc: 0.9118\n",
      "Epoch 291/1000\n",
      "157/157 [==============================] - 0s 127us/step - loss: 0.2043 - acc: 0.9618 - val_loss: 0.1828 - val_acc: 0.9118\n",
      "Epoch 292/1000\n",
      "157/157 [==============================] - 0s 137us/step - loss: 0.2014 - acc: 0.9618 - val_loss: 0.1832 - val_acc: 0.9118\n",
      "Epoch 293/1000\n",
      "157/157 [==============================] - 0s 165us/step - loss: 0.2014 - acc: 0.9554 - val_loss: 0.1829 - val_acc: 0.9118\n",
      "Epoch 294/1000\n",
      "157/157 [==============================] - 0s 198us/step - loss: 0.2003 - acc: 0.9618 - val_loss: 0.1822 - val_acc: 0.9118\n",
      "Epoch 295/1000\n",
      "157/157 [==============================] - 0s 155us/step - loss: 0.2019 - acc: 0.9618 - val_loss: 0.1799 - val_acc: 0.9118\n",
      "Epoch 296/1000\n",
      "157/157 [==============================] - 0s 165us/step - loss: 0.1995 - acc: 0.9554 - val_loss: 0.1778 - val_acc: 0.9118\n",
chadhat's avatar
chadhat committed
      "Epoch 297/1000\n",
      "157/157 [==============================] - 0s 165us/step - loss: 0.1990 - acc: 0.9618 - val_loss: 0.1810 - val_acc: 0.9118\n",
      "Epoch 298/1000\n",
      "157/157 [==============================] - 0s 189us/step - loss: 0.1975 - acc: 0.9618 - val_loss: 0.1822 - val_acc: 0.9118\n",
      "Epoch 299/1000\n",
      "157/157 [==============================] - 0s 169us/step - loss: 0.1975 - acc: 0.9490 - val_loss: 0.1800 - val_acc: 0.9118\n",
      "Epoch 300/1000\n",
      "157/157 [==============================] - 0s 270us/step - loss: 0.1964 - acc: 0.9618 - val_loss: 0.1784 - val_acc: 0.9118\n",
      "Epoch 301/1000\n",
      "157/157 [==============================] - 0s 249us/step - loss: 0.1957 - acc: 0.9618 - val_loss: 0.1755 - val_acc: 0.9118\n",
      "Epoch 302/1000\n",
      "157/157 [==============================] - 0s 368us/step - loss: 0.1977 - acc: 0.9618 - val_loss: 0.1741 - val_acc: 0.9118\n",
      "Epoch 303/1000\n",
      "157/157 [==============================] - 0s 214us/step - loss: 0.1941 - acc: 0.9554 - val_loss: 0.1766 - val_acc: 0.9118\n",
      "Epoch 304/1000\n",
      "157/157 [==============================] - 0s 283us/step - loss: 0.1930 - acc: 0.9618 - val_loss: 0.1742 - val_acc: 0.9118\n",
      "Epoch 305/1000\n",
      "157/157 [==============================] - 0s 299us/step - loss: 0.1932 - acc: 0.9618 - val_loss: 0.1752 - val_acc: 0.9118\n",
      "Epoch 306/1000\n",
      "157/157 [==============================] - 0s 284us/step - loss: 0.1930 - acc: 0.9618 - val_loss: 0.1766 - val_acc: 0.9118\n",
      "Epoch 307/1000\n",
      "157/157 [==============================] - 0s 217us/step - loss: 0.1914 - acc: 0.9618 - val_loss: 0.1746 - val_acc: 0.9118\n",
      "Epoch 308/1000\n",
      "157/157 [==============================] - 0s 303us/step - loss: 0.1918 - acc: 0.9490 - val_loss: 0.1736 - val_acc: 0.9118\n",
      "Epoch 309/1000\n",
      "157/157 [==============================] - 0s 561us/step - loss: 0.1892 - acc: 0.9618 - val_loss: 0.1723 - val_acc: 0.9118\n",
      "Epoch 310/1000\n",
      "157/157 [==============================] - 0s 379us/step - loss: 0.1897 - acc: 0.9618 - val_loss: 0.1725 - val_acc: 0.9118\n",
      "Epoch 311/1000\n",
Loading
Loading full blame...