Ravi Hegde 6 年之前
當前提交
1d7b8580a1
共有 16 個文件被更改,包括 7881 次插入0 次删除
  1. 二進制
      __pycache__/scnets.cpython-36.pyc
  2. 二進制
      __pycache__/snlay.cpython-36.pyc
  3. 二進制
      __pycache__/utils.cpython-36.pyc
  4. 二進制
      datasets/s8_sio2tio2.h5
  5. 5557 0
      fully_con_hyp_tuning.ipynb
  6. 36 0
      make_dataset.py
  7. 49 0
      materials/gold.dat
  8. 101 0
      materials/silica.dat
  9. 121 0
      materials/silicon.dat
  10. 49 0
      materials/silver.dat
  11. 490 0
      materials/tio2.dat
  12. 41 0
      pymietest.ipynb
  13. 1291 0
      scatternet.ipynb
  14. 62 0
      scnets.py
  15. 50 0
      snlay.py
  16. 34 0
      utils.py

二進制
__pycache__/scnets.cpython-36.pyc


二進制
__pycache__/snlay.cpython-36.pyc


二進制
__pycache__/utils.cpython-36.pyc


二進制
datasets/s8_sio2tio2.h5


+ 5557 - 0
fully_con_hyp_tuning.ipynb

@@ -0,0 +1,5557 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "# we will study the hyperparamter tuning of fully connected scatternet\n",
+    "\n",
+    "# first find optimal number of layers and neuron numbers\n",
+    "# second optimize the batch size and number of epochs for the best learned architecture\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### Loading the dataset here"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 1,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2018-08-29T14:07:00.584484Z",
+     "start_time": "2018-08-29T14:07:00.183291Z"
+    }
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n",
+      "  return f(*args, **kwds)\n",
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n",
+      "  return f(*args, **kwds)\n",
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/importlib/_bootstrap.py:219: RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility. Expected 96, got 88\n",
+      "  return f(*args, **kwds)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Dataset has been loaded\n",
+      "x-train (60000, 8)\n",
+      "x-test  (40000, 8)\n",
+      "y-train (60000, 250)\n",
+      "y-test  (40000, 250)\n"
+     ]
+    }
+   ],
+   "source": [
+    "import numpy as np\n",
+    "\n",
+    "import h5py\n",
+    "from sklearn.model_selection import train_test_split\n",
+    "\n",
+    "#now load this dataset \n",
+    "h5f = h5py.File('./datasets/s8_sio2tio2.h5','r')\n",
+    "X = h5f['sizes'][:]\n",
+    "Y = h5f['spectrum'][:]\n",
+    "\n",
+    "#get the ranges of the loaded data\n",
+    "num_layers = X.shape[1]\n",
+    "num_lpoints = Y.shape[1]\n",
+    "size_max = np.amax(X)\n",
+    "size_min = np.amin(X)\n",
+    "size_av = 0.5*(size_max + size_min)\n",
+    "\n",
+    "#this information is not given in the dataset\n",
+    "lam_min = 300\n",
+    "lam_max = 1200\n",
+    "lams = np.linspace(lam_min, lam_max, num_lpoints)\n",
+    "\n",
+    "#create a train - test split of the dataset\n",
+    "x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.4, random_state=42)\n",
+    "\n",
+    "# normalize inputs \n",
+    "x_train = (x_train - 50)/20 \n",
+    "x_test = (x_test - 50)/20 \n",
+    "\n",
+    "print(\"Dataset has been loaded\")\n",
+    "print(\"x-train\", x_train.shape)\n",
+    "print(\"x-test \", x_test.shape)\n",
+    "print(\"y-train\", y_train.shape)\n",
+    "print(\"y-test \", y_test.shape)"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "### create models here"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2018-08-29T14:07:19.163914Z",
+     "start_time": "2018-08-29T14:07:18.150784Z"
+    }
+   },
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Using MXNet backend\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "_________________________________________________________________\n",
+      "Layer (type)                 Output Shape              Param #   \n",
+      "=================================================================\n",
+      "first (Dense)                (None, 250)               2250      \n",
+      "_________________________________________________________________\n",
+      "H0 (Dense)                   (None, 250)               62750     \n",
+      "_________________________________________________________________\n",
+      "H1 (Dense)                   (None, 250)               62750     \n",
+      "_________________________________________________________________\n",
+      "H2 (Dense)                   (None, 250)               62750     \n",
+      "_________________________________________________________________\n",
+      "H3 (Dense)                   (None, 250)               62750     \n",
+      "_________________________________________________________________\n",
+      "last (Dense)                 (None, 250)               62750     \n",
+      "=================================================================\n",
+      "Total params: 316,000\n",
+      "Trainable params: 316,000\n",
+      "Non-trainable params: 0\n",
+      "_________________________________________________________________\n"
+     ]
+    }
+   ],
+   "source": [
+    "import scnets as scn\n",
+    "from IPython.display import SVG\n",
+    "from keras.utils.vis_utils import model_to_dot\n",
+    "\n",
+    "#define and visualize the model here\n",
+    "model = scn.fullycon(num_layers, num_lpoints, 4, 500, 2)\n",
+    "model.summary()\n",
+    "#SVG(model_to_dot(model).create(prog='dot', format='svg'))\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2018-08-29T07:08:15.657200Z",
+     "start_time": "2018-08-29T07:08:07.600774Z"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "x_t, x_v, y_t, y_v = train_test_split(x_train, y_train, test_size=0.2, random_state=42)\n",
+    "history = model.fit(x_t, y_t,\n",
+    "                    batch_size=64,\n",
+    "                    epochs=500, \n",
+    "                    verbose=1,\n",
+    "                    validation_data=(x_v, y_v))\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "start_time": "2018-08-29T14:18:49.841Z"
+    }
+   },
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Fitting 3 folds for each of 15 candidates, totalling 45 fits\n",
+      "Epoch 1/500\n",
+      " 3424/40000 [=>............................] - ETA: 2s - loss: 2767.1082 - acc: 0.0213  "
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 583.2747 - acc: 0.1176\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 210.3483 - acc: 0.2964\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 178.0033 - acc: 0.4047\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 160.5207 - acc: 0.4632\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 151.2789 - acc: 0.4940\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 143.0541 - acc: 0.5121\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 135.8894 - acc: 0.5229\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 129.3540 - acc: 0.5414\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 123.8888 - acc: 0.5578\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 122.3261 - acc: 0.5664\n",
+      "Epoch 11/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 116.3507 - acc: 0.5744\n",
+      "Epoch 12/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 111.9792 - acc: 0.5828\n",
+      "Epoch 13/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 110.7404 - acc: 0.5909\n",
+      "Epoch 14/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 105.9977 - acc: 0.6059\n",
+      "Epoch 15/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 101.5890 - acc: 0.6195\n",
+      "Epoch 16/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 100.0631 - acc: 0.6276\n",
+      "Epoch 17/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 95.2944 - acc: 0.6371\n",
+      "Epoch 18/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 93.0832 - acc: 0.6466\n",
+      "Epoch 19/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 90.6218 - acc: 0.6532\n",
+      "Epoch 20/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 88.7367 - acc: 0.6644\n",
+      "Epoch 21/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 87.1093 - acc: 0.6654\n",
+      "Epoch 22/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 85.2148 - acc: 0.6703\n",
+      "Epoch 23/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 83.1860 - acc: 0.6792\n",
+      "Epoch 24/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 81.3674 - acc: 0.6853\n",
+      "Epoch 25/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 80.0847 - acc: 0.6891\n",
+      "Epoch 26/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 78.0568 - acc: 0.6968\n",
+      "Epoch 27/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 76.9372 - acc: 0.7041\n",
+      "Epoch 28/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 75.5112 - acc: 0.7039\n",
+      "Epoch 29/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 75.0533 - acc: 0.7154\n",
+      "Epoch 30/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 73.1555 - acc: 0.7190\n",
+      "Epoch 31/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 71.9885 - acc: 0.7226\n",
+      "Epoch 32/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 70.7156 - acc: 0.7243\n",
+      "Epoch 33/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 70.6521 - acc: 0.7286\n",
+      "Epoch 34/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 69.1007 - acc: 0.7395\n",
+      "Epoch 35/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 68.4483 - acc: 0.7415\n",
+      "Epoch 36/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 66.7686 - acc: 0.7454\n",
+      "Epoch 37/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 66.0317 - acc: 0.7455\n",
+      "Epoch 38/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 64.1376 - acc: 0.7530\n",
+      "Epoch 39/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 64.2237 - acc: 0.7559\n",
+      "Epoch 40/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 63.5202 - acc: 0.7532\n",
+      "Epoch 41/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 63.1413 - acc: 0.7515\n",
+      "Epoch 42/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 62.1011 - acc: 0.7625\n",
+      "Epoch 43/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 61.5510 - acc: 0.7653\n",
+      "Epoch 44/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 60.7081 - acc: 0.7646\n",
+      "Epoch 45/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 60.0852 - acc: 0.7688\n",
+      "Epoch 46/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 59.9674 - acc: 0.7683\n",
+      "Epoch 47/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 58.4860 - acc: 0.7716\n",
+      "Epoch 48/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 57.9691 - acc: 0.7744\n",
+      "Epoch 49/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 58.6392 - acc: 0.7772\n",
+      "Epoch 50/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 57.2963 - acc: 0.7793\n",
+      "Epoch 51/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 57.8311 - acc: 0.7795\n",
+      "Epoch 52/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 56.6346 - acc: 0.7823\n",
+      "Epoch 53/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 55.5912 - acc: 0.7834\n",
+      "Epoch 54/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 56.1799 - acc: 0.7857\n",
+      "Epoch 55/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 54.8867 - acc: 0.7873\n",
+      "Epoch 56/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 54.3787 - acc: 0.7900\n",
+      "Epoch 57/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 54.4668 - acc: 0.7899\n",
+      "Epoch 58/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 54.2717 - acc: 0.7887\n",
+      "Epoch 59/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 53.8603 - acc: 0.7962\n",
+      "Epoch 60/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 52.8560 - acc: 0.7945\n",
+      "Epoch 61/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 52.9002 - acc: 0.7914\n",
+      "Epoch 62/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 52.8944 - acc: 0.7903\n",
+      "Epoch 63/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 52.1538 - acc: 0.7961\n",
+      "Epoch 64/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 52.4529 - acc: 0.7960\n",
+      "Epoch 65/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 52.1336 - acc: 0.8003\n",
+      "Epoch 66/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 51.2384 - acc: 0.8007\n",
+      "Epoch 67/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 51.1216 - acc: 0.7978\n",
+      "Epoch 68/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 51.0695 - acc: 0.8035\n",
+      "Epoch 69/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 50.8570 - acc: 0.8026\n",
+      "Epoch 70/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 50.3901 - acc: 0.8053\n",
+      "Epoch 71/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 50.3635 - acc: 0.8068\n",
+      "Epoch 72/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 49.2564 - acc: 0.8029\n",
+      "Epoch 73/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 49.3433 - acc: 0.8074\n",
+      "Epoch 74/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 49.4140 - acc: 0.8033\n",
+      "Epoch 75/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 49.6576 - acc: 0.8076\n",
+      "Epoch 76/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 48.3630 - acc: 0.8119\n",
+      "Epoch 77/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 48.0165 - acc: 0.8125\n",
+      "Epoch 78/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.1132 - acc: 0.8110\n",
+      "Epoch 79/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.2354 - acc: 0.8087\n",
+      "Epoch 80/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 46us/step - loss: 48.0683 - acc: 0.8099\n",
+      "Epoch 81/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.3724 - acc: 0.8119\n",
+      "Epoch 82/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.7136 - acc: 0.8132\n",
+      "Epoch 83/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 47.6136 - acc: 0.8118\n",
+      "Epoch 84/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.4129 - acc: 0.8121\n",
+      "Epoch 85/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 47.1255 - acc: 0.8135\n",
+      "Epoch 86/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.6991 - acc: 0.8107\n",
+      "Epoch 87/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.4053 - acc: 0.8158\n",
+      "Epoch 88/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.8279 - acc: 0.8167\n",
+      "Epoch 89/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.1606 - acc: 0.8181\n",
+      "Epoch 90/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.8447 - acc: 0.8178\n",
+      "Epoch 91/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.9058 - acc: 0.8209\n",
+      "Epoch 92/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.0267 - acc: 0.8155\n",
+      "Epoch 93/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.6163 - acc: 0.8186\n",
+      "Epoch 94/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.3921 - acc: 0.8196\n",
+      "Epoch 95/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.1022 - acc: 0.8178\n",
+      "Epoch 96/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.7480 - acc: 0.8211\n",
+      "Epoch 97/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.2399 - acc: 0.8210\n",
+      "Epoch 98/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.9034 - acc: 0.8200\n",
+      "Epoch 99/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.9798 - acc: 0.8221\n",
+      "Epoch 100/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.5325 - acc: 0.8205\n",
+      "Epoch 101/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.6698 - acc: 0.8245\n",
+      "Epoch 102/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.3120 - acc: 0.8256\n",
+      "Epoch 103/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.0392 - acc: 0.8243\n",
+      "Epoch 104/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.4502 - acc: 0.8240\n",
+      "Epoch 105/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 43.8937 - acc: 0.8248\n",
+      "Epoch 106/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.0906 - acc: 0.8242\n",
+      "Epoch 107/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.7459 - acc: 0.8248\n",
+      "Epoch 108/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.3740 - acc: 0.8212\n",
+      "Epoch 109/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 43.2207 - acc: 0.8239\n",
+      "Epoch 110/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.4940 - acc: 0.8258\n",
+      "Epoch 111/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 43.2934 - acc: 0.8246\n",
+      "Epoch 112/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.1091 - acc: 0.8273\n",
+      "Epoch 113/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.7259 - acc: 0.8281\n",
+      "Epoch 114/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.0493 - acc: 0.8258\n",
+      "Epoch 115/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 43.0323 - acc: 0.8276\n",
+      "Epoch 116/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.2765 - acc: 0.8293\n",
+      "Epoch 117/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.3612 - acc: 0.8271\n",
+      "Epoch 118/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.8088 - acc: 0.8271\n",
+      "Epoch 119/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.9448 - acc: 0.8278\n",
+      "Epoch 120/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.3715 - acc: 0.8304\n",
+      "Epoch 121/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.4197 - acc: 0.8301\n",
+      "Epoch 122/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 42.6097 - acc: 0.8300\n",
+      "Epoch 123/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.7705 - acc: 0.8329\n",
+      "Epoch 124/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 42.1290 - acc: 0.8309\n",
+      "Epoch 125/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.6631 - acc: 0.8308\n",
+      "Epoch 126/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.5521 - acc: 0.8282\n",
+      "Epoch 127/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.7450 - acc: 0.8304\n",
+      "Epoch 128/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.4136 - acc: 0.8309\n",
+      "Epoch 129/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.4571 - acc: 0.8330\n",
+      "Epoch 130/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.4675 - acc: 0.8317\n",
+      "Epoch 131/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.4568 - acc: 0.8325\n",
+      "Epoch 132/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.4257 - acc: 0.8347\n",
+      "Epoch 133/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.8161 - acc: 0.8331\n",
+      "Epoch 134/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.0303 - acc: 0.8317\n",
+      "Epoch 135/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.8618 - acc: 0.8317\n",
+      "Epoch 136/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.0580 - acc: 0.8313\n",
+      "Epoch 137/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.2415 - acc: 0.8377\n",
+      "Epoch 138/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.5824 - acc: 0.8345\n",
+      "Epoch 139/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.9365 - acc: 0.8331\n",
+      "Epoch 140/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.1974 - acc: 0.8334\n",
+      "Epoch 141/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.8681 - acc: 0.8358\n",
+      "Epoch 142/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.5832 - acc: 0.8363\n",
+      "Epoch 143/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.7023 - acc: 0.8357\n",
+      "Epoch 144/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.6904 - acc: 0.8359\n",
+      "Epoch 145/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.5575 - acc: 0.8326\n",
+      "Epoch 146/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.4347 - acc: 0.8341\n",
+      "Epoch 147/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.2024 - acc: 0.8356\n",
+      "Epoch 148/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.8473 - acc: 0.8394\n",
+      "Epoch 149/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.4144 - acc: 0.8348\n",
+      "Epoch 150/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.5846 - acc: 0.8368\n",
+      "Epoch 151/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.8914 - acc: 0.8403\n",
+      "Epoch 152/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.3150 - acc: 0.8366\n",
+      "Epoch 153/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.5800 - acc: 0.8367\n",
+      "Epoch 154/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.7324 - acc: 0.8394\n",
+      "Epoch 155/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.5340 - acc: 0.8406\n",
+      "Epoch 156/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.5500 - acc: 0.8358\n",
+      "Epoch 157/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.3907 - acc: 0.8399\n",
+      "Epoch 158/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.1372 - acc: 0.8367\n",
+      "Epoch 159/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.4876 - acc: 0.8411\n",
+      "Epoch 160/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.2777 - acc: 0.8398\n",
+      "Epoch 161/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.6109 - acc: 0.8372\n",
+      "Epoch 162/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.0171 - acc: 0.8372\n",
+      "Epoch 163/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.9856 - acc: 0.8378\n",
+      "Epoch 164/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.1003 - acc: 0.8415\n",
+      "Epoch 165/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.9179 - acc: 0.8396\n",
+      "Epoch 166/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.9712 - acc: 0.8431\n",
+      "Epoch 167/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.5523 - acc: 0.8392\n",
+      "Epoch 168/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.8158 - acc: 0.8395\n",
+      "Epoch 169/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.5787 - acc: 0.8442\n",
+      "Epoch 170/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.7851 - acc: 0.8427\n",
+      "Epoch 171/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.8465 - acc: 0.8414\n",
+      "Epoch 172/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.8380 - acc: 0.8400\n",
+      "Epoch 173/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.0601 - acc: 0.8403\n",
+      "Epoch 174/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.3007 - acc: 0.8418\n",
+      "Epoch 175/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.3017 - acc: 0.8427\n",
+      "Epoch 176/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.9807 - acc: 0.8420\n",
+      "Epoch 177/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.4585 - acc: 0.8408\n",
+      "Epoch 178/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 37.8761 - acc: 0.8433\n",
+      "Epoch 179/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.1488 - acc: 0.8444\n",
+      "Epoch 180/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.9342 - acc: 0.8427\n",
+      "Epoch 181/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.2541 - acc: 0.8424\n",
+      "Epoch 182/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.2936 - acc: 0.8452\n",
+      "Epoch 183/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.7475 - acc: 0.8430\n",
+      "Epoch 184/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0114 - acc: 0.8427\n",
+      "Epoch 185/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.5556 - acc: 0.8457\n",
+      "Epoch 186/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.0130 - acc: 0.8429\n",
+      "Epoch 187/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.7086 - acc: 0.8442\n",
+      "Epoch 188/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 37.9179 - acc: 0.8465\n",
+      "Epoch 189/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.4654 - acc: 0.8454\n",
+      "Epoch 190/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.4992 - acc: 0.8420\n",
+      "Epoch 191/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.7526 - acc: 0.8424\n",
+      "Epoch 192/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.7788 - acc: 0.8432\n",
+      "Epoch 193/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.5815 - acc: 0.8463\n",
+      "Epoch 194/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.3277 - acc: 0.8452\n",
+      "Epoch 195/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 37.3735 - acc: 0.8479\n",
+      "Epoch 196/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.2760 - acc: 0.8462\n",
+      "Epoch 197/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 37.3615 - acc: 0.8441\n",
+      "Epoch 198/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.4075 - acc: 0.8477\n",
+      "Epoch 199/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.3464 - acc: 0.8471\n",
+      "Epoch 200/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.4695 - acc: 0.8451\n",
+      "Epoch 201/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.9630 - acc: 0.8464\n",
+      "Epoch 202/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.2764 - acc: 0.8436\n",
+      "Epoch 203/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.1269 - acc: 0.8461\n",
+      "Epoch 204/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.2404 - acc: 0.8456\n",
+      "Epoch 205/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.7785 - acc: 0.8461\n",
+      "Epoch 206/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.2064 - acc: 0.8485\n",
+      "Epoch 207/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.0762 - acc: 0.8475\n",
+      "Epoch 208/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.8616 - acc: 0.8480\n",
+      "Epoch 209/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.9962 - acc: 0.8492\n",
+      "Epoch 210/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.8756 - acc: 0.8504\n",
+      "Epoch 211/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.8549 - acc: 0.8444\n",
+      "Epoch 212/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.7256 - acc: 0.8451\n",
+      "Epoch 213/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.9488 - acc: 0.8488\n",
+      "Epoch 214/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.4296 - acc: 0.8466\n",
+      "Epoch 215/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.5505 - acc: 0.8482\n",
+      "Epoch 216/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.5816 - acc: 0.8474\n",
+      "Epoch 217/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.8864 - acc: 0.8478\n",
+      "Epoch 218/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.7637 - acc: 0.8497\n",
+      "Epoch 219/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.6852 - acc: 0.8495\n",
+      "Epoch 220/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.0202 - acc: 0.8479\n",
+      "Epoch 221/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.2726 - acc: 0.8473\n",
+      "Epoch 222/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.3812 - acc: 0.8472\n",
+      "Epoch 223/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.1702 - acc: 0.8481\n",
+      "Epoch 224/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.3853 - acc: 0.8489\n",
+      "Epoch 225/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.2353 - acc: 0.8494\n",
+      "Epoch 226/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.2713 - acc: 0.8506\n",
+      "Epoch 227/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.6181 - acc: 0.8489\n",
+      "Epoch 228/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.3266 - acc: 0.8467\n",
+      "Epoch 229/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.2817 - acc: 0.8485\n",
+      "Epoch 230/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.0549 - acc: 0.8476\n",
+      "Epoch 231/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.0741 - acc: 0.8498\n",
+      "Epoch 232/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.9405 - acc: 0.8495\n",
+      "Epoch 233/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.2070 - acc: 0.8503\n",
+      "Epoch 234/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.8521 - acc: 0.8500\n",
+      "Epoch 235/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.1378 - acc: 0.8508\n",
+      "Epoch 236/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.9325 - acc: 0.8522\n",
+      "Epoch 237/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.1369 - acc: 0.8509\n",
+      "Epoch 238/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.6465 - acc: 0.8508\n",
+      "Epoch 239/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.5210 - acc: 0.8501\n",
+      "Epoch 240/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.8727 - acc: 0.8486\n",
+      "Epoch 241/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.6053 - acc: 0.8478\n",
+      "Epoch 242/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.7420 - acc: 0.8539\n",
+      "Epoch 243/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.5995 - acc: 0.8491\n",
+      "Epoch 244/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.7735 - acc: 0.8503\n",
+      "Epoch 245/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.5982 - acc: 0.8494\n",
+      "Epoch 246/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.4627 - acc: 0.8502\n",
+      "Epoch 247/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5328 - acc: 0.8500\n",
+      "Epoch 248/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.7153 - acc: 0.8497\n",
+      "Epoch 249/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.7317 - acc: 0.8515\n",
+      "Epoch 250/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.4508 - acc: 0.8530\n",
+      "Epoch 251/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.2658 - acc: 0.8536\n",
+      "Epoch 252/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.4731 - acc: 0.8513\n",
+      "Epoch 253/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3604 - acc: 0.8527\n",
+      "Epoch 254/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.1225 - acc: 0.8535\n",
+      "Epoch 255/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.5498 - acc: 0.8531\n",
+      "Epoch 256/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.3001 - acc: 0.8510\n",
+      "Epoch 257/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.0296 - acc: 0.8528\n",
+      "Epoch 258/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.2939 - acc: 0.8543\n",
+      "Epoch 259/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.3479 - acc: 0.8516\n",
+      "Epoch 260/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.2941 - acc: 0.8510\n",
+      "Epoch 261/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.1029 - acc: 0.8508\n",
+      "Epoch 262/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3967 - acc: 0.8525\n",
+      "Epoch 263/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.3659 - acc: 0.8513\n",
+      "Epoch 264/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.2443 - acc: 0.8530\n",
+      "Epoch 265/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.2204 - acc: 0.8520\n",
+      "Epoch 266/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.8682 - acc: 0.8520\n",
+      "Epoch 267/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.8332 - acc: 0.8516\n",
+      "Epoch 268/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.2411 - acc: 0.8522\n",
+      "Epoch 269/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7774 - acc: 0.8575\n",
+      "Epoch 270/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.6981 - acc: 0.8552\n",
+      "Epoch 271/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.1815 - acc: 0.8518\n",
+      "Epoch 272/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.7760 - acc: 0.8548\n",
+      "Epoch 273/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.8592 - acc: 0.8537\n",
+      "Epoch 274/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.7561 - acc: 0.8522\n",
+      "Epoch 275/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.0350 - acc: 0.8544\n",
+      "Epoch 276/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.6928 - acc: 0.8529\n",
+      "Epoch 277/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.6306 - acc: 0.8526\n",
+      "Epoch 278/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7613 - acc: 0.8536\n",
+      "Epoch 279/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.5263 - acc: 0.8557\n",
+      "Epoch 280/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7562 - acc: 0.8538\n",
+      "Epoch 281/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.0431 - acc: 0.8502\n",
+      "Epoch 282/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.6129 - acc: 0.8541\n",
+      "Epoch 283/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.4522 - acc: 0.8558\n",
+      "Epoch 284/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.5252 - acc: 0.8535\n",
+      "Epoch 285/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.4347 - acc: 0.8549\n",
+      "Epoch 286/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.8706 - acc: 0.8534\n",
+      "Epoch 287/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.6256 - acc: 0.8572\n",
+      "Epoch 288/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.3362 - acc: 0.8549\n",
+      "Epoch 289/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.5680 - acc: 0.8530\n",
+      "Epoch 290/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.5247 - acc: 0.8551\n",
+      "Epoch 291/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.2562 - acc: 0.8557\n",
+      "Epoch 292/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.3295 - acc: 0.8555\n",
+      "Epoch 293/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.4121 - acc: 0.8550\n",
+      "Epoch 294/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.1376 - acc: 0.8556\n",
+      "Epoch 295/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.2586 - acc: 0.8533\n",
+      "Epoch 296/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 34.2458 - acc: 0.8536\n",
+      "Epoch 297/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.5751 - acc: 0.8549\n",
+      "Epoch 298/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.3866 - acc: 0.8508\n",
+      "Epoch 299/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2797 - acc: 0.8519\n",
+      "Epoch 300/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.2092 - acc: 0.8540\n",
+      "Epoch 301/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.1934 - acc: 0.8556\n",
+      "Epoch 302/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.3761 - acc: 0.8533\n",
+      "Epoch 303/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.3652 - acc: 0.8553\n",
+      "Epoch 304/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.3026 - acc: 0.8554\n",
+      "Epoch 305/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.0590 - acc: 0.8560\n",
+      "Epoch 306/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.8567 - acc: 0.8523\n",
+      "Epoch 307/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.2954 - acc: 0.8563\n",
+      "Epoch 308/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 34.1042 - acc: 0.8578\n",
+      "Epoch 309/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.2235 - acc: 0.8534\n",
+      "Epoch 310/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 34.2313 - acc: 0.8539\n",
+      "Epoch 311/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.0273 - acc: 0.8564\n",
+      "Epoch 312/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.0437 - acc: 0.8558\n",
+      "Epoch 313/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7376 - acc: 0.8558\n",
+      "Epoch 314/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.0667 - acc: 0.8565\n",
+      "Epoch 315/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.9650 - acc: 0.8576\n",
+      "Epoch 316/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.0500 - acc: 0.8564\n",
+      "Epoch 317/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.6293 - acc: 0.8564\n",
+      "Epoch 318/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.0043 - acc: 0.8557\n",
+      "Epoch 319/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.9800 - acc: 0.8540\n",
+      "Epoch 320/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.6701 - acc: 0.8569\n",
+      "Epoch 321/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.1339 - acc: 0.8549\n",
+      "Epoch 322/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.4426 - acc: 0.8571\n",
+      "Epoch 323/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.8951 - acc: 0.8564\n",
+      "Epoch 324/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7910 - acc: 0.8547\n",
+      "Epoch 325/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.8611 - acc: 0.8567\n",
+      "Epoch 326/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.0323 - acc: 0.8566\n",
+      "Epoch 327/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.9238 - acc: 0.8564\n",
+      "Epoch 328/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.6396 - acc: 0.8573\n",
+      "Epoch 329/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.7270 - acc: 0.8549\n",
+      "Epoch 330/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.6209 - acc: 0.8563\n",
+      "Epoch 331/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.5753 - acc: 0.8553\n",
+      "Epoch 332/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.8041 - acc: 0.8554\n",
+      "Epoch 333/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 33.5637 - acc: 0.8563\n",
+      "Epoch 334/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.6172 - acc: 0.8568\n",
+      "Epoch 335/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.5493 - acc: 0.8557\n",
+      "Epoch 336/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.6796 - acc: 0.8578\n",
+      "Epoch 337/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.7852 - acc: 0.8568\n",
+      "Epoch 338/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.3804 - acc: 0.8590\n",
+      "Epoch 339/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.8157 - acc: 0.8599\n",
+      "Epoch 340/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.4235 - acc: 0.8579\n",
+      "Epoch 341/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 33.5386 - acc: 0.8553\n",
+      "Epoch 342/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.3460 - acc: 0.8585\n",
+      "Epoch 343/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.7437 - acc: 0.8568\n",
+      "Epoch 344/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.4362 - acc: 0.8583\n",
+      "Epoch 345/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.8109 - acc: 0.8576\n",
+      "Epoch 346/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.3596 - acc: 0.8581\n",
+      "Epoch 347/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.4440 - acc: 0.8573\n",
+      "Epoch 348/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.5393 - acc: 0.8581\n",
+      "Epoch 349/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.4774 - acc: 0.8592\n",
+      "Epoch 350/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.2719 - acc: 0.8582\n",
+      "Epoch 351/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.2312 - acc: 0.8583\n",
+      "Epoch 352/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.5668 - acc: 0.8565\n",
+      "Epoch 353/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.3501 - acc: 0.8552\n",
+      "Epoch 354/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.4429 - acc: 0.8573\n",
+      "Epoch 355/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.2597 - acc: 0.8585\n",
+      "Epoch 356/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.2565 - acc: 0.8584\n",
+      "Epoch 357/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3817 - acc: 0.8619\n",
+      "Epoch 358/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 33.3148 - acc: 0.8613\n",
+      "Epoch 359/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.4588 - acc: 0.8571\n",
+      "Epoch 360/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 33.1906 - acc: 0.8603\n",
+      "Epoch 361/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.1525 - acc: 0.8573\n",
+      "Epoch 362/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.1772 - acc: 0.8568\n",
+      "Epoch 363/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.3484 - acc: 0.8586\n",
+      "Epoch 364/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.1922 - acc: 0.8591\n",
+      "Epoch 365/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.2306 - acc: 0.8610\n",
+      "Epoch 366/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.2331 - acc: 0.8620\n",
+      "Epoch 367/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.2822 - acc: 0.8586\n",
+      "Epoch 368/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.3572 - acc: 0.8599\n",
+      "Epoch 369/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1304 - acc: 0.8608\n",
+      "Epoch 370/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.1650 - acc: 0.8580\n",
+      "Epoch 371/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.0759 - acc: 0.8583\n",
+      "Epoch 372/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.4124 - acc: 0.8621\n",
+      "Epoch 373/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1787 - acc: 0.8592\n",
+      "Epoch 374/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.1930 - acc: 0.8584\n",
+      "Epoch 375/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.7499 - acc: 0.8605\n",
+      "Epoch 376/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0451 - acc: 0.8586\n",
+      "Epoch 377/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.9944 - acc: 0.8608\n",
+      "Epoch 378/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.0754 - acc: 0.8593\n",
+      "Epoch 379/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.9621 - acc: 0.8607\n",
+      "Epoch 380/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1246 - acc: 0.8595\n",
+      "Epoch 381/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9926 - acc: 0.8596\n",
+      "Epoch 382/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.7541 - acc: 0.8602\n",
+      "Epoch 383/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.3041 - acc: 0.8580\n",
+      "Epoch 384/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1991 - acc: 0.8575\n",
+      "Epoch 385/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0087 - acc: 0.8621\n",
+      "Epoch 386/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8887 - acc: 0.8580\n",
+      "Epoch 387/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8300 - acc: 0.8595\n",
+      "Epoch 388/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.2617 - acc: 0.8632\n",
+      "Epoch 389/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8804 - acc: 0.8591\n",
+      "Epoch 390/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.8550 - acc: 0.8571\n",
+      "Epoch 391/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0294 - acc: 0.8609\n",
+      "Epoch 392/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.0730 - acc: 0.8597\n",
+      "Epoch 393/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8126 - acc: 0.8600\n",
+      "Epoch 394/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.0485 - acc: 0.8624\n",
+      "Epoch 395/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7619 - acc: 0.8617\n",
+      "Epoch 396/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.7730 - acc: 0.8612\n",
+      "Epoch 397/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9251 - acc: 0.8607\n",
+      "Epoch 398/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0409 - acc: 0.8595\n",
+      "Epoch 399/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5103 - acc: 0.8598\n",
+      "Epoch 400/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8581 - acc: 0.8596\n",
+      "Epoch 401/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.7293 - acc: 0.8590\n",
+      "Epoch 402/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8756 - acc: 0.8609\n",
+      "Epoch 403/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8273 - acc: 0.8606\n",
+      "Epoch 404/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8066 - acc: 0.8615\n",
+      "Epoch 405/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5667 - acc: 0.8574\n",
+      "Epoch 406/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7961 - acc: 0.8583\n",
+      "Epoch 407/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4719 - acc: 0.8602\n",
+      "Epoch 408/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8681 - acc: 0.8608\n",
+      "Epoch 409/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.9809 - acc: 0.8574\n",
+      "Epoch 410/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5697 - acc: 0.8611\n",
+      "Epoch 411/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5457 - acc: 0.8595\n",
+      "Epoch 412/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5838 - acc: 0.8608\n",
+      "Epoch 413/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8037 - acc: 0.8615\n",
+      "Epoch 414/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8654 - acc: 0.8581\n",
+      "Epoch 415/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7900 - acc: 0.8617\n",
+      "Epoch 416/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5719 - acc: 0.8615\n",
+      "Epoch 417/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8546 - acc: 0.8589\n",
+      "Epoch 418/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.6253 - acc: 0.8603\n",
+      "Epoch 419/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8517 - acc: 0.8612\n",
+      "Epoch 420/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8163 - acc: 0.8583\n",
+      "Epoch 421/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.6450 - acc: 0.8614\n",
+      "Epoch 422/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6831 - acc: 0.8610\n",
+      "Epoch 423/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8312 - acc: 0.8603\n",
+      "Epoch 424/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5071 - acc: 0.8642\n",
+      "Epoch 425/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4909 - acc: 0.8626\n",
+      "Epoch 426/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5219 - acc: 0.8628\n",
+      "Epoch 427/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6030 - acc: 0.8581\n",
+      "Epoch 428/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.5037 - acc: 0.8603\n",
+      "Epoch 429/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5724 - acc: 0.8631\n",
+      "Epoch 430/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.3199 - acc: 0.8589\n",
+      "Epoch 431/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6973 - acc: 0.8607\n",
+      "Epoch 432/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4230 - acc: 0.8637\n",
+      "Epoch 433/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6320 - acc: 0.8598\n",
+      "Epoch 434/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.4468 - acc: 0.8617\n",
+      "Epoch 435/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5314 - acc: 0.8596\n",
+      "Epoch 436/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5407 - acc: 0.8624\n",
+      "Epoch 437/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3290 - acc: 0.8596\n",
+      "Epoch 438/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3671 - acc: 0.8612\n",
+      "Epoch 439/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.5262 - acc: 0.8595\n",
+      "Epoch 440/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5235 - acc: 0.8628\n",
+      "Epoch 441/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3372 - acc: 0.8599\n",
+      "Epoch 442/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6141 - acc: 0.8602\n",
+      "Epoch 443/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1933 - acc: 0.8598\n",
+      "Epoch 444/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1981 - acc: 0.8581\n",
+      "Epoch 445/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5330 - acc: 0.8604\n",
+      "Epoch 446/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4022 - acc: 0.8615\n",
+      "Epoch 447/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3080 - acc: 0.8609\n",
+      "Epoch 448/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5522 - acc: 0.8627\n",
+      "Epoch 449/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2222 - acc: 0.8606\n",
+      "Epoch 450/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4060 - acc: 0.8599\n",
+      "Epoch 451/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1841 - acc: 0.8636\n",
+      "Epoch 452/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3470 - acc: 0.8628\n",
+      "Epoch 453/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5556 - acc: 0.8630\n",
+      "Epoch 454/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.1872 - acc: 0.8629\n",
+      "Epoch 455/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3864 - acc: 0.8609\n",
+      "Epoch 456/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.3573 - acc: 0.8624\n",
+      "Epoch 457/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.3507 - acc: 0.8601\n",
+      "Epoch 458/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0551 - acc: 0.8609\n",
+      "Epoch 459/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.0910 - acc: 0.8619\n",
+      "Epoch 460/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4512 - acc: 0.8640\n",
+      "Epoch 461/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2170 - acc: 0.8597\n",
+      "Epoch 462/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1255 - acc: 0.8600\n",
+      "Epoch 463/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1373 - acc: 0.8613\n",
+      "Epoch 464/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1487 - acc: 0.8605\n",
+      "Epoch 465/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8803 - acc: 0.8617\n",
+      "Epoch 466/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2945 - acc: 0.8627\n",
+      "Epoch 467/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2833 - acc: 0.8602\n",
+      "Epoch 468/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9764 - acc: 0.8647\n",
+      "Epoch 469/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.0705 - acc: 0.8613\n",
+      "Epoch 470/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1687 - acc: 0.8618\n",
+      "Epoch 471/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.2073 - acc: 0.8614\n",
+      "Epoch 472/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9857 - acc: 0.8611\n",
+      "Epoch 473/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1644 - acc: 0.8636\n",
+      "Epoch 474/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.0952 - acc: 0.8644\n",
+      "Epoch 475/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9608 - acc: 0.8618\n",
+      "Epoch 476/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9216 - acc: 0.8634\n",
+      "Epoch 477/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0697 - acc: 0.8627\n",
+      "Epoch 478/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1682 - acc: 0.8620\n",
+      "Epoch 479/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.8733 - acc: 0.8629\n",
+      "Epoch 480/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.8374 - acc: 0.8622\n",
+      "Epoch 481/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1378 - acc: 0.8645\n",
+      "Epoch 482/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8469 - acc: 0.8616\n",
+      "Epoch 483/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8519 - acc: 0.8656\n",
+      "Epoch 484/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8527 - acc: 0.8643\n",
+      "Epoch 485/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9064 - acc: 0.8616\n",
+      "Epoch 486/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9135 - acc: 0.8643\n",
+      "Epoch 487/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8811 - acc: 0.8620\n",
+      "Epoch 488/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.9447 - acc: 0.8627\n",
+      "Epoch 489/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0629 - acc: 0.8600\n",
+      "Epoch 490/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.0744 - acc: 0.8636\n",
+      "Epoch 491/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9179 - acc: 0.8631\n",
+      "Epoch 492/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7474 - acc: 0.8625\n",
+      "Epoch 493/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.6271 - acc: 0.8651\n",
+      "Epoch 494/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7935 - acc: 0.8632\n",
+      "Epoch 495/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8998 - acc: 0.8639\n",
+      "Epoch 496/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.5427 - acc: 0.8655\n",
+      "Epoch 497/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2585 - acc: 0.8629\n",
+      "Epoch 498/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.8560 - acc: 0.8652\n",
+      "Epoch 499/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.7781 - acc: 0.8646\n",
+      "Epoch 500/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.5387 - acc: 0.8629\n",
+      "20000/20000 [==============================] - 2s 81us/step\n",
+      "40000/40000 [==============================] - 3s 74us/step\n",
+      "Epoch 1/500\n",
+      " 3552/40000 [=>............................] - ETA: 1s - loss: 2724.3056 - acc: 0.0231 "
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 594.5988 - acc: 0.1182\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 210.7269 - acc: 0.3164\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 176.9876 - acc: 0.4186\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 160.7082 - acc: 0.4536\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 151.8175 - acc: 0.4736\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 143.9312 - acc: 0.4973\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 136.0235 - acc: 0.5148\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 128.2596 - acc: 0.5310\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 124.5389 - acc: 0.5445\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 121.0722 - acc: 0.5624\n",
+      "Epoch 11/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 117.0172 - acc: 0.5739\n",
+      "Epoch 12/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 113.8848 - acc: 0.5852\n",
+      "Epoch 13/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 109.3359 - acc: 0.5958\n",
+      "Epoch 14/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 106.8498 - acc: 0.6070\n",
+      "Epoch 15/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 103.2532 - acc: 0.6176\n",
+      "Epoch 16/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 100.5223 - acc: 0.6216\n",
+      "Epoch 17/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 97.7908 - acc: 0.6319\n",
+      "Epoch 18/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 93.7492 - acc: 0.6431\n",
+      "Epoch 19/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 91.3227 - acc: 0.6516\n",
+      "Epoch 20/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 88.6115 - acc: 0.6611\n",
+      "Epoch 21/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 87.8654 - acc: 0.6698\n",
+      "Epoch 22/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 86.1385 - acc: 0.6771\n",
+      "Epoch 23/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 82.9030 - acc: 0.6845\n",
+      "Epoch 24/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 81.1689 - acc: 0.6930\n",
+      "Epoch 25/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 79.8061 - acc: 0.7034\n",
+      "Epoch 26/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 78.2000 - acc: 0.7031\n",
+      "Epoch 27/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 77.5285 - acc: 0.7057\n",
+      "Epoch 28/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 74.7394 - acc: 0.7161\n",
+      "Epoch 29/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 73.7754 - acc: 0.7187\n",
+      "Epoch 30/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 72.1928 - acc: 0.7269\n",
+      "Epoch 31/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 71.8887 - acc: 0.7294\n",
+      "Epoch 32/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 70.9993 - acc: 0.7301\n",
+      "Epoch 33/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 68.4783 - acc: 0.7370\n",
+      "Epoch 34/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 68.5290 - acc: 0.7424\n",
+      "Epoch 35/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 67.5644 - acc: 0.7466\n",
+      "Epoch 36/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 67.1126 - acc: 0.7451\n",
+      "Epoch 37/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 66.0216 - acc: 0.7488\n",
+      "Epoch 38/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 65.4878 - acc: 0.7513\n",
+      "Epoch 39/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 65.3999 - acc: 0.7555\n",
+      "Epoch 40/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 62.7348 - acc: 0.7553\n",
+      "Epoch 41/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 63.6924 - acc: 0.7626\n",
+      "Epoch 42/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 62.7363 - acc: 0.7673\n",
+      "Epoch 43/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 61.6668 - acc: 0.7683\n",
+      "Epoch 44/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 60.7479 - acc: 0.7710\n",
+      "Epoch 45/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 61.0956 - acc: 0.7722\n",
+      "Epoch 46/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 60.0931 - acc: 0.7734\n",
+      "Epoch 47/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 60.1198 - acc: 0.7749\n",
+      "Epoch 48/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 59.0599 - acc: 0.7765\n",
+      "Epoch 49/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 58.6225 - acc: 0.7774\n",
+      "Epoch 50/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 57.3787 - acc: 0.7812\n",
+      "Epoch 51/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 58.9831 - acc: 0.7795\n",
+      "Epoch 52/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 57.4981 - acc: 0.7800\n",
+      "Epoch 53/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 56.8579 - acc: 0.7814\n",
+      "Epoch 54/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 56.1198 - acc: 0.7829\n",
+      "Epoch 55/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 56.2767 - acc: 0.7820\n",
+      "Epoch 56/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 55.6569 - acc: 0.7845\n",
+      "Epoch 57/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 54.8930 - acc: 0.7871\n",
+      "Epoch 58/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 55.4751 - acc: 0.7894\n",
+      "Epoch 59/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 55.0527 - acc: 0.7872\n",
+      "Epoch 60/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 53.7668 - acc: 0.7899\n",
+      "Epoch 61/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 54.0926 - acc: 0.7907\n",
+      "Epoch 62/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 53.5032 - acc: 0.7895\n",
+      "Epoch 63/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 52.8273 - acc: 0.7920\n",
+      "Epoch 64/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 53.2608 - acc: 0.7918\n",
+      "Epoch 65/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 53.4130 - acc: 0.7949\n",
+      "Epoch 66/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 52.1243 - acc: 0.7973\n",
+      "Epoch 67/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 52.1940 - acc: 0.7967\n",
+      "Epoch 68/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 52.0805 - acc: 0.7956\n",
+      "Epoch 69/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 51.6116 - acc: 0.7974\n",
+      "Epoch 70/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 51.0050 - acc: 0.7981\n",
+      "Epoch 71/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 51.7623 - acc: 0.8007\n",
+      "Epoch 72/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 51.1276 - acc: 0.8033\n",
+      "Epoch 73/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 51.1518 - acc: 0.7998\n",
+      "Epoch 74/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 50.1854 - acc: 0.7994\n",
+      "Epoch 75/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 50.1474 - acc: 0.8017\n",
+      "Epoch 76/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 50.4610 - acc: 0.8029\n",
+      "Epoch 77/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 49.9023 - acc: 0.8025\n",
+      "Epoch 78/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 49.4384 - acc: 0.8054\n",
+      "Epoch 79/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 49.3632 - acc: 0.8041\n",
+      "Epoch 80/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 47us/step - loss: 48.8558 - acc: 0.8035\n",
+      "Epoch 81/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 48.8953 - acc: 0.8047\n",
+      "Epoch 82/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 48.7415 - acc: 0.8064\n",
+      "Epoch 83/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 48.4073 - acc: 0.8076\n",
+      "Epoch 84/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 48.0752 - acc: 0.8122\n",
+      "Epoch 85/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.3217 - acc: 0.8092\n",
+      "Epoch 86/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 48.3000 - acc: 0.8124\n",
+      "Epoch 87/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.4629 - acc: 0.8128\n",
+      "Epoch 88/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.1223 - acc: 0.8125\n",
+      "Epoch 89/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.5135 - acc: 0.8107\n",
+      "Epoch 90/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 47.7397 - acc: 0.8145\n",
+      "Epoch 91/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.8516 - acc: 0.8148\n",
+      "Epoch 92/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.0468 - acc: 0.8166\n",
+      "Epoch 93/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.7929 - acc: 0.8155\n",
+      "Epoch 94/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 46.2754 - acc: 0.8145\n",
+      "Epoch 95/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.6242 - acc: 0.8151\n",
+      "Epoch 96/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.1130 - acc: 0.8163\n",
+      "Epoch 97/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.1158 - acc: 0.8179\n",
+      "Epoch 98/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 45.6412 - acc: 0.8167\n",
+      "Epoch 99/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.0764 - acc: 0.8162\n",
+      "Epoch 100/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 45.2650 - acc: 0.8162\n",
+      "Epoch 101/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 45.8071 - acc: 0.8180\n",
+      "Epoch 102/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.4861 - acc: 0.8193\n",
+      "Epoch 103/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.7051 - acc: 0.8195\n",
+      "Epoch 104/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 45.1026 - acc: 0.8206\n",
+      "Epoch 105/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.6137 - acc: 0.8208\n",
+      "Epoch 106/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.0023 - acc: 0.8173\n",
+      "Epoch 107/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.0386 - acc: 0.8235\n",
+      "Epoch 108/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.7479 - acc: 0.8214\n",
+      "Epoch 109/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.3123 - acc: 0.8205\n",
+      "Epoch 110/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.2847 - acc: 0.8211\n",
+      "Epoch 111/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.0754 - acc: 0.8228\n",
+      "Epoch 112/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.3053 - acc: 0.8203\n",
+      "Epoch 113/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.2786 - acc: 0.8256\n",
+      "Epoch 114/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.1135 - acc: 0.8241\n",
+      "Epoch 115/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.5856 - acc: 0.8227\n",
+      "Epoch 116/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.2947 - acc: 0.8283\n",
+      "Epoch 117/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.5046 - acc: 0.8230\n",
+      "Epoch 118/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.8158 - acc: 0.8256\n",
+      "Epoch 119/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.6282 - acc: 0.8262\n",
+      "Epoch 120/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.9759 - acc: 0.8253\n",
+      "Epoch 121/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.4401 - acc: 0.8246\n",
+      "Epoch 122/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.5724 - acc: 0.8281\n",
+      "Epoch 123/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.3249 - acc: 0.8262\n",
+      "Epoch 124/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 42.8782 - acc: 0.8297\n",
+      "Epoch 125/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 42.6900 - acc: 0.8278\n",
+      "Epoch 126/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.6927 - acc: 0.8258\n",
+      "Epoch 127/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 42.1922 - acc: 0.8273\n",
+      "Epoch 128/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.3849 - acc: 0.8271\n",
+      "Epoch 129/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.1801 - acc: 0.8303\n",
+      "Epoch 130/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.6091 - acc: 0.8274\n",
+      "Epoch 131/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.8048 - acc: 0.8324\n",
+      "Epoch 132/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.1946 - acc: 0.8303\n",
+      "Epoch 133/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.8792 - acc: 0.8290\n",
+      "Epoch 134/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 42.0211 - acc: 0.8310\n",
+      "Epoch 135/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.5623 - acc: 0.8328\n",
+      "Epoch 136/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.4414 - acc: 0.8292\n",
+      "Epoch 137/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.4662 - acc: 0.8283\n",
+      "Epoch 138/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.9425 - acc: 0.8311\n",
+      "Epoch 139/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.6056 - acc: 0.8316\n",
+      "Epoch 140/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.3544 - acc: 0.8311\n",
+      "Epoch 141/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.6624 - acc: 0.8299\n",
+      "Epoch 142/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 41.0569 - acc: 0.8292\n",
+      "Epoch 143/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.9349 - acc: 0.8354\n",
+      "Epoch 144/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 40.9499 - acc: 0.8318\n",
+      "Epoch 145/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.4371 - acc: 0.8329\n",
+      "Epoch 146/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.5750 - acc: 0.8357\n",
+      "Epoch 147/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.9213 - acc: 0.8329\n",
+      "Epoch 148/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.6896 - acc: 0.8336\n",
+      "Epoch 149/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 40.4221 - acc: 0.8360\n",
+      "Epoch 150/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 40.5476 - acc: 0.8318\n",
+      "Epoch 151/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 40.3872 - acc: 0.8318\n",
+      "Epoch 152/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 40.4692 - acc: 0.8358\n",
+      "Epoch 153/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 40.5258 - acc: 0.8346\n",
+      "Epoch 154/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.1145 - acc: 0.8351\n",
+      "Epoch 155/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 40.1136 - acc: 0.8319\n",
+      "Epoch 156/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.6616 - acc: 0.8353\n",
+      "Epoch 157/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.1400 - acc: 0.8336\n",
+      "Epoch 158/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.3613 - acc: 0.8347\n",
+      "Epoch 159/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.0211 - acc: 0.8322\n",
+      "Epoch 160/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.9928 - acc: 0.8386\n",
+      "Epoch 161/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.3289 - acc: 0.8344\n",
+      "Epoch 162/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.6914 - acc: 0.8342\n",
+      "Epoch 163/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.8002 - acc: 0.8348\n",
+      "Epoch 164/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.9007 - acc: 0.8322\n",
+      "Epoch 165/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.7057 - acc: 0.8348\n",
+      "Epoch 166/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.6623 - acc: 0.8364\n",
+      "Epoch 167/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.3885 - acc: 0.8377\n",
+      "Epoch 168/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.7987 - acc: 0.8370\n",
+      "Epoch 169/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.2655 - acc: 0.8366\n",
+      "Epoch 170/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.5269 - acc: 0.8361\n",
+      "Epoch 171/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.9291 - acc: 0.8388\n",
+      "Epoch 172/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.2459 - acc: 0.8390\n",
+      "Epoch 173/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.4925 - acc: 0.8389\n",
+      "Epoch 174/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.1782 - acc: 0.8357\n",
+      "Epoch 175/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.1828 - acc: 0.8370\n",
+      "Epoch 176/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.0786 - acc: 0.8359\n",
+      "Epoch 177/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.7104 - acc: 0.8381\n",
+      "Epoch 178/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.3956 - acc: 0.8364\n",
+      "Epoch 179/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.8173 - acc: 0.8371\n",
+      "Epoch 180/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.7999 - acc: 0.8379\n",
+      "Epoch 181/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 38.8547 - acc: 0.8384\n",
+      "Epoch 182/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.7043 - acc: 0.8404\n",
+      "Epoch 183/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 38.5168 - acc: 0.8388\n",
+      "Epoch 184/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.7069 - acc: 0.8408\n",
+      "Epoch 185/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 38.4940 - acc: 0.8374\n",
+      "Epoch 186/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.3075 - acc: 0.8416\n",
+      "Epoch 187/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 38.4410 - acc: 0.8420\n",
+      "Epoch 188/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.3132 - acc: 0.8401\n",
+      "Epoch 189/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.1690 - acc: 0.8382\n",
+      "Epoch 190/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.1443 - acc: 0.8406\n",
+      "Epoch 191/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.3072 - acc: 0.8398\n",
+      "Epoch 192/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0626 - acc: 0.8400\n",
+      "Epoch 193/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.9641 - acc: 0.8373\n",
+      "Epoch 194/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.2619 - acc: 0.8425\n",
+      "Epoch 195/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.8814 - acc: 0.8377\n",
+      "Epoch 196/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.0349 - acc: 0.8413\n",
+      "Epoch 197/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.6304 - acc: 0.8426\n",
+      "Epoch 198/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0728 - acc: 0.8420\n",
+      "Epoch 199/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.8398 - acc: 0.8425\n",
+      "Epoch 200/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.5841 - acc: 0.8423\n",
+      "Epoch 201/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.9911 - acc: 0.8430\n",
+      "Epoch 202/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.6126 - acc: 0.8392\n",
+      "Epoch 203/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.8460 - acc: 0.8411\n",
+      "Epoch 204/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.5608 - acc: 0.8421\n",
+      "Epoch 205/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.5338 - acc: 0.8409\n",
+      "Epoch 206/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.1362 - acc: 0.8434\n",
+      "Epoch 207/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.7026 - acc: 0.8426\n",
+      "Epoch 208/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.3322 - acc: 0.8421\n",
+      "Epoch 209/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.1507 - acc: 0.8441\n",
+      "Epoch 210/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.0461 - acc: 0.8432\n",
+      "Epoch 211/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.7325 - acc: 0.8417\n",
+      "Epoch 212/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.3242 - acc: 0.8444\n",
+      "Epoch 213/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.1419 - acc: 0.8429\n",
+      "Epoch 214/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.3427 - acc: 0.8457\n",
+      "Epoch 215/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.1638 - acc: 0.8435\n",
+      "Epoch 216/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.4145 - acc: 0.8443\n",
+      "Epoch 217/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.7039 - acc: 0.8410\n",
+      "Epoch 218/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.9638 - acc: 0.8453\n",
+      "Epoch 219/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.1285 - acc: 0.8412\n",
+      "Epoch 220/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.3013 - acc: 0.8445\n",
+      "Epoch 221/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.6662 - acc: 0.8449\n",
+      "Epoch 222/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.7632 - acc: 0.8453\n",
+      "Epoch 223/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.9934 - acc: 0.8442\n",
+      "Epoch 224/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.8664 - acc: 0.8444\n",
+      "Epoch 225/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.5970 - acc: 0.8449\n",
+      "Epoch 226/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.7745 - acc: 0.8463\n",
+      "Epoch 227/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.7798 - acc: 0.8465\n",
+      "Epoch 228/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.4134 - acc: 0.8449\n",
+      "Epoch 229/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.3565 - acc: 0.8462\n",
+      "Epoch 230/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.5093 - acc: 0.8443\n",
+      "Epoch 231/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.5558 - acc: 0.8455\n",
+      "Epoch 232/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.8037 - acc: 0.8464\n",
+      "Epoch 233/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.4417 - acc: 0.8453\n",
+      "Epoch 234/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 36.7789 - acc: 0.8453\n",
+      "Epoch 235/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.5286 - acc: 0.8460\n",
+      "Epoch 236/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.4143 - acc: 0.8476\n",
+      "Epoch 237/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.2755 - acc: 0.8452\n",
+      "Epoch 238/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.3424 - acc: 0.8461\n",
+      "Epoch 239/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.3131 - acc: 0.8465\n",
+      "Epoch 240/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 36.2082 - acc: 0.8481\n",
+      "Epoch 241/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.1117 - acc: 0.8476\n",
+      "Epoch 242/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.4614 - acc: 0.8465\n",
+      "Epoch 243/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.1048 - acc: 0.8474\n",
+      "Epoch 244/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.2639 - acc: 0.8456\n",
+      "Epoch 245/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 36.2171 - acc: 0.8476\n",
+      "Epoch 246/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.2290 - acc: 0.8483\n",
+      "Epoch 247/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 35.7958 - acc: 0.8469\n",
+      "Epoch 248/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.1659 - acc: 0.8465\n",
+      "Epoch 249/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 36.2030 - acc: 0.8465\n",
+      "Epoch 250/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.9709 - acc: 0.8506\n",
+      "Epoch 251/500\n",
+      "40000/40000 [==============================] - 2s 53us/step - loss: 35.7536 - acc: 0.8506\n",
+      "Epoch 252/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.9778 - acc: 0.8477\n",
+      "Epoch 253/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 35.6255 - acc: 0.8461\n",
+      "Epoch 254/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.7599 - acc: 0.8493\n",
+      "Epoch 255/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.6895 - acc: 0.8485\n",
+      "Epoch 256/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.5369 - acc: 0.8515\n",
+      "Epoch 257/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.6465 - acc: 0.8474\n",
+      "Epoch 258/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.6612 - acc: 0.8489\n",
+      "Epoch 259/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.5604 - acc: 0.8498\n",
+      "Epoch 260/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.7275 - acc: 0.8498\n",
+      "Epoch 261/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.7136 - acc: 0.8510\n",
+      "Epoch 262/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.5572 - acc: 0.8494\n",
+      "Epoch 263/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5396 - acc: 0.8502\n",
+      "Epoch 264/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 35.7001 - acc: 0.8490\n",
+      "Epoch 265/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.4414 - acc: 0.8493\n",
+      "Epoch 266/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.5087 - acc: 0.8503\n",
+      "Epoch 267/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.4402 - acc: 0.8505\n",
+      "Epoch 268/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.3294 - acc: 0.8486\n",
+      "Epoch 269/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3819 - acc: 0.8487\n",
+      "Epoch 270/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.4506 - acc: 0.8496\n",
+      "Epoch 271/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2192 - acc: 0.8510\n",
+      "Epoch 272/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.4022 - acc: 0.8499\n",
+      "Epoch 273/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.2854 - acc: 0.8514\n",
+      "Epoch 274/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.3403 - acc: 0.8504\n",
+      "Epoch 275/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.1459 - acc: 0.8516\n",
+      "Epoch 276/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.3073 - acc: 0.8500\n",
+      "Epoch 277/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.9943 - acc: 0.8500\n",
+      "Epoch 278/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.5097 - acc: 0.8511\n",
+      "Epoch 279/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3556 - acc: 0.8502\n",
+      "Epoch 280/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0321 - acc: 0.8509\n",
+      "Epoch 281/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.0730 - acc: 0.8528\n",
+      "Epoch 282/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0476 - acc: 0.8525\n",
+      "Epoch 283/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8965 - acc: 0.8493\n",
+      "Epoch 284/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.5337 - acc: 0.8487\n",
+      "Epoch 285/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8904 - acc: 0.8471\n",
+      "Epoch 286/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.7783 - acc: 0.8517\n",
+      "Epoch 287/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.2039 - acc: 0.8526\n",
+      "Epoch 288/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.8394 - acc: 0.8491\n",
+      "Epoch 289/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.2562 - acc: 0.8505\n",
+      "Epoch 290/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.5185 - acc: 0.8495\n",
+      "Epoch 291/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.0682 - acc: 0.8503\n",
+      "Epoch 292/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.9253 - acc: 0.8489\n",
+      "Epoch 293/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.6642 - acc: 0.8514\n",
+      "Epoch 294/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.5876 - acc: 0.8511\n",
+      "Epoch 295/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7758 - acc: 0.8491\n",
+      "Epoch 296/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.7245 - acc: 0.8529\n",
+      "Epoch 297/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7926 - acc: 0.8516\n",
+      "Epoch 298/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.8994 - acc: 0.8523\n",
+      "Epoch 299/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4904 - acc: 0.8501\n",
+      "Epoch 300/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3863 - acc: 0.8530\n",
+      "Epoch 301/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 34.6036 - acc: 0.8506\n",
+      "Epoch 302/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0398 - acc: 0.8528\n",
+      "Epoch 303/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.5449 - acc: 0.8506\n",
+      "Epoch 304/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.4074 - acc: 0.8549\n",
+      "Epoch 305/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.4889 - acc: 0.8532\n",
+      "Epoch 306/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4600 - acc: 0.8517\n",
+      "Epoch 307/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.6282 - acc: 0.8515\n",
+      "Epoch 308/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.4380 - acc: 0.8510\n",
+      "Epoch 309/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.3527 - acc: 0.8523\n",
+      "Epoch 310/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7533 - acc: 0.8503\n",
+      "Epoch 311/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.5791 - acc: 0.8530\n",
+      "Epoch 312/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2755 - acc: 0.8526\n",
+      "Epoch 313/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2472 - acc: 0.8527\n",
+      "Epoch 314/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.4606 - acc: 0.8530\n",
+      "Epoch 315/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.4256 - acc: 0.8509\n",
+      "Epoch 316/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.2354 - acc: 0.8513\n",
+      "Epoch 317/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2455 - acc: 0.8516\n",
+      "Epoch 318/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 34.2031 - acc: 0.8526\n",
+      "Epoch 319/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.2253 - acc: 0.8539\n",
+      "Epoch 320/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 34.1637 - acc: 0.8515\n",
+      "Epoch 321/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.4254 - acc: 0.8523\n",
+      "Epoch 322/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.0251 - acc: 0.8538\n",
+      "Epoch 323/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2229 - acc: 0.8536\n",
+      "Epoch 324/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 34.1966 - acc: 0.8537\n",
+      "Epoch 325/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.9054 - acc: 0.8552\n",
+      "Epoch 326/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 34.1848 - acc: 0.8554\n",
+      "Epoch 327/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9249 - acc: 0.8549\n",
+      "Epoch 328/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.8525 - acc: 0.8530\n",
+      "Epoch 329/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.1010 - acc: 0.8537\n",
+      "Epoch 330/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.0277 - acc: 0.8548\n",
+      "Epoch 331/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0867 - acc: 0.8530\n",
+      "Epoch 332/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0277 - acc: 0.8538\n",
+      "Epoch 333/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9093 - acc: 0.8545\n",
+      "Epoch 334/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.9910 - acc: 0.8545\n",
+      "Epoch 335/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.7256 - acc: 0.8543\n",
+      "Epoch 336/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.9301 - acc: 0.8534\n",
+      "Epoch 337/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.8917 - acc: 0.8537\n",
+      "Epoch 338/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.6132 - acc: 0.8553\n",
+      "Epoch 339/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7881 - acc: 0.8580\n",
+      "Epoch 340/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.0779 - acc: 0.8512\n",
+      "Epoch 341/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4918 - acc: 0.8581\n",
+      "Epoch 342/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4973 - acc: 0.8544\n",
+      "Epoch 343/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.7546 - acc: 0.8509\n",
+      "Epoch 344/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7212 - acc: 0.8559\n",
+      "Epoch 345/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.5870 - acc: 0.8559\n",
+      "Epoch 346/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.6047 - acc: 0.8536\n",
+      "Epoch 347/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.5876 - acc: 0.8565\n",
+      "Epoch 348/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7762 - acc: 0.8554\n",
+      "Epoch 349/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.6240 - acc: 0.8568\n",
+      "Epoch 350/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.4438 - acc: 0.8604\n",
+      "Epoch 351/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.6143 - acc: 0.8562\n",
+      "Epoch 352/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.6051 - acc: 0.8573\n",
+      "Epoch 353/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.5532 - acc: 0.8550\n",
+      "Epoch 354/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.2526 - acc: 0.8582\n",
+      "Epoch 355/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4035 - acc: 0.8561\n",
+      "Epoch 356/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.6496 - acc: 0.8557\n",
+      "Epoch 357/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.4866 - acc: 0.8565\n",
+      "Epoch 358/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.3529 - acc: 0.8561\n",
+      "Epoch 359/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3941 - acc: 0.8566\n",
+      "Epoch 360/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.4259 - acc: 0.8565\n",
+      "Epoch 361/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.5469 - acc: 0.8559\n",
+      "Epoch 362/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4417 - acc: 0.8568\n",
+      "Epoch 363/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.2103 - acc: 0.8584\n",
+      "Epoch 364/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.0993 - acc: 0.8554\n",
+      "Epoch 365/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.6282 - acc: 0.8577\n",
+      "Epoch 366/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.3037 - acc: 0.8548\n",
+      "Epoch 367/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3922 - acc: 0.8591\n",
+      "Epoch 368/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.2187 - acc: 0.8590\n",
+      "Epoch 369/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4939 - acc: 0.8564\n",
+      "Epoch 370/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4657 - acc: 0.8566\n",
+      "Epoch 371/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1797 - acc: 0.8571\n",
+      "Epoch 372/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.2555 - acc: 0.8577\n",
+      "Epoch 373/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1045 - acc: 0.8560\n",
+      "Epoch 374/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0279 - acc: 0.8565\n",
+      "Epoch 375/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1251 - acc: 0.8580\n",
+      "Epoch 376/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.2471 - acc: 0.8564\n",
+      "Epoch 377/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1091 - acc: 0.8550\n",
+      "Epoch 378/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8183 - acc: 0.8567\n",
+      "Epoch 379/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.1379 - acc: 0.8565\n",
+      "Epoch 380/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1409 - acc: 0.8574\n",
+      "Epoch 381/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.1768 - acc: 0.8554\n",
+      "Epoch 382/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8286 - acc: 0.8558\n",
+      "Epoch 383/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.2193 - acc: 0.8549\n",
+      "Epoch 384/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8628 - acc: 0.8578\n",
+      "Epoch 385/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.0944 - acc: 0.8597\n",
+      "Epoch 386/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0804 - acc: 0.8581\n",
+      "Epoch 387/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1122 - acc: 0.8598\n",
+      "Epoch 388/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.0036 - acc: 0.8573\n",
+      "Epoch 389/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.3397 - acc: 0.8575\n",
+      "Epoch 390/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.9974 - acc: 0.8596\n",
+      "Epoch 391/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7419 - acc: 0.8567\n",
+      "Epoch 392/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.0617 - acc: 0.8563\n",
+      "Epoch 393/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.0328 - acc: 0.8571\n",
+      "Epoch 394/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.0267 - acc: 0.8581\n",
+      "Epoch 395/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.7927 - acc: 0.8591\n",
+      "Epoch 396/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7959 - acc: 0.8582\n",
+      "Epoch 397/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0628 - acc: 0.8574\n",
+      "Epoch 398/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7258 - acc: 0.8595\n",
+      "Epoch 399/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8445 - acc: 0.8559\n",
+      "Epoch 400/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7458 - acc: 0.8607\n",
+      "Epoch 401/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9454 - acc: 0.8554\n",
+      "Epoch 402/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.0019 - acc: 0.8588\n",
+      "Epoch 403/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.8312 - acc: 0.8565\n",
+      "Epoch 404/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8650 - acc: 0.8549\n",
+      "Epoch 405/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8272 - acc: 0.8561\n",
+      "Epoch 406/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.8297 - acc: 0.8610\n",
+      "Epoch 407/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7549 - acc: 0.8589\n",
+      "Epoch 408/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.7370 - acc: 0.8561\n",
+      "Epoch 409/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8417 - acc: 0.8599\n",
+      "Epoch 410/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0115 - acc: 0.8593\n",
+      "Epoch 411/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8695 - acc: 0.8580\n",
+      "Epoch 412/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.6640 - acc: 0.8584\n",
+      "Epoch 413/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8145 - acc: 0.8577\n",
+      "Epoch 414/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.7841 - acc: 0.8592\n",
+      "Epoch 415/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8503 - acc: 0.8575\n",
+      "Epoch 416/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4899 - acc: 0.8581\n",
+      "Epoch 417/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7181 - acc: 0.8601\n",
+      "Epoch 418/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.7017 - acc: 0.8613\n",
+      "Epoch 419/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7556 - acc: 0.8598\n",
+      "Epoch 420/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6970 - acc: 0.8571\n",
+      "Epoch 421/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5142 - acc: 0.8573\n",
+      "Epoch 422/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 32.5890 - acc: 0.8579\n",
+      "Epoch 423/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6450 - acc: 0.8574\n",
+      "Epoch 424/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.9814 - acc: 0.8598\n",
+      "Epoch 425/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6551 - acc: 0.8595\n",
+      "Epoch 426/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.5241 - acc: 0.8573\n",
+      "Epoch 427/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5796 - acc: 0.8589\n",
+      "Epoch 428/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4539 - acc: 0.8593\n",
+      "Epoch 429/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6376 - acc: 0.8551\n",
+      "Epoch 430/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.3242 - acc: 0.8598\n",
+      "Epoch 431/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.4673 - acc: 0.8594\n",
+      "Epoch 432/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.7468 - acc: 0.8575\n",
+      "Epoch 433/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5066 - acc: 0.8581\n",
+      "Epoch 434/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3710 - acc: 0.8602\n",
+      "Epoch 435/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3091 - acc: 0.8583\n",
+      "Epoch 436/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.7191 - acc: 0.8585\n",
+      "Epoch 437/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5324 - acc: 0.8581\n",
+      "Epoch 438/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4187 - acc: 0.8616\n",
+      "Epoch 439/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2494 - acc: 0.8615\n",
+      "Epoch 440/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3628 - acc: 0.8615\n",
+      "Epoch 441/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3497 - acc: 0.8574\n",
+      "Epoch 442/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2314 - acc: 0.8606\n",
+      "Epoch 443/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5818 - acc: 0.8585\n",
+      "Epoch 444/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4706 - acc: 0.8590\n",
+      "Epoch 445/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.4104 - acc: 0.8582\n",
+      "Epoch 446/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.4021 - acc: 0.8589\n",
+      "Epoch 447/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.2755 - acc: 0.8601\n",
+      "Epoch 448/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2092 - acc: 0.8610\n",
+      "Epoch 449/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3321 - acc: 0.8588\n",
+      "Epoch 450/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3128 - acc: 0.8581\n",
+      "Epoch 451/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1995 - acc: 0.8585\n",
+      "Epoch 452/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1652 - acc: 0.8578\n",
+      "Epoch 453/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.9584 - acc: 0.8579\n",
+      "Epoch 454/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4895 - acc: 0.8575\n",
+      "Epoch 455/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3060 - acc: 0.8570\n",
+      "Epoch 456/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2588 - acc: 0.8582\n",
+      "Epoch 457/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3193 - acc: 0.8613\n",
+      "Epoch 458/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2506 - acc: 0.8592\n",
+      "Epoch 459/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3835 - acc: 0.8571\n",
+      "Epoch 460/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.2605 - acc: 0.8591\n",
+      "Epoch 461/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.9921 - acc: 0.8611\n",
+      "Epoch 462/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.1098 - acc: 0.8566\n",
+      "Epoch 463/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6083 - acc: 0.8595\n",
+      "Epoch 464/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2718 - acc: 0.8580\n",
+      "Epoch 465/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2841 - acc: 0.8616\n",
+      "Epoch 466/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9923 - acc: 0.8565\n",
+      "Epoch 467/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2637 - acc: 0.8578\n",
+      "Epoch 468/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3507 - acc: 0.8598\n",
+      "Epoch 469/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2531 - acc: 0.8588\n",
+      "Epoch 470/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.2679 - acc: 0.8592\n",
+      "Epoch 471/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3449 - acc: 0.8582\n",
+      "Epoch 472/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 31.8675 - acc: 0.8605\n",
+      "Epoch 473/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3525 - acc: 0.8578\n",
+      "Epoch 474/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1721 - acc: 0.8587\n",
+      "Epoch 475/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.8934 - acc: 0.8609\n",
+      "Epoch 476/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1593 - acc: 0.8609\n",
+      "Epoch 477/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1516 - acc: 0.8594\n",
+      "Epoch 478/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3096 - acc: 0.8620\n",
+      "Epoch 479/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.0109 - acc: 0.8616\n",
+      "Epoch 480/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0089 - acc: 0.8604\n",
+      "Epoch 481/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1031 - acc: 0.8601\n",
+      "Epoch 482/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.8532 - acc: 0.8585\n",
+      "Epoch 483/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2536 - acc: 0.8581\n",
+      "Epoch 484/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1806 - acc: 0.8618\n",
+      "Epoch 485/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9853 - acc: 0.8611\n",
+      "Epoch 486/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.7502 - acc: 0.8603\n",
+      "Epoch 487/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8672 - acc: 0.8606\n",
+      "Epoch 488/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8502 - acc: 0.8617\n",
+      "Epoch 489/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.2163 - acc: 0.8594\n",
+      "Epoch 490/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9042 - acc: 0.8616\n",
+      "Epoch 491/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.9311 - acc: 0.8620\n",
+      "Epoch 492/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8008 - acc: 0.8630\n",
+      "Epoch 493/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.7929 - acc: 0.8586\n",
+      "Epoch 494/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.0858 - acc: 0.8604\n",
+      "Epoch 495/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1058 - acc: 0.8614\n",
+      "Epoch 496/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.8797 - acc: 0.8611\n",
+      "Epoch 497/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.7914 - acc: 0.8629\n",
+      "Epoch 498/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7114 - acc: 0.8591\n",
+      "Epoch 499/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9444 - acc: 0.8604\n",
+      "Epoch 500/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9821 - acc: 0.8601\n",
+      "20000/20000 [==============================] - 2s 83us/step\n",
+      "40000/40000 [==============================] - 3s 80us/step\n",
+      "Epoch 1/500\n",
+      " 3744/40000 [=>............................] - ETA: 1s - loss: 2621.4529 - acc: 0.0251 "
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 588.8658 - acc: 0.1154\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 203.4858 - acc: 0.3019\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 174.0226 - acc: 0.4032\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 161.1278 - acc: 0.4431\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 149.8284 - acc: 0.4725\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 143.6321 - acc: 0.4945\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 136.7659 - acc: 0.5139\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 132.1474 - acc: 0.5289\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 124.7644 - acc: 0.5490\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 120.9537 - acc: 0.5574\n",
+      "Epoch 11/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 118.9797 - acc: 0.5694\n",
+      "Epoch 12/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 113.2055 - acc: 0.5810\n",
+      "Epoch 13/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 110.4923 - acc: 0.5900\n",
+      "Epoch 14/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 107.1065 - acc: 0.5931\n",
+      "Epoch 15/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 104.7241 - acc: 0.6012\n",
+      "Epoch 16/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 100.2634 - acc: 0.6155\n",
+      "Epoch 17/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 97.9508 - acc: 0.6235\n",
+      "Epoch 18/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 95.4388 - acc: 0.6381\n",
+      "Epoch 19/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 92.5489 - acc: 0.6372\n",
+      "Epoch 20/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 90.8469 - acc: 0.6485\n",
+      "Epoch 21/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 88.3216 - acc: 0.6571\n",
+      "Epoch 22/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 85.9476 - acc: 0.6689\n",
+      "Epoch 23/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 85.2148 - acc: 0.6764\n",
+      "Epoch 24/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 82.5575 - acc: 0.6842\n",
+      "Epoch 25/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 82.1550 - acc: 0.6904\n",
+      "Epoch 26/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 78.4352 - acc: 0.6985\n",
+      "Epoch 27/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 78.5177 - acc: 0.7011\n",
+      "Epoch 28/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 76.5535 - acc: 0.7025\n",
+      "Epoch 29/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 75.1936 - acc: 0.7035\n",
+      "Epoch 30/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 74.8690 - acc: 0.7077\n",
+      "Epoch 31/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 72.2341 - acc: 0.7150\n",
+      "Epoch 32/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 71.6111 - acc: 0.7133\n",
+      "Epoch 33/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 71.4676 - acc: 0.7216\n",
+      "Epoch 34/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 69.7980 - acc: 0.7245\n",
+      "Epoch 35/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 70.6949 - acc: 0.7271\n",
+      "Epoch 36/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 67.3760 - acc: 0.7369\n",
+      "Epoch 37/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 66.9149 - acc: 0.7354\n",
+      "Epoch 38/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 67.6450 - acc: 0.7376\n",
+      "Epoch 39/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 64.9091 - acc: 0.7459\n",
+      "Epoch 40/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 64.8356 - acc: 0.7489\n",
+      "Epoch 41/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 64.9059 - acc: 0.7483\n",
+      "Epoch 42/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 63.9601 - acc: 0.7512\n",
+      "Epoch 43/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 63.1764 - acc: 0.7560\n",
+      "Epoch 44/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 62.7393 - acc: 0.7622\n",
+      "Epoch 45/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 62.5321 - acc: 0.7602\n",
+      "Epoch 46/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 60.9438 - acc: 0.7642\n",
+      "Epoch 47/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 60.4380 - acc: 0.7601\n",
+      "Epoch 48/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 60.8607 - acc: 0.7676\n",
+      "Epoch 49/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 59.7169 - acc: 0.7719\n",
+      "Epoch 50/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 59.2621 - acc: 0.7712\n",
+      "Epoch 51/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 58.6163 - acc: 0.7734\n",
+      "Epoch 52/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 58.5695 - acc: 0.7775\n",
+      "Epoch 53/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 57.5850 - acc: 0.7772\n",
+      "Epoch 54/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 56.6032 - acc: 0.7842\n",
+      "Epoch 55/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 55.9900 - acc: 0.7789\n",
+      "Epoch 56/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 56.5208 - acc: 0.7805\n",
+      "Epoch 57/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 55.6095 - acc: 0.7846\n",
+      "Epoch 58/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 55.0787 - acc: 0.7861\n",
+      "Epoch 59/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 55.1986 - acc: 0.7850\n",
+      "Epoch 60/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 54.5849 - acc: 0.7901\n",
+      "Epoch 61/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 54.4857 - acc: 0.7905\n",
+      "Epoch 62/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 54.8162 - acc: 0.7913\n",
+      "Epoch 63/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 53.7658 - acc: 0.7929\n",
+      "Epoch 64/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 53.2096 - acc: 0.7922\n",
+      "Epoch 65/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 53.2461 - acc: 0.7978\n",
+      "Epoch 66/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 52.1882 - acc: 0.7929\n",
+      "Epoch 67/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 53.3847 - acc: 0.7950\n",
+      "Epoch 68/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 52.8582 - acc: 0.7972\n",
+      "Epoch 69/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 52.2177 - acc: 0.7943\n",
+      "Epoch 70/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 51.7858 - acc: 0.8003\n",
+      "Epoch 71/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 51.1359 - acc: 0.7978\n",
+      "Epoch 72/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 51.7785 - acc: 0.7996\n",
+      "Epoch 73/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 51.5171 - acc: 0.8012\n",
+      "Epoch 74/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 50.9516 - acc: 0.8018\n",
+      "Epoch 75/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 50.3260 - acc: 0.8034\n",
+      "Epoch 76/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 50.7171 - acc: 0.8036\n",
+      "Epoch 77/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 49.9722 - acc: 0.8072\n",
+      "Epoch 78/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 50.3502 - acc: 0.8076\n",
+      "Epoch 79/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 49.7196 - acc: 0.8057\n",
+      "Epoch 80/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 49.8539 - acc: 0.8057\n",
+      "Epoch 81/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 49.5234 - acc: 0.8080\n",
+      "Epoch 82/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 49.5909 - acc: 0.8080\n",
+      "Epoch 83/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 48.8561 - acc: 0.8120\n",
+      "Epoch 84/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 49.5604 - acc: 0.8073\n",
+      "Epoch 85/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 48.3262 - acc: 0.8110\n",
+      "Epoch 86/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 48.2899 - acc: 0.8104\n",
+      "Epoch 87/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 48.8205 - acc: 0.8095\n",
+      "Epoch 88/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 48.0657 - acc: 0.8098\n",
+      "Epoch 89/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 48.2540 - acc: 0.8098\n",
+      "Epoch 90/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 47.9184 - acc: 0.8138\n",
+      "Epoch 91/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.7801 - acc: 0.8088\n",
+      "Epoch 92/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 47.4413 - acc: 0.8146\n",
+      "Epoch 93/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.3379 - acc: 0.8129\n",
+      "Epoch 94/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.4031 - acc: 0.8148\n",
+      "Epoch 95/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.4484 - acc: 0.8151\n",
+      "Epoch 96/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 46.8258 - acc: 0.8155\n",
+      "Epoch 97/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.5312 - acc: 0.8165\n",
+      "Epoch 98/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.7002 - acc: 0.8125\n",
+      "Epoch 99/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 46.1547 - acc: 0.8178\n",
+      "Epoch 100/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.7248 - acc: 0.8179\n",
+      "Epoch 101/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 45.4675 - acc: 0.8218\n",
+      "Epoch 102/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 46.3107 - acc: 0.8150\n",
+      "Epoch 103/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.4001 - acc: 0.8195\n",
+      "Epoch 104/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 45.4591 - acc: 0.8197\n",
+      "Epoch 105/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 45.6765 - acc: 0.8198\n",
+      "Epoch 106/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.5938 - acc: 0.8161\n",
+      "Epoch 107/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 45.4132 - acc: 0.8204\n",
+      "Epoch 108/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 45.4437 - acc: 0.8216\n",
+      "Epoch 109/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 45.1431 - acc: 0.8175\n",
+      "Epoch 110/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 45.4411 - acc: 0.8190\n",
+      "Epoch 111/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 44.6594 - acc: 0.8223\n",
+      "Epoch 112/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 45.1438 - acc: 0.8211\n",
+      "Epoch 113/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.5926 - acc: 0.8232\n",
+      "Epoch 114/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.7890 - acc: 0.8185\n",
+      "Epoch 115/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 44.5164 - acc: 0.8206\n",
+      "Epoch 116/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.6196 - acc: 0.8170\n",
+      "Epoch 117/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.1324 - acc: 0.8227\n",
+      "Epoch 118/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 44.9549 - acc: 0.8258\n",
+      "Epoch 119/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.6966 - acc: 0.8225\n",
+      "Epoch 120/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.1469 - acc: 0.8175\n",
+      "Epoch 121/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.2765 - acc: 0.8233\n",
+      "Epoch 122/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 43.9092 - acc: 0.8214\n",
+      "Epoch 123/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.8261 - acc: 0.8203\n",
+      "Epoch 124/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 43.6542 - acc: 0.8226\n",
+      "Epoch 125/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.7106 - acc: 0.8215\n",
+      "Epoch 126/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 43.2646 - acc: 0.8224\n",
+      "Epoch 127/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.1890 - acc: 0.8218\n",
+      "Epoch 128/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.0448 - acc: 0.8228\n",
+      "Epoch 129/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.1040 - acc: 0.8263\n",
+      "Epoch 130/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.5088 - acc: 0.8227\n",
+      "Epoch 131/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.6069 - acc: 0.8249\n",
+      "Epoch 132/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 43.1159 - acc: 0.8269\n",
+      "Epoch 133/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 42.5578 - acc: 0.8230\n",
+      "Epoch 134/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.8993 - acc: 0.8266\n",
+      "Epoch 135/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 42.2990 - acc: 0.8270\n",
+      "Epoch 136/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.8573 - acc: 0.8280\n",
+      "Epoch 137/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 42.3296 - acc: 0.8258\n",
+      "Epoch 138/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.3963 - acc: 0.8273\n",
+      "Epoch 139/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.4159 - acc: 0.8259\n",
+      "Epoch 140/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 42.2868 - acc: 0.8258\n",
+      "Epoch 141/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.1557 - acc: 0.8275\n",
+      "Epoch 142/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.2455 - acc: 0.8227\n",
+      "Epoch 143/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.0421 - acc: 0.8260\n",
+      "Epoch 144/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.7421 - acc: 0.8296\n",
+      "Epoch 145/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.2100 - acc: 0.8265\n",
+      "Epoch 146/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.9075 - acc: 0.8256\n",
+      "Epoch 147/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.3699 - acc: 0.8249\n",
+      "Epoch 148/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 41.8030 - acc: 0.8289\n",
+      "Epoch 149/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.6497 - acc: 0.8274\n",
+      "Epoch 150/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.1923 - acc: 0.8286\n",
+      "Epoch 151/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.5756 - acc: 0.8277\n",
+      "Epoch 152/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.1644 - acc: 0.8308\n",
+      "Epoch 153/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.1453 - acc: 0.8310\n",
+      "Epoch 154/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.1409 - acc: 0.8277\n",
+      "Epoch 155/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.1125 - acc: 0.8286\n",
+      "Epoch 156/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.7460 - acc: 0.8285\n",
+      "Epoch 157/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.9754 - acc: 0.8311\n",
+      "Epoch 158/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 40.6522 - acc: 0.8295\n",
+      "Epoch 159/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.8312 - acc: 0.8297\n",
+      "Epoch 160/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.5729 - acc: 0.8306\n",
+      "Epoch 161/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.5510 - acc: 0.8276\n",
+      "Epoch 162/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.5231 - acc: 0.8313\n",
+      "Epoch 163/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.5669 - acc: 0.8298\n",
+      "Epoch 164/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.6537 - acc: 0.8325\n",
+      "Epoch 165/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 40.8943 - acc: 0.8300\n",
+      "Epoch 166/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.3354 - acc: 0.8290\n",
+      "Epoch 167/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.3412 - acc: 0.8334\n",
+      "Epoch 168/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.1633 - acc: 0.8302\n",
+      "Epoch 169/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.0277 - acc: 0.8325\n",
+      "Epoch 170/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.4260 - acc: 0.8342\n",
+      "Epoch 171/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.0598 - acc: 0.8334\n",
+      "Epoch 172/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.0372 - acc: 0.8298\n",
+      "Epoch 173/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.1651 - acc: 0.8325\n",
+      "Epoch 174/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.1384 - acc: 0.8349\n",
+      "Epoch 175/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.1762 - acc: 0.8333\n",
+      "Epoch 176/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.5105 - acc: 0.8345\n",
+      "Epoch 177/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.4266 - acc: 0.8335\n",
+      "Epoch 178/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.1285 - acc: 0.8317\n",
+      "Epoch 179/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.8273 - acc: 0.8350\n",
+      "Epoch 180/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.5627 - acc: 0.8328\n",
+      "Epoch 181/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.5654 - acc: 0.8333\n",
+      "Epoch 182/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.4515 - acc: 0.8338\n",
+      "Epoch 183/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.6440 - acc: 0.8347\n",
+      "Epoch 184/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.6765 - acc: 0.8368\n",
+      "Epoch 185/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.0063 - acc: 0.8347\n",
+      "Epoch 186/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.0695 - acc: 0.8327\n",
+      "Epoch 187/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.3112 - acc: 0.8352\n",
+      "Epoch 188/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.2676 - acc: 0.8366\n",
+      "Epoch 189/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.0352 - acc: 0.8374\n",
+      "Epoch 190/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.1960 - acc: 0.8363\n",
+      "Epoch 191/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.8500 - acc: 0.8386\n",
+      "Epoch 192/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.6317 - acc: 0.8344\n",
+      "Epoch 193/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.8662 - acc: 0.8359\n",
+      "Epoch 194/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.9666 - acc: 0.8357\n",
+      "Epoch 195/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.6274 - acc: 0.8350\n",
+      "Epoch 196/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.6307 - acc: 0.8367\n",
+      "Epoch 197/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 38.7144 - acc: 0.8398\n",
+      "Epoch 198/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.8953 - acc: 0.8353\n",
+      "Epoch 199/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 38.3187 - acc: 0.8369\n",
+      "Epoch 200/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.7213 - acc: 0.8388\n",
+      "Epoch 201/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.4621 - acc: 0.8378\n",
+      "Epoch 202/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.8423 - acc: 0.8352\n",
+      "Epoch 203/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.9596 - acc: 0.8386\n",
+      "Epoch 204/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.8170 - acc: 0.8348\n",
+      "Epoch 205/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.4006 - acc: 0.8384\n",
+      "Epoch 206/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.7022 - acc: 0.8401\n",
+      "Epoch 207/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.3828 - acc: 0.8409\n",
+      "Epoch 208/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.9885 - acc: 0.8420\n",
+      "Epoch 209/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.0352 - acc: 0.8433\n",
+      "Epoch 210/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.4270 - acc: 0.8396\n",
+      "Epoch 211/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.0214 - acc: 0.8393\n",
+      "Epoch 212/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.5226 - acc: 0.8408\n",
+      "Epoch 213/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.0833 - acc: 0.8395\n",
+      "Epoch 214/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0503 - acc: 0.8415\n",
+      "Epoch 215/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.7658 - acc: 0.8393\n",
+      "Epoch 216/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.2904 - acc: 0.8372\n",
+      "Epoch 217/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.9402 - acc: 0.8379\n",
+      "Epoch 218/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.3101 - acc: 0.8421\n",
+      "Epoch 219/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.4042 - acc: 0.8429\n",
+      "Epoch 220/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.7200 - acc: 0.8411\n",
+      "Epoch 221/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.6559 - acc: 0.8429\n",
+      "Epoch 222/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.3084 - acc: 0.8409\n",
+      "Epoch 223/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.4220 - acc: 0.8428\n",
+      "Epoch 224/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.5889 - acc: 0.8404\n",
+      "Epoch 225/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.8004 - acc: 0.8426\n",
+      "Epoch 226/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.6371 - acc: 0.8420\n",
+      "Epoch 227/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.3944 - acc: 0.8455\n",
+      "Epoch 228/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.3935 - acc: 0.8435\n",
+      "Epoch 229/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.3340 - acc: 0.8446\n",
+      "Epoch 230/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 37.6964 - acc: 0.8390\n",
+      "Epoch 231/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.9325 - acc: 0.8403\n",
+      "Epoch 232/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.7491 - acc: 0.8459\n",
+      "Epoch 233/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.1993 - acc: 0.8447\n",
+      "Epoch 234/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 37.1661 - acc: 0.8437\n",
+      "Epoch 235/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.1208 - acc: 0.8444\n",
+      "Epoch 236/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 36.9878 - acc: 0.8457\n",
+      "Epoch 237/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 48us/step - loss: 37.1885 - acc: 0.8439\n",
+      "Epoch 238/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.7015 - acc: 0.8450\n",
+      "Epoch 239/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.1984 - acc: 0.8414\n",
+      "Epoch 240/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.3402 - acc: 0.8423\n",
+      "Epoch 241/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.0124 - acc: 0.8449\n",
+      "Epoch 242/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.9919 - acc: 0.8440\n",
+      "Epoch 243/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.0495 - acc: 0.8456\n",
+      "Epoch 244/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.1710 - acc: 0.8472\n",
+      "Epoch 245/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.8507 - acc: 0.8454\n",
+      "Epoch 246/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.8599 - acc: 0.8460\n",
+      "Epoch 247/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.9328 - acc: 0.8434\n",
+      "Epoch 248/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.6466 - acc: 0.8455\n",
+      "Epoch 249/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.7952 - acc: 0.8447\n",
+      "Epoch 250/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.0055 - acc: 0.8446\n",
+      "Epoch 251/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.6395 - acc: 0.8465\n",
+      "Epoch 252/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.6790 - acc: 0.8425\n",
+      "Epoch 253/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.4362 - acc: 0.8462\n",
+      "Epoch 254/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.4955 - acc: 0.8465\n",
+      "Epoch 255/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.5685 - acc: 0.8457\n",
+      "Epoch 256/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.5648 - acc: 0.8430\n",
+      "Epoch 257/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.8170 - acc: 0.8459\n",
+      "Epoch 258/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.7162 - acc: 0.8486\n",
+      "Epoch 259/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.4981 - acc: 0.8452\n",
+      "Epoch 260/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.4571 - acc: 0.8480\n",
+      "Epoch 261/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.4641 - acc: 0.8474\n",
+      "Epoch 262/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.2767 - acc: 0.8475\n",
+      "Epoch 263/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.2695 - acc: 0.8473\n",
+      "Epoch 264/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.3212 - acc: 0.8459\n",
+      "Epoch 265/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.4980 - acc: 0.8476\n",
+      "Epoch 266/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.1860 - acc: 0.8497\n",
+      "Epoch 267/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.1709 - acc: 0.8465\n",
+      "Epoch 268/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.2756 - acc: 0.8478\n",
+      "Epoch 269/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.1916 - acc: 0.8492\n",
+      "Epoch 270/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.4894 - acc: 0.8486\n",
+      "Epoch 271/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.8904 - acc: 0.8514\n",
+      "Epoch 272/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.0035 - acc: 0.8495\n",
+      "Epoch 273/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.1981 - acc: 0.8497\n",
+      "Epoch 274/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.2984 - acc: 0.8472\n",
+      "Epoch 275/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.0722 - acc: 0.8490\n",
+      "Epoch 276/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.9343 - acc: 0.8477\n",
+      "Epoch 277/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.9507 - acc: 0.8456\n",
+      "Epoch 278/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.0170 - acc: 0.8464\n",
+      "Epoch 279/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.9851 - acc: 0.8500\n",
+      "Epoch 280/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.8459 - acc: 0.8457\n",
+      "Epoch 281/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.8945 - acc: 0.8501\n",
+      "Epoch 282/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.8891 - acc: 0.8492\n",
+      "Epoch 283/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.9046 - acc: 0.8520\n",
+      "Epoch 284/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.9685 - acc: 0.8490\n",
+      "Epoch 285/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.8938 - acc: 0.8486\n",
+      "Epoch 286/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.6089 - acc: 0.8506\n",
+      "Epoch 287/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.7086 - acc: 0.8485\n",
+      "Epoch 288/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.8699 - acc: 0.8514\n",
+      "Epoch 289/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.4075 - acc: 0.8502\n",
+      "Epoch 290/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5715 - acc: 0.8492\n",
+      "Epoch 291/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.8676 - acc: 0.8511\n",
+      "Epoch 292/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.4830 - acc: 0.8509\n",
+      "Epoch 293/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.5406 - acc: 0.8496\n",
+      "Epoch 294/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.6042 - acc: 0.8526\n",
+      "Epoch 295/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.1951 - acc: 0.8505\n",
+      "Epoch 296/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.8060 - acc: 0.8498\n",
+      "Epoch 297/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5604 - acc: 0.8532\n",
+      "Epoch 298/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.4528 - acc: 0.8499\n",
+      "Epoch 299/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.1392 - acc: 0.8524\n",
+      "Epoch 300/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.3612 - acc: 0.8516\n",
+      "Epoch 301/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.4913 - acc: 0.8534\n",
+      "Epoch 302/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.6547 - acc: 0.8534\n",
+      "Epoch 303/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2799 - acc: 0.8528\n",
+      "Epoch 304/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3713 - acc: 0.8508\n",
+      "Epoch 305/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2750 - acc: 0.8515\n",
+      "Epoch 306/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1871 - acc: 0.8530\n",
+      "Epoch 307/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.6187 - acc: 0.8506\n",
+      "Epoch 308/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.2459 - acc: 0.8542\n",
+      "Epoch 309/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2335 - acc: 0.8501\n",
+      "Epoch 310/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8740 - acc: 0.8544\n",
+      "Epoch 311/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.3997 - acc: 0.8534\n",
+      "Epoch 312/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2965 - acc: 0.8530\n",
+      "Epoch 313/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9149 - acc: 0.8553\n",
+      "Epoch 314/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.2508 - acc: 0.8544\n",
+      "Epoch 315/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8655 - acc: 0.8528\n",
+      "Epoch 316/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.3882 - acc: 0.8507\n",
+      "Epoch 317/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.8897 - acc: 0.8557\n",
+      "Epoch 318/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.3693 - acc: 0.8539\n",
+      "Epoch 319/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.9582 - acc: 0.8521\n",
+      "Epoch 320/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.8503 - acc: 0.8555\n",
+      "Epoch 321/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9519 - acc: 0.8538\n",
+      "Epoch 322/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.0399 - acc: 0.8518\n",
+      "Epoch 323/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.8642 - acc: 0.8554\n",
+      "Epoch 324/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.6945 - acc: 0.8549\n",
+      "Epoch 325/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.0993 - acc: 0.8528\n",
+      "Epoch 326/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.5190 - acc: 0.8556\n",
+      "Epoch 327/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.7213 - acc: 0.8537\n",
+      "Epoch 328/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.6952 - acc: 0.8534\n",
+      "Epoch 329/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.7658 - acc: 0.8575\n",
+      "Epoch 330/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.6761 - acc: 0.8557\n",
+      "Epoch 331/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.4081 - acc: 0.8562\n",
+      "Epoch 332/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.7682 - acc: 0.8574\n",
+      "Epoch 333/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7714 - acc: 0.8551\n",
+      "Epoch 334/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.6430 - acc: 0.8512\n",
+      "Epoch 335/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.4055 - acc: 0.8574\n",
+      "Epoch 336/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.7686 - acc: 0.8578\n",
+      "Epoch 337/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.2462 - acc: 0.8555\n",
+      "Epoch 338/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.5382 - acc: 0.8568\n",
+      "Epoch 339/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.6191 - acc: 0.8560\n",
+      "Epoch 340/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.6160 - acc: 0.8528\n",
+      "Epoch 341/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.6926 - acc: 0.8551\n",
+      "Epoch 342/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.4977 - acc: 0.8541\n",
+      "Epoch 343/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.4908 - acc: 0.8546\n",
+      "Epoch 344/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.0803 - acc: 0.8564\n",
+      "Epoch 345/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.4649 - acc: 0.8566\n",
+      "Epoch 346/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.4167 - acc: 0.8548\n",
+      "Epoch 347/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.5870 - acc: 0.8579\n",
+      "Epoch 348/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4901 - acc: 0.8548\n",
+      "Epoch 349/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.1480 - acc: 0.8528\n",
+      "Epoch 350/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.1222 - acc: 0.8562\n",
+      "Epoch 351/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.3420 - acc: 0.8554\n",
+      "Epoch 352/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.0617 - acc: 0.8573\n",
+      "Epoch 353/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.1688 - acc: 0.8559\n",
+      "Epoch 354/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2800 - acc: 0.8578\n",
+      "Epoch 355/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3491 - acc: 0.8555\n",
+      "Epoch 356/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9274 - acc: 0.8558\n",
+      "Epoch 357/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.8588 - acc: 0.8592\n",
+      "Epoch 358/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8937 - acc: 0.8548\n",
+      "Epoch 359/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.9799 - acc: 0.8606\n",
+      "Epoch 360/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.1945 - acc: 0.8570\n",
+      "Epoch 361/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.1400 - acc: 0.8576\n",
+      "Epoch 362/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.9725 - acc: 0.8570\n",
+      "Epoch 363/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2136 - acc: 0.8563\n",
+      "Epoch 364/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.9940 - acc: 0.8576\n",
+      "Epoch 365/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.0749 - acc: 0.8576\n",
+      "Epoch 366/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.1589 - acc: 0.8578\n",
+      "Epoch 367/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.8623 - acc: 0.8557\n",
+      "Epoch 368/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9081 - acc: 0.8604\n",
+      "Epoch 369/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8715 - acc: 0.8567\n",
+      "Epoch 370/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.7878 - acc: 0.8596\n",
+      "Epoch 371/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.9301 - acc: 0.8567\n",
+      "Epoch 372/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.7145 - acc: 0.8594\n",
+      "Epoch 373/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.7011 - acc: 0.8536\n",
+      "Epoch 374/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.8636 - acc: 0.8583\n",
+      "Epoch 375/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.7531 - acc: 0.8592\n",
+      "Epoch 376/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.8305 - acc: 0.8619\n",
+      "Epoch 377/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.6898 - acc: 0.8603\n",
+      "Epoch 378/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.7336 - acc: 0.8584\n",
+      "Epoch 379/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.5299 - acc: 0.8573\n",
+      "Epoch 380/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.5594 - acc: 0.8586\n",
+      "Epoch 381/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.6711 - acc: 0.8572\n",
+      "Epoch 382/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.3719 - acc: 0.8608\n",
+      "Epoch 383/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.5621 - acc: 0.8576\n",
+      "Epoch 384/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.5789 - acc: 0.8594\n",
+      "Epoch 385/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.5652 - acc: 0.8574\n",
+      "Epoch 386/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.3578 - acc: 0.8590\n",
+      "Epoch 387/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.4317 - acc: 0.8588\n",
+      "Epoch 388/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.3893 - acc: 0.8602\n",
+      "Epoch 389/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.4663 - acc: 0.8574\n",
+      "Epoch 390/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.4355 - acc: 0.8577\n",
+      "Epoch 391/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.2093 - acc: 0.8600\n",
+      "Epoch 392/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.4986 - acc: 0.8595\n",
+      "Epoch 393/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.2584 - acc: 0.8616\n",
+      "Epoch 394/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.3753 - acc: 0.8607\n",
+      "Epoch 395/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.2606 - acc: 0.8604\n",
+      "Epoch 396/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.5517 - acc: 0.8587\n",
+      "Epoch 397/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1395 - acc: 0.8591\n",
+      "Epoch 398/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.3064 - acc: 0.8620\n",
+      "Epoch 399/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.3136 - acc: 0.8590\n",
+      "Epoch 400/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.2457 - acc: 0.8592\n",
+      "Epoch 401/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.3504 - acc: 0.8599\n",
+      "Epoch 402/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.4236 - acc: 0.8581\n",
+      "Epoch 403/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.1775 - acc: 0.8583\n",
+      "Epoch 404/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.3936 - acc: 0.8575\n",
+      "Epoch 405/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.2152 - acc: 0.8595\n",
+      "Epoch 406/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.0065 - acc: 0.8587\n",
+      "Epoch 407/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1294 - acc: 0.8608\n",
+      "Epoch 408/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9507 - acc: 0.8599\n",
+      "Epoch 409/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1202 - acc: 0.8591\n",
+      "Epoch 410/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.1577 - acc: 0.8623\n",
+      "Epoch 411/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.0893 - acc: 0.8599\n",
+      "Epoch 412/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0726 - acc: 0.8630\n",
+      "Epoch 413/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3477 - acc: 0.8603\n",
+      "Epoch 414/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8602 - acc: 0.8597\n",
+      "Epoch 415/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1101 - acc: 0.8605\n",
+      "Epoch 416/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9826 - acc: 0.8635\n",
+      "Epoch 417/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.2466 - acc: 0.8594\n",
+      "Epoch 418/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0002 - acc: 0.8600\n",
+      "Epoch 419/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1635 - acc: 0.8623\n",
+      "Epoch 420/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.9345 - acc: 0.8599\n",
+      "Epoch 421/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 32.8324 - acc: 0.8610\n",
+      "Epoch 422/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9208 - acc: 0.8594\n",
+      "Epoch 423/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.8548 - acc: 0.8631\n",
+      "Epoch 424/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9299 - acc: 0.8638\n",
+      "Epoch 425/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9416 - acc: 0.8593\n",
+      "Epoch 426/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.6252 - acc: 0.8609\n",
+      "Epoch 427/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8827 - acc: 0.8608\n",
+      "Epoch 428/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.7419 - acc: 0.8583\n",
+      "Epoch 429/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6548 - acc: 0.8598\n",
+      "Epoch 430/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.9116 - acc: 0.8639\n",
+      "Epoch 431/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8430 - acc: 0.8611\n",
+      "Epoch 432/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.8564 - acc: 0.8602\n",
+      "Epoch 433/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6118 - acc: 0.8605\n",
+      "Epoch 434/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7466 - acc: 0.8614\n",
+      "Epoch 435/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.6413 - acc: 0.8628\n",
+      "Epoch 436/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.5270 - acc: 0.8622\n",
+      "Epoch 437/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.8260 - acc: 0.8608\n",
+      "Epoch 438/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.4114 - acc: 0.8611\n",
+      "Epoch 439/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.5899 - acc: 0.8587\n",
+      "Epoch 440/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.6308 - acc: 0.8601\n",
+      "Epoch 441/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.5634 - acc: 0.8604\n",
+      "Epoch 442/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5987 - acc: 0.8612\n",
+      "Epoch 443/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2812 - acc: 0.8630\n",
+      "Epoch 444/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5398 - acc: 0.8635\n",
+      "Epoch 445/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.4937 - acc: 0.8640\n",
+      "Epoch 446/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4491 - acc: 0.8617\n",
+      "Epoch 447/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2689 - acc: 0.8625\n",
+      "Epoch 448/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3780 - acc: 0.8632\n",
+      "Epoch 449/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3813 - acc: 0.8622\n",
+      "Epoch 450/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5318 - acc: 0.8640\n",
+      "Epoch 451/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5995 - acc: 0.8649\n",
+      "Epoch 452/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.2930 - acc: 0.8643\n",
+      "Epoch 453/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8852 - acc: 0.8611\n",
+      "Epoch 454/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2005 - acc: 0.8622\n",
+      "Epoch 455/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2432 - acc: 0.8624\n",
+      "Epoch 456/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.3426 - acc: 0.8612\n",
+      "Epoch 457/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.2437 - acc: 0.8618\n",
+      "Epoch 458/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.3385 - acc: 0.8635\n",
+      "Epoch 459/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3095 - acc: 0.8619\n",
+      "Epoch 460/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3481 - acc: 0.8631\n",
+      "Epoch 461/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.1970 - acc: 0.8618\n",
+      "Epoch 462/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 32.4282 - acc: 0.8599\n",
+      "Epoch 463/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.3175 - acc: 0.8643\n",
+      "Epoch 464/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.3303 - acc: 0.8628\n",
+      "Epoch 465/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2388 - acc: 0.8609\n",
+      "Epoch 466/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2394 - acc: 0.8646\n",
+      "Epoch 467/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.0112 - acc: 0.8646\n",
+      "Epoch 468/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2731 - acc: 0.8631\n",
+      "Epoch 469/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2346 - acc: 0.8646\n",
+      "Epoch 470/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0033 - acc: 0.8648\n",
+      "Epoch 471/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2312 - acc: 0.8663\n",
+      "Epoch 472/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9677 - acc: 0.8644\n",
+      "Epoch 473/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1658 - acc: 0.8642\n",
+      "Epoch 474/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2368 - acc: 0.8611\n",
+      "Epoch 475/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.0454 - acc: 0.8623\n",
+      "Epoch 476/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5363 - acc: 0.8645\n",
+      "Epoch 477/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0621 - acc: 0.8621\n",
+      "Epoch 478/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.3104 - acc: 0.8633\n",
+      "Epoch 479/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.8914 - acc: 0.8605\n",
+      "Epoch 480/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.1686 - acc: 0.8618\n",
+      "Epoch 481/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2156 - acc: 0.8638\n",
+      "Epoch 482/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.0305 - acc: 0.8632\n",
+      "Epoch 483/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.0831 - acc: 0.8629\n",
+      "Epoch 484/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1124 - acc: 0.8624\n",
+      "Epoch 485/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1765 - acc: 0.8655\n",
+      "Epoch 486/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.9117 - acc: 0.8648\n",
+      "Epoch 487/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.8395 - acc: 0.8663\n",
+      "Epoch 488/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.1622 - acc: 0.8624\n",
+      "Epoch 489/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.0409 - acc: 0.8601\n",
+      "Epoch 490/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8656 - acc: 0.8644\n",
+      "Epoch 491/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.9403 - acc: 0.8636\n",
+      "Epoch 492/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.9118 - acc: 0.8658\n",
+      "Epoch 493/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7971 - acc: 0.8635\n",
+      "Epoch 494/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9630 - acc: 0.8642\n",
+      "Epoch 495/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.9053 - acc: 0.8652\n",
+      "Epoch 496/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0910 - acc: 0.8655\n",
+      "Epoch 497/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.7781 - acc: 0.8634\n",
+      "Epoch 498/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0340 - acc: 0.8629\n",
+      "Epoch 499/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7656 - acc: 0.8659\n",
+      "Epoch 500/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.8368 - acc: 0.8675\n",
+      "20000/20000 [==============================] - 2s 75us/step\n",
+      "40000/40000 [==============================] - 3s 84us/step\n",
+      "Epoch 1/500\n",
+      " 3552/40000 [=>............................] - ETA: 1s - loss: 2731.3874 - acc: 0.0265"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 46us/step - loss: 577.8370 - acc: 0.1226\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 194.3006 - acc: 0.3120\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 169.3766 - acc: 0.4080\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 156.1622 - acc: 0.4511\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 146.8845 - acc: 0.4808\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 142.0226 - acc: 0.4940\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 133.4020 - acc: 0.5120\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 130.4204 - acc: 0.5242\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 124.9453 - acc: 0.5404\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 120.3610 - acc: 0.5484\n",
+      "Epoch 11/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 117.8782 - acc: 0.5585\n",
+      "Epoch 12/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 115.0960 - acc: 0.5731\n",
+      "Epoch 13/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 109.2367 - acc: 0.5815\n",
+      "Epoch 14/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 107.2672 - acc: 0.5955\n",
+      "Epoch 15/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 105.0674 - acc: 0.6038\n",
+      "Epoch 16/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 101.8408 - acc: 0.6154\n",
+      "Epoch 17/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 99.8669 - acc: 0.6185\n",
+      "Epoch 18/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 96.6742 - acc: 0.6331\n",
+      "Epoch 19/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 93.2179 - acc: 0.6442\n",
+      "Epoch 20/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 90.4148 - acc: 0.6562\n",
+      "Epoch 21/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 88.7824 - acc: 0.6683\n",
+      "Epoch 22/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 84.0111 - acc: 0.6787\n",
+      "Epoch 23/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 83.0538 - acc: 0.6849\n",
+      "Epoch 24/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 80.7950 - acc: 0.6958\n",
+      "Epoch 25/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 78.8614 - acc: 0.6994\n",
+      "Epoch 26/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 78.6201 - acc: 0.7031\n",
+      "Epoch 27/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 74.6350 - acc: 0.7116\n",
+      "Epoch 28/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 74.8292 - acc: 0.7157\n",
+      "Epoch 29/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 72.3736 - acc: 0.7178\n",
+      "Epoch 30/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 71.9379 - acc: 0.7191\n",
+      "Epoch 31/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 71.1083 - acc: 0.7260\n",
+      "Epoch 32/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 70.0126 - acc: 0.7291\n",
+      "Epoch 33/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 69.2988 - acc: 0.7336\n",
+      "Epoch 34/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 67.3298 - acc: 0.7352\n",
+      "Epoch 35/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 67.1734 - acc: 0.7410\n",
+      "Epoch 36/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 66.7786 - acc: 0.7443\n",
+      "Epoch 37/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 65.6914 - acc: 0.7481\n",
+      "Epoch 38/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 63.6717 - acc: 0.7502\n",
+      "Epoch 39/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 63.7975 - acc: 0.7532\n",
+      "Epoch 40/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 62.9183 - acc: 0.7550\n",
+      "Epoch 41/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 61.7193 - acc: 0.7570\n",
+      "Epoch 42/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 61.8268 - acc: 0.7600\n",
+      "Epoch 43/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 60.7139 - acc: 0.7636\n",
+      "Epoch 44/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 61.1600 - acc: 0.7680\n",
+      "Epoch 45/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 59.8192 - acc: 0.7671\n",
+      "Epoch 46/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 58.6941 - acc: 0.7752\n",
+      "Epoch 47/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 59.2229 - acc: 0.7716\n",
+      "Epoch 48/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 57.9740 - acc: 0.7748\n",
+      "Epoch 49/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 57.5920 - acc: 0.7761\n",
+      "Epoch 50/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 56.6408 - acc: 0.7806\n",
+      "Epoch 51/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 56.2584 - acc: 0.7798\n",
+      "Epoch 52/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 55.3241 - acc: 0.7793\n",
+      "Epoch 53/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 54.9918 - acc: 0.7839\n",
+      "Epoch 54/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 54.9664 - acc: 0.7808\n",
+      "Epoch 55/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 54.0488 - acc: 0.7811\n",
+      "Epoch 56/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 54.3183 - acc: 0.7889\n",
+      "Epoch 57/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 54.1177 - acc: 0.7905\n",
+      "Epoch 58/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 53.5041 - acc: 0.7910\n",
+      "Epoch 59/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 52.5737 - acc: 0.7899\n",
+      "Epoch 60/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 52.8282 - acc: 0.7903\n",
+      "Epoch 61/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 53.0139 - acc: 0.7913\n",
+      "Epoch 62/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 51.9333 - acc: 0.7917\n",
+      "Epoch 63/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 52.1109 - acc: 0.7942\n",
+      "Epoch 64/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 51.3784 - acc: 0.7965\n",
+      "Epoch 65/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 51.3533 - acc: 0.7970\n",
+      "Epoch 66/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 50.5597 - acc: 0.7978\n",
+      "Epoch 67/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 50.8317 - acc: 0.8018\n",
+      "Epoch 68/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 50.1406 - acc: 0.7994\n",
+      "Epoch 69/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 49.7252 - acc: 0.7991\n",
+      "Epoch 70/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 49.8347 - acc: 0.7984\n",
+      "Epoch 71/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 49.2553 - acc: 0.8021\n",
+      "Epoch 72/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 49.3625 - acc: 0.8026\n",
+      "Epoch 73/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 48.7214 - acc: 0.8022\n",
+      "Epoch 74/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 48.2900 - acc: 0.8047\n",
+      "Epoch 75/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 48.8225 - acc: 0.8034\n",
+      "Epoch 76/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.5549 - acc: 0.8073\n",
+      "Epoch 77/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 48.1390 - acc: 0.8068\n",
+      "Epoch 78/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.1259 - acc: 0.8079\n",
+      "Epoch 79/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 48.0446 - acc: 0.8105\n",
+      "Epoch 80/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 49us/step - loss: 47.5412 - acc: 0.8042\n",
+      "Epoch 81/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 47.1426 - acc: 0.8113\n",
+      "Epoch 82/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 47.6633 - acc: 0.8080\n",
+      "Epoch 83/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 47.1421 - acc: 0.8115\n",
+      "Epoch 84/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.2170 - acc: 0.8116\n",
+      "Epoch 85/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.8239 - acc: 0.8096\n",
+      "Epoch 86/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.5903 - acc: 0.8138\n",
+      "Epoch 87/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.9911 - acc: 0.8105\n",
+      "Epoch 88/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 45.9057 - acc: 0.8115\n",
+      "Epoch 89/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.1506 - acc: 0.8154\n",
+      "Epoch 90/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.0752 - acc: 0.8166\n",
+      "Epoch 91/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.5011 - acc: 0.8159\n",
+      "Epoch 92/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.1540 - acc: 0.8154\n",
+      "Epoch 93/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.3252 - acc: 0.8160\n",
+      "Epoch 94/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 45.2807 - acc: 0.8185\n",
+      "Epoch 95/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 45.2106 - acc: 0.8175\n",
+      "Epoch 96/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.8095 - acc: 0.8142\n",
+      "Epoch 97/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.7628 - acc: 0.8192\n",
+      "Epoch 98/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 44.7532 - acc: 0.8199\n",
+      "Epoch 99/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.3458 - acc: 0.8187\n",
+      "Epoch 100/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.1517 - acc: 0.8236\n",
+      "Epoch 101/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.5008 - acc: 0.8209\n",
+      "Epoch 102/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.2485 - acc: 0.8215\n",
+      "Epoch 103/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 44.3016 - acc: 0.8195\n",
+      "Epoch 104/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.7359 - acc: 0.8241\n",
+      "Epoch 105/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.0616 - acc: 0.8221\n",
+      "Epoch 106/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.2059 - acc: 0.8189\n",
+      "Epoch 107/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.7871 - acc: 0.8240\n",
+      "Epoch 108/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.6090 - acc: 0.8226\n",
+      "Epoch 109/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 44.0495 - acc: 0.8239\n",
+      "Epoch 110/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.2642 - acc: 0.8275\n",
+      "Epoch 111/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 43.3629 - acc: 0.8246\n",
+      "Epoch 112/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.6324 - acc: 0.8274\n",
+      "Epoch 113/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 42.7220 - acc: 0.8296\n",
+      "Epoch 114/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.2238 - acc: 0.8260\n",
+      "Epoch 115/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 42.4067 - acc: 0.8271\n",
+      "Epoch 116/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.5055 - acc: 0.8257\n",
+      "Epoch 117/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 41.9811 - acc: 0.8282\n",
+      "Epoch 118/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.6474 - acc: 0.8266\n",
+      "Epoch 119/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 42.7070 - acc: 0.8294\n",
+      "Epoch 120/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.0441 - acc: 0.8300\n",
+      "Epoch 121/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.8522 - acc: 0.8262\n",
+      "Epoch 122/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 42.1015 - acc: 0.8264\n",
+      "Epoch 123/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.7471 - acc: 0.8275\n",
+      "Epoch 124/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.4473 - acc: 0.8326\n",
+      "Epoch 125/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.1776 - acc: 0.8307\n",
+      "Epoch 126/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.6684 - acc: 0.8316\n",
+      "Epoch 127/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.5387 - acc: 0.8273\n",
+      "Epoch 128/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.8408 - acc: 0.8309\n",
+      "Epoch 129/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.1191 - acc: 0.8318\n",
+      "Epoch 130/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.4887 - acc: 0.8300\n",
+      "Epoch 131/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.9455 - acc: 0.8294\n",
+      "Epoch 132/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.9086 - acc: 0.8330\n",
+      "Epoch 133/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.8575 - acc: 0.8319\n",
+      "Epoch 134/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.9108 - acc: 0.8307\n",
+      "Epoch 135/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 41.1666 - acc: 0.8322\n",
+      "Epoch 136/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.3377 - acc: 0.8318\n",
+      "Epoch 137/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.7365 - acc: 0.8320\n",
+      "Epoch 138/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.5962 - acc: 0.8308\n",
+      "Epoch 139/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.8076 - acc: 0.8310\n",
+      "Epoch 140/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.4290 - acc: 0.8364\n",
+      "Epoch 141/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.6118 - acc: 0.8316\n",
+      "Epoch 142/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.1076 - acc: 0.8356\n",
+      "Epoch 143/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 40.2919 - acc: 0.8320\n",
+      "Epoch 144/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.3020 - acc: 0.8317\n",
+      "Epoch 145/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.4395 - acc: 0.8345\n",
+      "Epoch 146/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.9118 - acc: 0.8330\n",
+      "Epoch 147/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.0729 - acc: 0.8332\n",
+      "Epoch 148/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.0570 - acc: 0.8343\n",
+      "Epoch 149/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.9430 - acc: 0.8359\n",
+      "Epoch 150/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.7559 - acc: 0.8353\n",
+      "Epoch 151/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.3302 - acc: 0.8320\n",
+      "Epoch 152/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 39.6434 - acc: 0.8326\n",
+      "Epoch 153/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 39.6507 - acc: 0.8386\n",
+      "Epoch 154/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.0499 - acc: 0.8357\n",
+      "Epoch 155/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.1284 - acc: 0.8381\n",
+      "Epoch 156/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.5022 - acc: 0.8356\n",
+      "Epoch 157/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.2026 - acc: 0.8362\n",
+      "Epoch 158/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.1889 - acc: 0.8357\n",
+      "Epoch 159/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.4100 - acc: 0.8354\n",
+      "Epoch 160/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.3042 - acc: 0.8379\n",
+      "Epoch 161/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.1100 - acc: 0.8389\n",
+      "Epoch 162/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.1962 - acc: 0.8334\n",
+      "Epoch 163/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 39.1648 - acc: 0.8354\n",
+      "Epoch 164/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.4784 - acc: 0.8363\n",
+      "Epoch 165/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 39.0642 - acc: 0.8365\n",
+      "Epoch 166/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.6072 - acc: 0.8359\n",
+      "Epoch 167/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.0458 - acc: 0.8377\n",
+      "Epoch 168/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.7219 - acc: 0.8352\n",
+      "Epoch 169/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.6796 - acc: 0.8394\n",
+      "Epoch 170/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.5612 - acc: 0.8424\n",
+      "Epoch 171/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 39.0118 - acc: 0.8370\n",
+      "Epoch 172/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.5542 - acc: 0.8392\n",
+      "Epoch 173/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.7712 - acc: 0.8376\n",
+      "Epoch 174/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.4266 - acc: 0.8403\n",
+      "Epoch 175/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.0960 - acc: 0.8397\n",
+      "Epoch 176/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.4923 - acc: 0.8391\n",
+      "Epoch 177/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.1172 - acc: 0.8421\n",
+      "Epoch 178/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.1658 - acc: 0.8409\n",
+      "Epoch 179/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.4069 - acc: 0.8383\n",
+      "Epoch 180/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.2795 - acc: 0.8404\n",
+      "Epoch 181/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 38.3765 - acc: 0.8396\n",
+      "Epoch 182/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.0540 - acc: 0.8413\n",
+      "Epoch 183/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.5052 - acc: 0.8426\n",
+      "Epoch 184/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0134 - acc: 0.8418\n",
+      "Epoch 185/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.1665 - acc: 0.8403\n",
+      "Epoch 186/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 38.0579 - acc: 0.8428\n",
+      "Epoch 187/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.8902 - acc: 0.8452\n",
+      "Epoch 188/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 37.6988 - acc: 0.8434\n",
+      "Epoch 189/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.0871 - acc: 0.8411\n",
+      "Epoch 190/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.6735 - acc: 0.8450\n",
+      "Epoch 191/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.8385 - acc: 0.8421\n",
+      "Epoch 192/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.6980 - acc: 0.8438\n",
+      "Epoch 193/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.6904 - acc: 0.8441\n",
+      "Epoch 194/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.9170 - acc: 0.8429\n",
+      "Epoch 195/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.4925 - acc: 0.8462\n",
+      "Epoch 196/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.4430 - acc: 0.8428\n",
+      "Epoch 197/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.5564 - acc: 0.8439\n",
+      "Epoch 198/500\n",
+      "40000/40000 [==============================] - 2s 40us/step - loss: 37.7684 - acc: 0.8429\n",
+      "Epoch 199/500\n",
+      "40000/40000 [==============================] - 2s 40us/step - loss: 37.3291 - acc: 0.8453\n",
+      "Epoch 200/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.2847 - acc: 0.8471\n",
+      "Epoch 201/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.5213 - acc: 0.8458\n",
+      "Epoch 202/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.2469 - acc: 0.8464\n",
+      "Epoch 203/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.0783 - acc: 0.8449\n",
+      "Epoch 204/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.2484 - acc: 0.8417\n",
+      "Epoch 205/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.3891 - acc: 0.8422\n",
+      "Epoch 206/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.5289 - acc: 0.8449\n",
+      "Epoch 207/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.9072 - acc: 0.8463\n",
+      "Epoch 208/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.9497 - acc: 0.8421\n",
+      "Epoch 209/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.5454 - acc: 0.8475\n",
+      "Epoch 210/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.8501 - acc: 0.8479\n",
+      "Epoch 211/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.3101 - acc: 0.8445\n",
+      "Epoch 212/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.2000 - acc: 0.8447\n",
+      "Epoch 213/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.6943 - acc: 0.8462\n",
+      "Epoch 214/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.3172 - acc: 0.8434\n",
+      "Epoch 215/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.7708 - acc: 0.8469\n",
+      "Epoch 216/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.6568 - acc: 0.8457\n",
+      "Epoch 217/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.6702 - acc: 0.8459\n",
+      "Epoch 218/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.5745 - acc: 0.8452\n",
+      "Epoch 219/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.7861 - acc: 0.8483\n",
+      "Epoch 220/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.7737 - acc: 0.8461\n",
+      "Epoch 221/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.7042 - acc: 0.8478\n",
+      "Epoch 222/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.6228 - acc: 0.8494\n",
+      "Epoch 223/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.8151 - acc: 0.8470\n",
+      "Epoch 224/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.6486 - acc: 0.8480\n",
+      "Epoch 225/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.5017 - acc: 0.8464\n",
+      "Epoch 226/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.9338 - acc: 0.8476\n",
+      "Epoch 227/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.7775 - acc: 0.8470\n",
+      "Epoch 228/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.0038 - acc: 0.8505\n",
+      "Epoch 229/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.9043 - acc: 0.8492\n",
+      "Epoch 230/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.3825 - acc: 0.8476\n",
+      "Epoch 231/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.3630 - acc: 0.8487\n",
+      "Epoch 232/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.1037 - acc: 0.8482\n",
+      "Epoch 233/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.2302 - acc: 0.8485\n",
+      "Epoch 234/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.3489 - acc: 0.8502\n",
+      "Epoch 235/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.1844 - acc: 0.8462\n",
+      "Epoch 236/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.1985 - acc: 0.8486\n",
+      "Epoch 237/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.3520 - acc: 0.8458\n",
+      "Epoch 238/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.0511 - acc: 0.8479\n",
+      "Epoch 239/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.2960 - acc: 0.8493\n",
+      "Epoch 240/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 36.1034 - acc: 0.8521\n",
+      "Epoch 241/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.0808 - acc: 0.8465\n",
+      "Epoch 242/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.0185 - acc: 0.8472\n",
+      "Epoch 243/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.0199 - acc: 0.8490\n",
+      "Epoch 244/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7945 - acc: 0.8495\n",
+      "Epoch 245/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.2342 - acc: 0.8495\n",
+      "Epoch 246/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7162 - acc: 0.8502\n",
+      "Epoch 247/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.8291 - acc: 0.8473\n",
+      "Epoch 248/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.5237 - acc: 0.8518\n",
+      "Epoch 249/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.7171 - acc: 0.8499\n",
+      "Epoch 250/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.0039 - acc: 0.8537\n",
+      "Epoch 251/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.7455 - acc: 0.8531\n",
+      "Epoch 252/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.1778 - acc: 0.8484\n",
+      "Epoch 253/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.5835 - acc: 0.8512\n",
+      "Epoch 254/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.6742 - acc: 0.8499\n",
+      "Epoch 255/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.4343 - acc: 0.8504\n",
+      "Epoch 256/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.2817 - acc: 0.8520\n",
+      "Epoch 257/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.8576 - acc: 0.8506\n",
+      "Epoch 258/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.4485 - acc: 0.8524\n",
+      "Epoch 259/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.2640 - acc: 0.8487\n",
+      "Epoch 260/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.6704 - acc: 0.8493\n",
+      "Epoch 261/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.2809 - acc: 0.8476\n",
+      "Epoch 262/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.3984 - acc: 0.8520\n",
+      "Epoch 263/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1083 - acc: 0.8517\n",
+      "Epoch 264/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.4811 - acc: 0.8504\n",
+      "Epoch 265/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.1444 - acc: 0.8508\n",
+      "Epoch 266/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.4856 - acc: 0.8533\n",
+      "Epoch 267/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.3903 - acc: 0.8518\n",
+      "Epoch 268/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.9378 - acc: 0.8529\n",
+      "Epoch 269/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2507 - acc: 0.8530\n",
+      "Epoch 270/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1124 - acc: 0.8491\n",
+      "Epoch 271/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0235 - acc: 0.8487\n",
+      "Epoch 272/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.9287 - acc: 0.8519\n",
+      "Epoch 273/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.3150 - acc: 0.8519\n",
+      "Epoch 274/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0854 - acc: 0.8481\n",
+      "Epoch 275/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.0728 - acc: 0.8528\n",
+      "Epoch 276/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0124 - acc: 0.8511\n",
+      "Epoch 277/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.0155 - acc: 0.8506\n",
+      "Epoch 278/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9235 - acc: 0.8521\n",
+      "Epoch 279/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.7888 - acc: 0.8527\n",
+      "Epoch 280/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7873 - acc: 0.8522\n",
+      "Epoch 281/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.0091 - acc: 0.8503\n",
+      "Epoch 282/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.6991 - acc: 0.8486\n",
+      "Epoch 283/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.8752 - acc: 0.8514\n",
+      "Epoch 284/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.9087 - acc: 0.8523\n",
+      "Epoch 285/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.9238 - acc: 0.8525\n",
+      "Epoch 286/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7355 - acc: 0.8534\n",
+      "Epoch 287/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.6259 - acc: 0.8518\n",
+      "Epoch 288/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.7316 - acc: 0.8531\n",
+      "Epoch 289/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7214 - acc: 0.8520\n",
+      "Epoch 290/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3257 - acc: 0.8531\n",
+      "Epoch 291/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7206 - acc: 0.8513\n",
+      "Epoch 292/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.6192 - acc: 0.8537\n",
+      "Epoch 293/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.5338 - acc: 0.8534\n",
+      "Epoch 294/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.7682 - acc: 0.8512\n",
+      "Epoch 295/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.2861 - acc: 0.8551\n",
+      "Epoch 296/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.5443 - acc: 0.8548\n",
+      "Epoch 297/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 34.5241 - acc: 0.8497\n",
+      "Epoch 298/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 34.4863 - acc: 0.8526\n",
+      "Epoch 299/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.6658 - acc: 0.8536\n",
+      "Epoch 300/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 34.6455 - acc: 0.8539\n",
+      "Epoch 301/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.4929 - acc: 0.8530\n",
+      "Epoch 302/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.2259 - acc: 0.8553\n",
+      "Epoch 303/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2666 - acc: 0.8525\n",
+      "Epoch 304/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2122 - acc: 0.8534\n",
+      "Epoch 305/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.4743 - acc: 0.8521\n",
+      "Epoch 306/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3072 - acc: 0.8541\n",
+      "Epoch 307/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0059 - acc: 0.8519\n",
+      "Epoch 308/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.4135 - acc: 0.8538\n",
+      "Epoch 309/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3243 - acc: 0.8519\n",
+      "Epoch 310/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3170 - acc: 0.8537\n",
+      "Epoch 311/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4250 - acc: 0.8533\n",
+      "Epoch 312/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.9374 - acc: 0.8575\n",
+      "Epoch 313/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3940 - acc: 0.8522\n",
+      "Epoch 314/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.1200 - acc: 0.8561\n",
+      "Epoch 315/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.8831 - acc: 0.8549\n",
+      "Epoch 316/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.0661 - acc: 0.8532\n",
+      "Epoch 317/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.9735 - acc: 0.8531\n",
+      "Epoch 318/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0718 - acc: 0.8541\n",
+      "Epoch 319/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.8081 - acc: 0.8557\n",
+      "Epoch 320/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.3057 - acc: 0.8536\n",
+      "Epoch 321/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.9891 - acc: 0.8554\n",
+      "Epoch 322/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.9456 - acc: 0.8538\n",
+      "Epoch 323/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.6518 - acc: 0.8554\n",
+      "Epoch 324/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.6665 - acc: 0.8565\n",
+      "Epoch 325/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 34.0819 - acc: 0.8552\n",
+      "Epoch 326/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.9220 - acc: 0.8546\n",
+      "Epoch 327/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.9126 - acc: 0.8561\n",
+      "Epoch 328/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.6035 - acc: 0.8544\n",
+      "Epoch 329/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.5820 - acc: 0.8568\n",
+      "Epoch 330/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 34.0156 - acc: 0.8563\n",
+      "Epoch 331/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8757 - acc: 0.8562\n",
+      "Epoch 332/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.7064 - acc: 0.8556\n",
+      "Epoch 333/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8438 - acc: 0.8519\n",
+      "Epoch 334/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.6008 - acc: 0.8549\n",
+      "Epoch 335/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9910 - acc: 0.8538\n",
+      "Epoch 336/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.8195 - acc: 0.8555\n",
+      "Epoch 337/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.5708 - acc: 0.8539\n",
+      "Epoch 338/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.5578 - acc: 0.8545\n",
+      "Epoch 339/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.6055 - acc: 0.8562\n",
+      "Epoch 340/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.4425 - acc: 0.8521\n",
+      "Epoch 341/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.6825 - acc: 0.8519\n",
+      "Epoch 342/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4186 - acc: 0.8546\n",
+      "Epoch 343/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.7469 - acc: 0.8582\n",
+      "Epoch 344/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.2385 - acc: 0.8578\n",
+      "Epoch 345/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.5731 - acc: 0.8574\n",
+      "Epoch 346/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.3596 - acc: 0.8578\n",
+      "Epoch 347/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.2952 - acc: 0.8553\n",
+      "Epoch 348/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.6091 - acc: 0.8582\n",
+      "Epoch 349/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.3451 - acc: 0.8557\n",
+      "Epoch 350/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 33.1438 - acc: 0.8566\n",
+      "Epoch 351/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.3826 - acc: 0.8560\n",
+      "Epoch 352/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.6178 - acc: 0.8548\n",
+      "Epoch 353/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.2169 - acc: 0.8590\n",
+      "Epoch 354/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.3079 - acc: 0.8563\n",
+      "Epoch 355/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.3507 - acc: 0.8566\n",
+      "Epoch 356/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1761 - acc: 0.8547\n",
+      "Epoch 357/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3264 - acc: 0.8560\n",
+      "Epoch 358/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0799 - acc: 0.8581\n",
+      "Epoch 359/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1013 - acc: 0.8575\n",
+      "Epoch 360/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.2968 - acc: 0.8565\n",
+      "Epoch 361/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1824 - acc: 0.8596\n",
+      "Epoch 362/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.0084 - acc: 0.8604\n",
+      "Epoch 363/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3007 - acc: 0.8571\n",
+      "Epoch 364/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9527 - acc: 0.8593\n",
+      "Epoch 365/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.1308 - acc: 0.8599\n",
+      "Epoch 366/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1051 - acc: 0.8565\n",
+      "Epoch 367/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.9204 - acc: 0.8553\n",
+      "Epoch 368/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.0822 - acc: 0.8586\n",
+      "Epoch 369/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.9102 - acc: 0.8565\n",
+      "Epoch 370/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.9940 - acc: 0.8600\n",
+      "Epoch 371/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0883 - acc: 0.8545\n",
+      "Epoch 372/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.8975 - acc: 0.8559\n",
+      "Epoch 373/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1159 - acc: 0.8580\n",
+      "Epoch 374/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0745 - acc: 0.8591\n",
+      "Epoch 375/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9709 - acc: 0.8570\n",
+      "Epoch 376/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.9600 - acc: 0.8596\n",
+      "Epoch 377/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8439 - acc: 0.8578\n",
+      "Epoch 378/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.2424 - acc: 0.8577\n",
+      "Epoch 379/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7046 - acc: 0.8573\n",
+      "Epoch 380/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.0795 - acc: 0.8595\n",
+      "Epoch 381/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8354 - acc: 0.8584\n",
+      "Epoch 382/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8623 - acc: 0.8572\n",
+      "Epoch 383/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.8037 - acc: 0.8584\n",
+      "Epoch 384/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8360 - acc: 0.8562\n",
+      "Epoch 385/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.6791 - acc: 0.8592\n",
+      "Epoch 386/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7617 - acc: 0.8580\n",
+      "Epoch 387/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.5362 - acc: 0.8576\n",
+      "Epoch 388/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8504 - acc: 0.8597\n",
+      "Epoch 389/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.7697 - acc: 0.8603\n",
+      "Epoch 390/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.9191 - acc: 0.8580\n",
+      "Epoch 391/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7605 - acc: 0.8601\n",
+      "Epoch 392/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5632 - acc: 0.8592\n",
+      "Epoch 393/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5216 - acc: 0.8639\n",
+      "Epoch 394/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.7209 - acc: 0.8625\n",
+      "Epoch 395/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7935 - acc: 0.8612\n",
+      "Epoch 396/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.5598 - acc: 0.8587\n",
+      "Epoch 397/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6247 - acc: 0.8612\n",
+      "Epoch 398/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.7999 - acc: 0.8579\n",
+      "Epoch 399/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8655 - acc: 0.8592\n",
+      "Epoch 400/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.3288 - acc: 0.8594\n",
+      "Epoch 401/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.6095 - acc: 0.8629\n",
+      "Epoch 402/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.5802 - acc: 0.8615\n",
+      "Epoch 403/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4427 - acc: 0.8618\n",
+      "Epoch 404/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3906 - acc: 0.8615\n",
+      "Epoch 405/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4864 - acc: 0.8580\n",
+      "Epoch 406/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.4708 - acc: 0.8601\n",
+      "Epoch 407/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.7194 - acc: 0.8597\n",
+      "Epoch 408/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3374 - acc: 0.8621\n",
+      "Epoch 409/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4612 - acc: 0.8590\n",
+      "Epoch 410/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.3146 - acc: 0.8596\n",
+      "Epoch 411/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.7918 - acc: 0.8596\n",
+      "Epoch 412/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4425 - acc: 0.8602\n",
+      "Epoch 413/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4073 - acc: 0.8609\n",
+      "Epoch 414/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6822 - acc: 0.8608\n",
+      "Epoch 415/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4628 - acc: 0.8582\n",
+      "Epoch 416/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1946 - acc: 0.8606\n",
+      "Epoch 417/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4689 - acc: 0.8604\n",
+      "Epoch 418/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3423 - acc: 0.8594\n",
+      "Epoch 419/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2817 - acc: 0.8599\n",
+      "Epoch 420/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7246 - acc: 0.8595\n",
+      "Epoch 421/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4675 - acc: 0.8606\n",
+      "Epoch 422/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.1372 - acc: 0.8620\n",
+      "Epoch 423/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1447 - acc: 0.8606\n",
+      "Epoch 424/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.1550 - acc: 0.8623\n",
+      "Epoch 425/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4151 - acc: 0.8603\n",
+      "Epoch 426/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6778 - acc: 0.8622\n",
+      "Epoch 427/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 32.1624 - acc: 0.8646\n",
+      "Epoch 428/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1919 - acc: 0.8633\n",
+      "Epoch 429/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1439 - acc: 0.8634\n",
+      "Epoch 430/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.4235 - acc: 0.8608\n",
+      "Epoch 431/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4720 - acc: 0.8622\n",
+      "Epoch 432/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.1931 - acc: 0.8620\n",
+      "Epoch 433/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.2912 - acc: 0.8625\n",
+      "Epoch 434/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1279 - acc: 0.8613\n",
+      "Epoch 435/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.1729 - acc: 0.8628\n",
+      "Epoch 436/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.8629 - acc: 0.8650\n",
+      "Epoch 437/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.1949 - acc: 0.8621\n",
+      "Epoch 438/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.1089 - acc: 0.8641\n",
+      "Epoch 439/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0320 - acc: 0.8650\n",
+      "Epoch 440/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 31.9749 - acc: 0.8601\n",
+      "Epoch 441/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3654 - acc: 0.8644\n",
+      "Epoch 442/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 31.9122 - acc: 0.8638\n",
+      "Epoch 443/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.9668 - acc: 0.8617\n",
+      "Epoch 444/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 32.2849 - acc: 0.8634\n",
+      "Epoch 445/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9692 - acc: 0.8649\n",
+      "Epoch 446/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0096 - acc: 0.8638\n",
+      "Epoch 447/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2403 - acc: 0.8639\n",
+      "Epoch 448/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0338 - acc: 0.8655\n",
+      "Epoch 449/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0949 - acc: 0.8623\n",
+      "Epoch 450/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8752 - acc: 0.8643\n",
+      "Epoch 451/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9797 - acc: 0.8662\n",
+      "Epoch 452/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.0717 - acc: 0.8640\n",
+      "Epoch 453/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.9454 - acc: 0.8641\n",
+      "Epoch 454/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.0079 - acc: 0.8651\n",
+      "Epoch 455/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9422 - acc: 0.8667\n",
+      "Epoch 456/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.9488 - acc: 0.8642\n",
+      "Epoch 457/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.8678 - acc: 0.8649\n",
+      "Epoch 458/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9162 - acc: 0.8635\n",
+      "Epoch 459/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.6176 - acc: 0.8655\n",
+      "Epoch 460/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.8464 - acc: 0.8647\n",
+      "Epoch 461/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.7939 - acc: 0.8643\n",
+      "Epoch 462/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.8374 - acc: 0.8640\n",
+      "Epoch 463/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.1278 - acc: 0.8644\n",
+      "Epoch 464/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 31.6417 - acc: 0.8629\n",
+      "Epoch 465/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.7228 - acc: 0.8638\n",
+      "Epoch 466/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 32.1165 - acc: 0.8645\n",
+      "Epoch 467/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 31.6449 - acc: 0.8633\n",
+      "Epoch 468/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.3258 - acc: 0.8648\n",
+      "Epoch 469/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.5897 - acc: 0.8645\n",
+      "Epoch 470/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.9407 - acc: 0.8671\n",
+      "Epoch 471/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.7283 - acc: 0.8647\n",
+      "Epoch 472/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9013 - acc: 0.8662\n",
+      "Epoch 473/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.6310 - acc: 0.8636\n",
+      "Epoch 474/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.8632 - acc: 0.8635\n",
+      "Epoch 475/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8840 - acc: 0.8633\n",
+      "Epoch 476/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.7491 - acc: 0.8637\n",
+      "Epoch 477/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.8165 - acc: 0.8657\n",
+      "Epoch 478/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.6126 - acc: 0.8636\n",
+      "Epoch 479/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.9055 - acc: 0.8645\n",
+      "Epoch 480/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.5181 - acc: 0.8628\n",
+      "Epoch 481/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.7707 - acc: 0.8661\n",
+      "Epoch 482/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.8044 - acc: 0.8656\n",
+      "Epoch 483/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.6607 - acc: 0.8625\n",
+      "Epoch 484/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.6355 - acc: 0.8661\n",
+      "Epoch 485/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.5591 - acc: 0.8619\n",
+      "Epoch 486/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.4590 - acc: 0.8649\n",
+      "Epoch 487/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.5157 - acc: 0.8660\n",
+      "Epoch 488/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.6339 - acc: 0.8636\n",
+      "Epoch 489/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.4028 - acc: 0.8649\n",
+      "Epoch 490/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.6702 - acc: 0.8661\n",
+      "Epoch 491/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.6051 - acc: 0.8629\n",
+      "Epoch 492/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.6357 - acc: 0.8648\n",
+      "Epoch 493/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 31.6466 - acc: 0.8646\n",
+      "Epoch 494/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 31.3997 - acc: 0.8628\n",
+      "Epoch 495/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 31.9687 - acc: 0.8658\n",
+      "Epoch 496/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.5856 - acc: 0.8656\n",
+      "Epoch 497/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.3201 - acc: 0.8658\n",
+      "Epoch 498/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 31.3640 - acc: 0.8663\n",
+      "Epoch 499/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 31.5376 - acc: 0.8656\n",
+      "Epoch 500/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 31.4072 - acc: 0.8661\n",
+      "20000/20000 [==============================] - 2s 84us/step\n",
+      "40000/40000 [==============================] - 3s 85us/step\n",
+      "Epoch 1/500\n",
+      " 3584/40000 [=>............................] - ETA: 1s - loss: 2716.0065 - acc: 0.0218 "
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 597.8128 - acc: 0.1210\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 210.4473 - acc: 0.2937\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 178.4601 - acc: 0.3943\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 163.9568 - acc: 0.4528\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 148.7557 - acc: 0.4911\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 142.2416 - acc: 0.5085\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 135.9053 - acc: 0.5135\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 129.9224 - acc: 0.5264\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 125.6792 - acc: 0.5352\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 122.0069 - acc: 0.5483\n",
+      "Epoch 11/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 116.4140 - acc: 0.5605\n",
+      "Epoch 12/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 114.1196 - acc: 0.5672\n",
+      "Epoch 13/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 112.2881 - acc: 0.5762\n",
+      "Epoch 14/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 108.4843 - acc: 0.5852\n",
+      "Epoch 15/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 105.1192 - acc: 0.6004\n",
+      "Epoch 16/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 101.3346 - acc: 0.6064\n",
+      "Epoch 17/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 100.7492 - acc: 0.6299\n",
+      "Epoch 18/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 95.5216 - acc: 0.6398\n",
+      "Epoch 19/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 90.6594 - acc: 0.6496\n",
+      "Epoch 20/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 89.3969 - acc: 0.6598\n",
+      "Epoch 21/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 88.0442 - acc: 0.6689\n",
+      "Epoch 22/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 86.0028 - acc: 0.6802\n",
+      "Epoch 23/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 82.1963 - acc: 0.6863\n",
+      "Epoch 24/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 81.5040 - acc: 0.6929\n",
+      "Epoch 25/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 80.3557 - acc: 0.6988\n",
+      "Epoch 26/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 77.1632 - acc: 0.6991\n",
+      "Epoch 27/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 77.1578 - acc: 0.7057\n",
+      "Epoch 28/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 74.4771 - acc: 0.7148\n",
+      "Epoch 29/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 74.6412 - acc: 0.7176\n",
+      "Epoch 30/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 71.6926 - acc: 0.7206\n",
+      "Epoch 31/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 71.5301 - acc: 0.7272\n",
+      "Epoch 32/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 70.5739 - acc: 0.7262\n",
+      "Epoch 33/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 69.6226 - acc: 0.7345\n",
+      "Epoch 34/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 68.9689 - acc: 0.7312\n",
+      "Epoch 35/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 67.1838 - acc: 0.7368\n",
+      "Epoch 36/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 66.8838 - acc: 0.7413\n",
+      "Epoch 37/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 66.5810 - acc: 0.7433\n",
+      "Epoch 38/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 65.8278 - acc: 0.7484\n",
+      "Epoch 39/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 64.4730 - acc: 0.7481\n",
+      "Epoch 40/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 63.3101 - acc: 0.7518\n",
+      "Epoch 41/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 63.0545 - acc: 0.7561\n",
+      "Epoch 42/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 62.8501 - acc: 0.7587\n",
+      "Epoch 43/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 60.9331 - acc: 0.7651\n",
+      "Epoch 44/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 61.5242 - acc: 0.7627\n",
+      "Epoch 45/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 59.9547 - acc: 0.7673\n",
+      "Epoch 46/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 59.4017 - acc: 0.7722\n",
+      "Epoch 47/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 59.3910 - acc: 0.7701\n",
+      "Epoch 48/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 58.4525 - acc: 0.7703\n",
+      "Epoch 49/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 59.0992 - acc: 0.7725\n",
+      "Epoch 50/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 57.5350 - acc: 0.7753\n",
+      "Epoch 51/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 57.1150 - acc: 0.7756\n",
+      "Epoch 52/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 56.7862 - acc: 0.7791\n",
+      "Epoch 53/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 56.3232 - acc: 0.7806\n",
+      "Epoch 54/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 56.0985 - acc: 0.7825\n",
+      "Epoch 55/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 55.4170 - acc: 0.7830\n",
+      "Epoch 56/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 55.5647 - acc: 0.7830\n",
+      "Epoch 57/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 55.2775 - acc: 0.7851\n",
+      "Epoch 58/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 54.0733 - acc: 0.7891\n",
+      "Epoch 59/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 54.1139 - acc: 0.7874\n",
+      "Epoch 60/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 53.2735 - acc: 0.7916\n",
+      "Epoch 61/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 52.8612 - acc: 0.7891\n",
+      "Epoch 62/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 53.1684 - acc: 0.7916\n",
+      "Epoch 63/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 52.2871 - acc: 0.7936\n",
+      "Epoch 64/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 52.1343 - acc: 0.7964\n",
+      "Epoch 65/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 51.7669 - acc: 0.7957\n",
+      "Epoch 66/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 52.2350 - acc: 0.7932\n",
+      "Epoch 67/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 50.8560 - acc: 0.7997\n",
+      "Epoch 68/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 51.4454 - acc: 0.7983\n",
+      "Epoch 69/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 51.3007 - acc: 0.7987\n",
+      "Epoch 70/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 50.1133 - acc: 0.7997\n",
+      "Epoch 71/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 50.6132 - acc: 0.8024\n",
+      "Epoch 72/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 50.1975 - acc: 0.7987\n",
+      "Epoch 73/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 50.0509 - acc: 0.8056\n",
+      "Epoch 74/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 49.4048 - acc: 0.8041\n",
+      "Epoch 75/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 49.7859 - acc: 0.8056\n",
+      "Epoch 76/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.7597 - acc: 0.8075\n",
+      "Epoch 77/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 49.2480 - acc: 0.8053\n",
+      "Epoch 78/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 48.8739 - acc: 0.8072\n",
+      "Epoch 79/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 48.5033 - acc: 0.8080\n",
+      "Epoch 80/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 46us/step - loss: 47.9477 - acc: 0.8076\n",
+      "Epoch 81/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 48.1513 - acc: 0.8094\n",
+      "Epoch 82/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 47.9069 - acc: 0.8112\n",
+      "Epoch 83/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 48.1458 - acc: 0.8066\n",
+      "Epoch 84/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.8598 - acc: 0.8113\n",
+      "Epoch 85/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 47.8418 - acc: 0.8072\n",
+      "Epoch 86/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 47.1709 - acc: 0.8125\n",
+      "Epoch 87/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.6620 - acc: 0.8152\n",
+      "Epoch 88/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.7406 - acc: 0.8135\n",
+      "Epoch 89/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.8395 - acc: 0.8122\n",
+      "Epoch 90/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.4816 - acc: 0.8133\n",
+      "Epoch 91/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 46.3166 - acc: 0.8129\n",
+      "Epoch 92/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.9563 - acc: 0.8153\n",
+      "Epoch 93/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 46.0602 - acc: 0.8126\n",
+      "Epoch 94/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 46.1538 - acc: 0.8110\n",
+      "Epoch 95/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.8953 - acc: 0.8158\n",
+      "Epoch 96/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.2404 - acc: 0.8150\n",
+      "Epoch 97/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 45.6466 - acc: 0.8190\n",
+      "Epoch 98/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.6467 - acc: 0.8144\n",
+      "Epoch 99/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.2728 - acc: 0.8149\n",
+      "Epoch 100/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 44.3861 - acc: 0.8159\n",
+      "Epoch 101/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 44.8862 - acc: 0.8141\n",
+      "Epoch 102/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 44.4110 - acc: 0.8158\n",
+      "Epoch 103/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 45.0547 - acc: 0.8184\n",
+      "Epoch 104/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.5219 - acc: 0.8179\n",
+      "Epoch 105/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.2547 - acc: 0.8203\n",
+      "Epoch 106/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 44.5136 - acc: 0.8218\n",
+      "Epoch 107/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.0945 - acc: 0.8203\n",
+      "Epoch 108/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 44.1366 - acc: 0.8194\n",
+      "Epoch 109/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.6932 - acc: 0.8199\n",
+      "Epoch 110/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 44.3129 - acc: 0.8180\n",
+      "Epoch 111/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.8250 - acc: 0.8194\n",
+      "Epoch 112/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.8455 - acc: 0.8253\n",
+      "Epoch 113/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 43.3180 - acc: 0.8196\n",
+      "Epoch 114/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 43.3003 - acc: 0.8202\n",
+      "Epoch 115/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.4977 - acc: 0.8204\n",
+      "Epoch 116/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 43.1181 - acc: 0.8216\n",
+      "Epoch 117/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 43.0093 - acc: 0.8234\n",
+      "Epoch 118/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 42.5135 - acc: 0.8261\n",
+      "Epoch 119/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 43.2543 - acc: 0.8206\n",
+      "Epoch 120/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.6696 - acc: 0.8257\n",
+      "Epoch 121/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 42.4779 - acc: 0.8235\n",
+      "Epoch 122/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.7377 - acc: 0.8237\n",
+      "Epoch 123/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 42.4381 - acc: 0.8251\n",
+      "Epoch 124/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 42.7592 - acc: 0.8274\n",
+      "Epoch 125/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 42.3900 - acc: 0.8249\n",
+      "Epoch 126/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 42.4370 - acc: 0.8270\n",
+      "Epoch 127/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 42.4188 - acc: 0.8273\n",
+      "Epoch 128/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.3583 - acc: 0.8283\n",
+      "Epoch 129/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.9262 - acc: 0.8266\n",
+      "Epoch 130/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 41.4352 - acc: 0.8293\n",
+      "Epoch 131/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 42.0848 - acc: 0.8257\n",
+      "Epoch 132/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.3046 - acc: 0.8287\n",
+      "Epoch 133/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.7401 - acc: 0.8282\n",
+      "Epoch 134/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.4317 - acc: 0.8296\n",
+      "Epoch 135/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.3885 - acc: 0.8296\n",
+      "Epoch 136/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.9047 - acc: 0.8293\n",
+      "Epoch 137/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.5638 - acc: 0.8311\n",
+      "Epoch 138/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 41.4830 - acc: 0.8283\n",
+      "Epoch 139/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.9133 - acc: 0.8295\n",
+      "Epoch 140/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 41.1143 - acc: 0.8303\n",
+      "Epoch 141/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.7894 - acc: 0.8336\n",
+      "Epoch 142/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.9103 - acc: 0.8311\n",
+      "Epoch 143/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.6526 - acc: 0.8314\n",
+      "Epoch 144/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.5254 - acc: 0.8314\n",
+      "Epoch 145/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.6568 - acc: 0.8315\n",
+      "Epoch 146/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.4990 - acc: 0.8310\n",
+      "Epoch 147/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.7808 - acc: 0.8312\n",
+      "Epoch 148/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 40.4476 - acc: 0.8329\n",
+      "Epoch 149/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 40.6335 - acc: 0.8329\n",
+      "Epoch 150/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.1218 - acc: 0.8356\n",
+      "Epoch 151/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.4083 - acc: 0.8346\n",
+      "Epoch 152/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 40.3002 - acc: 0.8343\n",
+      "Epoch 153/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 40.4726 - acc: 0.8365\n",
+      "Epoch 154/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 40.0705 - acc: 0.8364\n",
+      "Epoch 155/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 40.1517 - acc: 0.8365\n",
+      "Epoch 156/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.8083 - acc: 0.8353\n",
+      "Epoch 157/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.5723 - acc: 0.8374\n",
+      "Epoch 158/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.9110 - acc: 0.8371\n",
+      "Epoch 159/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 49us/step - loss: 40.0705 - acc: 0.8351\n",
+      "Epoch 160/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 40.6387 - acc: 0.8359\n",
+      "Epoch 161/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.2955 - acc: 0.8371\n",
+      "Epoch 162/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 39.7401 - acc: 0.8332\n",
+      "Epoch 163/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.4969 - acc: 0.8338\n",
+      "Epoch 164/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.7842 - acc: 0.8356\n",
+      "Epoch 165/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.1015 - acc: 0.8371\n",
+      "Epoch 166/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 39.3293 - acc: 0.8394\n",
+      "Epoch 167/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 39.3859 - acc: 0.8355\n",
+      "Epoch 168/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.4845 - acc: 0.8376\n",
+      "Epoch 169/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.3116 - acc: 0.8378\n",
+      "Epoch 170/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.6189 - acc: 0.8371\n",
+      "Epoch 171/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 39.3981 - acc: 0.8367\n",
+      "Epoch 172/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 39.3969 - acc: 0.8399\n",
+      "Epoch 173/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.8684 - acc: 0.8361\n",
+      "Epoch 174/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 39.0237 - acc: 0.8370\n",
+      "Epoch 175/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 39.1276 - acc: 0.8401\n",
+      "Epoch 176/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.5029 - acc: 0.8415\n",
+      "Epoch 177/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.7888 - acc: 0.8364\n",
+      "Epoch 178/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.8198 - acc: 0.8412\n",
+      "Epoch 179/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.6906 - acc: 0.8423\n",
+      "Epoch 180/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.6012 - acc: 0.8369\n",
+      "Epoch 181/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.7450 - acc: 0.8384\n",
+      "Epoch 182/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.3712 - acc: 0.8392\n",
+      "Epoch 183/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.7950 - acc: 0.8389\n",
+      "Epoch 184/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 38.5627 - acc: 0.8418\n",
+      "Epoch 185/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.4998 - acc: 0.8436\n",
+      "Epoch 186/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.0233 - acc: 0.8412\n",
+      "Epoch 187/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.3822 - acc: 0.8395\n",
+      "Epoch 188/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.8953 - acc: 0.8392\n",
+      "Epoch 189/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 38.1532 - acc: 0.8422\n",
+      "Epoch 190/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.1113 - acc: 0.8411\n",
+      "Epoch 191/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.1346 - acc: 0.8438\n",
+      "Epoch 192/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 38.0093 - acc: 0.8448\n",
+      "Epoch 193/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 38.2327 - acc: 0.8409\n",
+      "Epoch 194/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 38.0565 - acc: 0.8430\n",
+      "Epoch 195/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 38.0724 - acc: 0.8412\n",
+      "Epoch 196/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.1740 - acc: 0.8436\n",
+      "Epoch 197/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 38.0206 - acc: 0.8433\n",
+      "Epoch 198/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.6394 - acc: 0.8419\n",
+      "Epoch 199/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.9131 - acc: 0.8428\n",
+      "Epoch 200/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.7815 - acc: 0.8429\n",
+      "Epoch 201/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.7772 - acc: 0.8427\n",
+      "Epoch 202/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 37.6751 - acc: 0.8444\n",
+      "Epoch 203/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.5647 - acc: 0.8445\n",
+      "Epoch 204/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 37.4331 - acc: 0.8447\n",
+      "Epoch 205/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.5980 - acc: 0.8468\n",
+      "Epoch 206/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.4002 - acc: 0.8459\n",
+      "Epoch 207/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.5950 - acc: 0.8448\n",
+      "Epoch 208/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.4471 - acc: 0.8404\n",
+      "Epoch 209/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 37.0986 - acc: 0.8462\n",
+      "Epoch 210/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.0004 - acc: 0.8440\n",
+      "Epoch 211/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 37.2846 - acc: 0.8433\n",
+      "Epoch 212/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.1213 - acc: 0.8432\n",
+      "Epoch 213/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.9459 - acc: 0.8455\n",
+      "Epoch 214/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 37.1867 - acc: 0.8446\n",
+      "Epoch 215/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.8612 - acc: 0.8455\n",
+      "Epoch 216/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 37.1274 - acc: 0.8425\n",
+      "Epoch 217/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.8296 - acc: 0.8436\n",
+      "Epoch 218/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 37.1676 - acc: 0.8454\n",
+      "Epoch 219/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.3349 - acc: 0.8435\n",
+      "Epoch 220/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.4951 - acc: 0.8465\n",
+      "Epoch 221/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.0356 - acc: 0.8445\n",
+      "Epoch 222/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.6631 - acc: 0.8479\n",
+      "Epoch 223/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 37.0317 - acc: 0.8440\n",
+      "Epoch 224/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 36.4591 - acc: 0.8446\n",
+      "Epoch 225/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.6045 - acc: 0.8442\n",
+      "Epoch 226/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.7140 - acc: 0.8465\n",
+      "Epoch 227/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.4744 - acc: 0.8470\n",
+      "Epoch 228/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.5382 - acc: 0.8459\n",
+      "Epoch 229/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 36.4092 - acc: 0.8479\n",
+      "Epoch 230/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.7226 - acc: 0.8464\n",
+      "Epoch 231/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.3816 - acc: 0.8430\n",
+      "Epoch 232/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.0440 - acc: 0.8483\n",
+      "Epoch 233/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.5225 - acc: 0.8430\n",
+      "Epoch 234/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.3469 - acc: 0.8485\n",
+      "Epoch 235/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.2697 - acc: 0.8485\n",
+      "Epoch 236/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.3278 - acc: 0.8459\n",
+      "Epoch 237/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.0591 - acc: 0.8475\n",
+      "Epoch 238/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.3359 - acc: 0.8470\n",
+      "Epoch 239/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.3830 - acc: 0.8448\n",
+      "Epoch 240/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.2924 - acc: 0.8437\n",
+      "Epoch 241/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 36.5011 - acc: 0.8468\n",
+      "Epoch 242/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 36.0785 - acc: 0.8445\n",
+      "Epoch 243/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7431 - acc: 0.8482\n",
+      "Epoch 244/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.1082 - acc: 0.8475\n",
+      "Epoch 245/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 36.3938 - acc: 0.8488\n",
+      "Epoch 246/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 35.9604 - acc: 0.8484\n",
+      "Epoch 247/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.8050 - acc: 0.8467\n",
+      "Epoch 248/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 36.1385 - acc: 0.8444\n",
+      "Epoch 249/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.6033 - acc: 0.8506\n",
+      "Epoch 250/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.7974 - acc: 0.8482\n",
+      "Epoch 251/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.7810 - acc: 0.8490\n",
+      "Epoch 252/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 36.1550 - acc: 0.8470\n",
+      "Epoch 253/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.8419 - acc: 0.8463\n",
+      "Epoch 254/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 36.0091 - acc: 0.8486\n",
+      "Epoch 255/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 35.5902 - acc: 0.8508\n",
+      "Epoch 256/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.9601 - acc: 0.8497\n",
+      "Epoch 257/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.7963 - acc: 0.8501\n",
+      "Epoch 258/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.6174 - acc: 0.8483\n",
+      "Epoch 259/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.7753 - acc: 0.8484\n",
+      "Epoch 260/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.9278 - acc: 0.8482\n",
+      "Epoch 261/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.6238 - acc: 0.8476\n",
+      "Epoch 262/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.6018 - acc: 0.8477\n",
+      "Epoch 263/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7954 - acc: 0.8487\n",
+      "Epoch 264/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5074 - acc: 0.8500\n",
+      "Epoch 265/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.6100 - acc: 0.8475\n",
+      "Epoch 266/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.6089 - acc: 0.8475\n",
+      "Epoch 267/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.6281 - acc: 0.8518\n",
+      "Epoch 268/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.6216 - acc: 0.8476\n",
+      "Epoch 269/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.1702 - acc: 0.8512\n",
+      "Epoch 270/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7846 - acc: 0.8497\n",
+      "Epoch 271/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.6218 - acc: 0.8508\n",
+      "Epoch 272/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.4418 - acc: 0.8497\n",
+      "Epoch 273/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.0488 - acc: 0.8486\n",
+      "Epoch 274/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.7626 - acc: 0.8508\n",
+      "Epoch 275/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 35.3701 - acc: 0.8485\n",
+      "Epoch 276/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.2980 - acc: 0.8525\n",
+      "Epoch 277/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.0947 - acc: 0.8481\n",
+      "Epoch 278/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.5770 - acc: 0.8511\n",
+      "Epoch 279/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2985 - acc: 0.8526\n",
+      "Epoch 280/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1862 - acc: 0.8514\n",
+      "Epoch 281/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 35.2278 - acc: 0.8513\n",
+      "Epoch 282/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 35.3102 - acc: 0.8493\n",
+      "Epoch 283/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.3147 - acc: 0.8511\n",
+      "Epoch 284/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1382 - acc: 0.8532\n",
+      "Epoch 285/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.8567 - acc: 0.8539\n",
+      "Epoch 286/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0676 - acc: 0.8517\n",
+      "Epoch 287/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.1976 - acc: 0.8533\n",
+      "Epoch 288/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.2425 - acc: 0.8499\n",
+      "Epoch 289/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.8648 - acc: 0.8531\n",
+      "Epoch 290/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 35.0013 - acc: 0.8523\n",
+      "Epoch 291/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 34.9568 - acc: 0.8509\n",
+      "Epoch 292/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 34.8632 - acc: 0.8510\n",
+      "Epoch 293/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 35.1629 - acc: 0.8479\n",
+      "Epoch 294/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 35.1124 - acc: 0.8523\n",
+      "Epoch 295/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 35.1130 - acc: 0.8520\n",
+      "Epoch 296/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.1101 - acc: 0.8509\n",
+      "Epoch 297/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9017 - acc: 0.8520\n",
+      "Epoch 298/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7872 - acc: 0.8493\n",
+      "Epoch 299/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.8986 - acc: 0.8537\n",
+      "Epoch 300/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.9930 - acc: 0.8498\n",
+      "Epoch 301/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 35.0195 - acc: 0.8548\n",
+      "Epoch 302/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9755 - acc: 0.8519\n",
+      "Epoch 303/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 35.0914 - acc: 0.8540\n",
+      "Epoch 304/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.9577 - acc: 0.8510\n",
+      "Epoch 305/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.5692 - acc: 0.8529\n",
+      "Epoch 306/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8989 - acc: 0.8515\n",
+      "Epoch 307/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7311 - acc: 0.8540\n",
+      "Epoch 308/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.7486 - acc: 0.8512\n",
+      "Epoch 309/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.8006 - acc: 0.8519\n",
+      "Epoch 310/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.5176 - acc: 0.8514\n",
+      "Epoch 311/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.3886 - acc: 0.8530\n",
+      "Epoch 312/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.7619 - acc: 0.8529\n",
+      "Epoch 313/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.6052 - acc: 0.8526\n",
+      "Epoch 314/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.9637 - acc: 0.8507\n",
+      "Epoch 315/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4638 - acc: 0.8531\n",
+      "Epoch 316/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.3475 - acc: 0.8531\n",
+      "Epoch 317/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.5912 - acc: 0.8515\n",
+      "Epoch 318/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 34.3538 - acc: 0.8533\n",
+      "Epoch 319/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.5053 - acc: 0.8548\n",
+      "Epoch 320/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.5437 - acc: 0.8518\n",
+      "Epoch 321/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.3846 - acc: 0.8531\n",
+      "Epoch 322/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.4208 - acc: 0.8564\n",
+      "Epoch 323/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.5484 - acc: 0.8506\n",
+      "Epoch 324/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2527 - acc: 0.8523\n",
+      "Epoch 325/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.4841 - acc: 0.8536\n",
+      "Epoch 326/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.2908 - acc: 0.8542\n",
+      "Epoch 327/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 34.2726 - acc: 0.8519\n",
+      "Epoch 328/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.3781 - acc: 0.8525\n",
+      "Epoch 329/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.4412 - acc: 0.8535\n",
+      "Epoch 330/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.2688 - acc: 0.8543\n",
+      "Epoch 331/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0867 - acc: 0.8549\n",
+      "Epoch 332/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.1614 - acc: 0.8543\n",
+      "Epoch 333/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.1181 - acc: 0.8555\n",
+      "Epoch 334/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.3728 - acc: 0.8545\n",
+      "Epoch 335/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2400 - acc: 0.8551\n",
+      "Epoch 336/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.3589 - acc: 0.8564\n",
+      "Epoch 337/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 34.2012 - acc: 0.8566\n",
+      "Epoch 338/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9552 - acc: 0.8539\n",
+      "Epoch 339/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.1407 - acc: 0.8556\n",
+      "Epoch 340/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.3997 - acc: 0.8529\n",
+      "Epoch 341/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 34.3774 - acc: 0.8560\n",
+      "Epoch 342/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.0636 - acc: 0.8579\n",
+      "Epoch 343/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9921 - acc: 0.8547\n",
+      "Epoch 344/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8969 - acc: 0.8562\n",
+      "Epoch 345/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 34.1867 - acc: 0.8569\n",
+      "Epoch 346/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.0583 - acc: 0.8573\n",
+      "Epoch 347/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.7457 - acc: 0.8569\n",
+      "Epoch 348/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 34.2645 - acc: 0.8559\n",
+      "Epoch 349/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 34.0538 - acc: 0.8565\n",
+      "Epoch 350/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.8387 - acc: 0.8550\n",
+      "Epoch 351/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.8065 - acc: 0.8574\n",
+      "Epoch 352/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.8676 - acc: 0.8539\n",
+      "Epoch 353/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0089 - acc: 0.8542\n",
+      "Epoch 354/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.8259 - acc: 0.8553\n",
+      "Epoch 355/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.9836 - acc: 0.8549\n",
+      "Epoch 356/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.7832 - acc: 0.8541\n",
+      "Epoch 357/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 34.0986 - acc: 0.8550\n",
+      "Epoch 358/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.9057 - acc: 0.8580\n",
+      "Epoch 359/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.7097 - acc: 0.8588\n",
+      "Epoch 360/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.8015 - acc: 0.8567\n",
+      "Epoch 361/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.6467 - acc: 0.8602\n",
+      "Epoch 362/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 34.0290 - acc: 0.8556\n",
+      "Epoch 363/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.5883 - acc: 0.8548\n",
+      "Epoch 364/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.7849 - acc: 0.8588\n",
+      "Epoch 365/500\n",
+      "40000/40000 [==============================] - 2s 41us/step - loss: 33.5473 - acc: 0.8561\n",
+      "Epoch 366/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.5983 - acc: 0.8586\n",
+      "Epoch 367/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.8751 - acc: 0.8600\n",
+      "Epoch 368/500\n",
+      "40000/40000 [==============================] - 2s 50us/step - loss: 33.6309 - acc: 0.8559\n",
+      "Epoch 369/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4633 - acc: 0.8579\n",
+      "Epoch 370/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 33.6110 - acc: 0.8582\n",
+      "Epoch 371/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.8921 - acc: 0.8590\n",
+      "Epoch 372/500\n",
+      "40000/40000 [==============================] - 2s 51us/step - loss: 33.4476 - acc: 0.8588\n",
+      "Epoch 373/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.5830 - acc: 0.8583\n",
+      "Epoch 374/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.7252 - acc: 0.8571\n",
+      "Epoch 375/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4350 - acc: 0.8562\n",
+      "Epoch 376/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.8885 - acc: 0.8584\n",
+      "Epoch 377/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.6363 - acc: 0.8582\n",
+      "Epoch 378/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.5641 - acc: 0.8581\n",
+      "Epoch 379/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.7372 - acc: 0.8573\n",
+      "Epoch 380/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.3689 - acc: 0.8611\n",
+      "Epoch 381/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3349 - acc: 0.8559\n",
+      "Epoch 382/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4626 - acc: 0.8586\n",
+      "Epoch 383/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.9575 - acc: 0.8590\n",
+      "Epoch 384/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.3585 - acc: 0.8571\n",
+      "Epoch 385/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4913 - acc: 0.8586\n",
+      "Epoch 386/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.5949 - acc: 0.8585\n",
+      "Epoch 387/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4288 - acc: 0.8567\n",
+      "Epoch 388/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1120 - acc: 0.8562\n",
+      "Epoch 389/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.4969 - acc: 0.8572\n",
+      "Epoch 390/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.2216 - acc: 0.8590\n",
+      "Epoch 391/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.8255 - acc: 0.8583\n",
+      "Epoch 392/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.0848 - acc: 0.8567\n",
+      "Epoch 393/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.3614 - acc: 0.8596\n",
+      "Epoch 394/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.3544 - acc: 0.8582\n",
+      "Epoch 395/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.4453 - acc: 0.8562\n",
+      "Epoch 396/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.2711 - acc: 0.8571\n",
+      "Epoch 397/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0012 - acc: 0.8565\n",
+      "Epoch 398/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1989 - acc: 0.8578\n",
+      "Epoch 399/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.1854 - acc: 0.8599\n",
+      "Epoch 400/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.1324 - acc: 0.8582\n",
+      "Epoch 401/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.1862 - acc: 0.8601\n",
+      "Epoch 402/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.2747 - acc: 0.8596\n",
+      "Epoch 403/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.5065 - acc: 0.8596\n",
+      "Epoch 404/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 33.2147 - acc: 0.8591\n",
+      "Epoch 405/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.9674 - acc: 0.8567\n",
+      "Epoch 406/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.1182 - acc: 0.8586\n",
+      "Epoch 407/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.5299 - acc: 0.8585\n",
+      "Epoch 408/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.1877 - acc: 0.8593\n",
+      "Epoch 409/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9243 - acc: 0.8598\n",
+      "Epoch 410/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1536 - acc: 0.8576\n",
+      "Epoch 411/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.3207 - acc: 0.8590\n",
+      "Epoch 412/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1413 - acc: 0.8557\n",
+      "Epoch 413/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.9054 - acc: 0.8594\n",
+      "Epoch 414/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0011 - acc: 0.8564\n",
+      "Epoch 415/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.8359 - acc: 0.8593\n",
+      "Epoch 416/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 33.1041 - acc: 0.8599\n",
+      "Epoch 417/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0560 - acc: 0.8599\n",
+      "Epoch 418/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 33.0220 - acc: 0.8595\n",
+      "Epoch 419/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 33.0338 - acc: 0.8609\n",
+      "Epoch 420/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 33.0888 - acc: 0.8594\n",
+      "Epoch 421/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9184 - acc: 0.8590\n",
+      "Epoch 422/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.2167 - acc: 0.8580\n",
+      "Epoch 423/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 33.1050 - acc: 0.8563\n",
+      "Epoch 424/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9222 - acc: 0.8586\n",
+      "Epoch 425/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9387 - acc: 0.8587\n",
+      "Epoch 426/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9892 - acc: 0.8615\n",
+      "Epoch 427/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8974 - acc: 0.8600\n",
+      "Epoch 428/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 33.2392 - acc: 0.8589\n",
+      "Epoch 429/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9354 - acc: 0.8565\n",
+      "Epoch 430/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.9888 - acc: 0.8568\n",
+      "Epoch 431/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9636 - acc: 0.8626\n",
+      "Epoch 432/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7478 - acc: 0.8599\n",
+      "Epoch 433/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.9119 - acc: 0.8594\n",
+      "Epoch 434/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.8194 - acc: 0.8573\n",
+      "Epoch 435/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6291 - acc: 0.8599\n",
+      "Epoch 436/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.9439 - acc: 0.8609\n",
+      "Epoch 437/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.8863 - acc: 0.8581\n",
+      "Epoch 438/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.7436 - acc: 0.8577\n",
+      "Epoch 439/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.6848 - acc: 0.8606\n",
+      "Epoch 440/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.6027 - acc: 0.8614\n",
+      "Epoch 441/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.7569 - acc: 0.8582\n",
+      "Epoch 442/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8632 - acc: 0.8606\n",
+      "Epoch 443/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.8178 - acc: 0.8599\n",
+      "Epoch 444/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.9282 - acc: 0.8596\n",
+      "Epoch 445/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.7798 - acc: 0.8604\n",
+      "Epoch 446/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.5697 - acc: 0.8609\n",
+      "Epoch 447/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.7818 - acc: 0.8603\n",
+      "Epoch 448/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.5371 - acc: 0.8611\n",
+      "Epoch 449/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.6227 - acc: 0.8621\n",
+      "Epoch 450/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.8534 - acc: 0.8625\n",
+      "Epoch 451/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5694 - acc: 0.8627\n",
+      "Epoch 452/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.6087 - acc: 0.8591\n",
+      "Epoch 453/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.5270 - acc: 0.8610\n",
+      "Epoch 454/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.7237 - acc: 0.8624\n",
+      "Epoch 455/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5661 - acc: 0.8587\n",
+      "Epoch 456/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.7999 - acc: 0.8562\n",
+      "Epoch 457/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.4074 - acc: 0.8624\n",
+      "Epoch 458/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4997 - acc: 0.8596\n",
+      "Epoch 459/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.6980 - acc: 0.8604\n",
+      "Epoch 460/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5151 - acc: 0.8586\n",
+      "Epoch 461/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.6015 - acc: 0.8609\n",
+      "Epoch 462/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.5661 - acc: 0.8597\n",
+      "Epoch 463/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4384 - acc: 0.8597\n",
+      "Epoch 464/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.4411 - acc: 0.8606\n",
+      "Epoch 465/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5527 - acc: 0.8615\n",
+      "Epoch 466/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.3125 - acc: 0.8619\n",
+      "Epoch 467/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.3185 - acc: 0.8624\n",
+      "Epoch 468/500\n",
+      "40000/40000 [==============================] - 2s 52us/step - loss: 32.3205 - acc: 0.8597\n",
+      "Epoch 469/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4112 - acc: 0.8603\n",
+      "Epoch 470/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4440 - acc: 0.8603\n",
+      "Epoch 471/500\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2166 - acc: 0.8615\n",
+      "Epoch 472/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.3152 - acc: 0.8622\n",
+      "Epoch 473/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.5202 - acc: 0.8634\n",
+      "Epoch 474/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3509 - acc: 0.8608\n",
+      "Epoch 475/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2972 - acc: 0.8631\n",
+      "Epoch 476/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2340 - acc: 0.8604\n",
+      "Epoch 477/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.4099 - acc: 0.8590\n",
+      "Epoch 478/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.2556 - acc: 0.8640\n",
+      "Epoch 479/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.2823 - acc: 0.8599\n",
+      "Epoch 480/500\n",
+      "40000/40000 [==============================] - 2s 42us/step - loss: 32.5090 - acc: 0.8619\n",
+      "Epoch 481/500\n",
+      "40000/40000 [==============================] - 2s 49us/step - loss: 32.3839 - acc: 0.8608\n",
+      "Epoch 482/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.2207 - acc: 0.8612\n",
+      "Epoch 483/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.4889 - acc: 0.8591\n",
+      "Epoch 484/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2773 - acc: 0.8611\n",
+      "Epoch 485/500\n",
+      "40000/40000 [==============================] - 2s 47us/step - loss: 32.5380 - acc: 0.8625\n",
+      "Epoch 486/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.1169 - acc: 0.8629\n",
+      "Epoch 487/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.4700 - acc: 0.8628\n",
+      "Epoch 488/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.1397 - acc: 0.8637\n",
+      "Epoch 489/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3328 - acc: 0.8609\n",
+      "Epoch 490/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.3408 - acc: 0.8605\n",
+      "Epoch 491/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.5183 - acc: 0.8619\n",
+      "Epoch 492/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.0912 - acc: 0.8635\n",
+      "Epoch 493/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 32.2941 - acc: 0.8610\n",
+      "Epoch 494/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.2039 - acc: 0.8628\n",
+      "Epoch 495/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.1758 - acc: 0.8607\n",
+      "Epoch 496/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.1739 - acc: 0.8637\n",
+      "Epoch 497/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 32.0979 - acc: 0.8582\n",
+      "Epoch 498/500\n",
+      "40000/40000 [==============================] - 2s 48us/step - loss: 32.1576 - acc: 0.8602\n",
+      "Epoch 499/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 32.0262 - acc: 0.8599\n",
+      "Epoch 500/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 32.0887 - acc: 0.8610\n",
+      "20000/20000 [==============================] - 2s 82us/step\n",
+      "40000/40000 [==============================] - 3s 80us/step\n",
+      "Epoch 1/500\n",
+      " 3616/40000 [=>............................] - ETA: 1s - loss: 2689.1740 - acc: 0.0210 "
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/hegder/anaconda3/envs/deep/lib/python3.6/site-packages/mxnet/module/bucketing_module.py:408: UserWarning: Optimizer created manually outside Module but rescale_grad is not normalized to 1.0/batch_size/num_workers (1.0 vs. 0.03125). Is this intended?\n",
+      "  force_init=force_init)\n"
+     ]
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "40000/40000 [==============================] - 2s 43us/step - loss: 590.7578 - acc: 0.1155\n",
+      "Epoch 2/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 213.6523 - acc: 0.2773\n",
+      "Epoch 3/500\n",
+      "40000/40000 [==============================] - 2s 45us/step - loss: 182.5214 - acc: 0.3849\n",
+      "Epoch 4/500\n",
+      "40000/40000 [==============================] - 2s 46us/step - loss: 165.6190 - acc: 0.4341\n",
+      "Epoch 5/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 154.0008 - acc: 0.4641\n",
+      "Epoch 6/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 146.4385 - acc: 0.4901\n",
+      "Epoch 7/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 138.4695 - acc: 0.5204\n",
+      "Epoch 8/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 130.9537 - acc: 0.5291\n",
+      "Epoch 9/500\n",
+      "40000/40000 [==============================] - 2s 43us/step - loss: 128.4725 - acc: 0.5379\n",
+      "Epoch 10/500\n",
+      "40000/40000 [==============================] - 2s 44us/step - loss: 122.6359 - acc: 0.5494\n",
+      "Epoch 11/500\n",
+      " 5792/40000 [===>..........................] - ETA: 1s - loss: 125.4901 - acc: 0.5411"
+     ]
+    }
+   ],
+   "source": [
+    "from sklearn.model_selection import GridSearchCV\n",
+    "from keras.models import Sequential\n",
+    "from keras.layers import Dense\n",
+    "from keras.wrappers.scikit_learn import KerasClassifier\n",
+    "\n",
+    "model = KerasClassifier(build_fn=scn.fullycon, in_size=8, out_size=250, N_gpus=1, epochs=500, verbose=1)\n",
+    "\n",
+    "param_grid = dict(N_hidden=[1,2,3,4,5], N_neurons=[250, 500, 1000])\n",
+    "grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=1, verbose=1)\n",
+    "grid_result = grid.fit(x_train, y_train)\n",
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": []
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2018-08-29T06:42:00.493626Z",
+     "start_time": "2018-08-29T06:42:00.483427Z"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "grid_result"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {
+    "ExecuteTime": {
+     "end_time": "2018-08-29T06:43:26.323343Z",
+     "start_time": "2018-08-29T06:43:26.317291Z"
+    }
+   },
+   "outputs": [],
+   "source": [
+    "grid_result.best_params_"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3",
+   "language": "python",
+   "name": "python3"
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}

+ 36 - 0
make_dataset.py

@@ -0,0 +1,36 @@
+import snlay as snlay
+import h5py
+import numpy as np
+from scattnlay import scattnlay
+import time
+import progressbar
+
+
+dataset_size = 100000 
+
+# parameters of the dataset
+num_layers = 8
+num_lpoints = 250
+lam_min = 300
+lam_max = 1200
+size_min = 30
+size_max = 70
+
+#make the materials list here
+mats = [3, 4, 3, 4, 3, 4, 3, 4]       # 2 - silicon, silicon.dat,   1 - gold,  gold.dat
+                                      # 3 - silica,  silica.dat,    4 - titania,  tio2.dat
+#generate a huge array and then reshape
+dataset_X = np.random.randint(size_min,size_max+1,num_layers*dataset_size).astype(float).reshape(dataset_size, num_layers)
+lams = np.linspace(lam_min, lam_max, num_lpoints)
+dataset_Y = np.zeros((dataset_size,num_lpoints))
+
+for ind in progressbar.progressbar(np.arange(dataset_size)):
+    kr, m = snlay.make_xm(dataset_X[ind,:], mats, lams)
+    terms, dataset_Y[ind,:], Qsca, Qabs, Qbk, Qpr, g, Albedo, S1, S2 = scattnlay(kr, m)
+
+
+h5f = h5py.File('./datasets/s8_sio2tio2.h5', 'w')
+h5f.create_dataset('sizes', data=dataset_X)
+h5f.create_dataset('spectrum', data=dataset_Y)
+h5f.close()
+

+ 49 - 0
materials/gold.dat

@@ -0,0 +1,49 @@
+187.9	1.28	1.188
+191.6	1.32	1.203
+195.3	1.34	1.226
+199.3	1.33	1.251
+203.3	1.33	1.277
+207.3	1.3	1.304
+211.9	1.3	1.35
+216.4	1.3	1.387
+221.4	1.3	1.427
+226.2	1.31	1.46
+231.3	1.3	1.497
+237.1	1.32	1.536
+242.6	1.32	1.577
+249	1.33	1.631
+255.1	1.33	1.688
+261.6	1.35	1.749
+268.9	1.38	1.803
+276.1	1.43	1.847
+284.4	1.47	1.869
+292.4	1.49	1.878
+300.9	1.53	1.889
+310.7	1.53	1.893
+320.4	1.54	1.898
+331.5	1.48	1.883
+342.5	1.48	1.871
+354.2	1.5	1.866
+367.9	1.48	1.895
+381.5	1.46	1.933
+397.4	1.47	1.952
+413.3	1.46	1.958
+430.5	1.45	1.948
+450.9	1.38	1.914
+471.4	1.31	1.849
+495.9	1.04	1.833
+520.9	0.62	2.081
+548.6	0.43	2.455
+582.1	0.29	2.863
+616.8	0.21	3.272
+659.5	0.14	3.697
+704.5	0.13	4.103
+756	0.14	4.542
+821.1	0.16	5.083
+892	0.17	5.663
+984	0.22	6.35
+1088	0.27	7.15
+1216	0.35	8.145
+1393	0.43	9.519
+1610	0.56	11.21
+1937	0.92	13.78

+ 101 - 0
materials/silica.dat

@@ -0,0 +1,101 @@
+210	1.53835762	0
+217.4	1.530846431	0
+225.1	1.524078907	0
+233	1.518041768	0
+241.2	1.512572116	0
+249.7	1.507609587	0
+258.5	1.503100963	0
+267.6	1.498999219	0
+277	1.495262719	0
+286.8	1.491821503	0
+296.9	1.488683281	0
+307.4	1.485791437	0
+318.2	1.483150433	0
+329.4	1.480714442	0
+341	1.478467652	0
+353	1.47639513	0
+365.5	1.474468282	0
+378.3	1.47270468	0
+391.7	1.471052512	0
+405.5	1.46952865	0
+419.7	1.468121822	0
+434.5	1.46680482	0
+449.8	1.46558083	0
+465.7	1.464436031	0
+482.1	1.463371935	0
+499.1	1.462376439	0
+516.7	1.461444991	0
+534.9	1.460573079	0
+553.7	1.459756285	0
+573.2	1.458986561	0
+593.4	1.458260788	0
+614.3	1.457575807	0
+636	1.456925601	0
+658.4	1.456310408	0
+681.6	1.455724699	0
+705.6	1.45516603	0
+730.5	1.454629875	0
+756.2	1.454116165	0
+782.9	1.453618854	0
+810.4	1.45313961	0
+839	1.452671274	0
+868.6	1.452213821	0
+899.2	1.451765383	0
+930.8	1.451324079	0
+963.6	1.450885397	0
+997.6	1.450447736	0
+1033	1.450006962	0
+1069	1.44957109	0
+1107	1.449121462	0
+1146	1.448668311	0
+1186	1.448209659	0
+1228	1.447732246	0
+1271	1.447245577	0
+1316	1.446736352	0
+1362	1.446213852	0
+1410	1.445664578	0
+1460	1.445086147	0
+1512	1.444475988	0
+1565	1.443843402	0
+1620	1.443173929	0
+1677	1.442464576	0
+1736	1.441712173	0
+1797	1.440913367	0
+1861	1.440050939	0
+1926	1.439148066	0
+1994	1.438172943	0
+2064	1.43713496	0
+2137	1.436013962	0
+2212	1.434819618	0
+2290	1.433529881	0
+2371	1.432137211	0
+2454	1.430651699	0
+2541	1.429028728	0
+2630	1.427296094	0
+2723	1.425404433	0
+2819	1.423361368	0
+2918	1.421154416	0
+3021	1.418745952	0
+3128	1.416117293	0
+3238	1.413274157	0
+3352	1.410169683	0
+3470	1.406778215	0
+3592	1.403070896	0
+3719	1.398982	0
+3850	1.394503572	0
+3986	1.389555342	0
+4126	1.384120806	0
+4271	1.378099774	0
+4422	1.371370131	0
+4578	1.363881434	0
+4739	1.355526219	0
+4906	1.346117123	0
+5079	1.335482357	0
+5258	1.323410544	0
+5443	1.3096384	0
+5635	1.293746028	0
+5833	1.275372396	0
+6039	1.253728956	0
+6252	1.228088835	0
+6472	1.197325672	0
+6700	1.159649414	0

+ 121 - 0
materials/silicon.dat

@@ -0,0 +1,121 @@
+250	1.637	3.59E+00
+260	1.737	3.99E+00
+270	2.03	4.60E+00
+280	2.84	5.20E+00
+290	4.185	5.31E+00
+300	5.049	4.29E+00
+310	5.091	3.62E+00
+320	5.085	3.28E+00
+330	5.135	3.09E+00
+340	5.245	2.96E+00
+350	5.423	2.91E+00
+360	5.914	2.91E+00
+370	6.82	2.14E+00
+380	6.587	9.84E-01
+390	6.025	5.03E-01
+400	5.623	3.26E-01
+410	5.341	2.41E-01
+420	5.11	1.77E-01
+430	4.932	1.38E-01
+440	4.79	1.12E-01
+450	4.673	9.54E-02
+460	4.572	7.91E-02
+470	4.485	7.02E-02
+480	4.412	5.98E-02
+490	4.349	5.38E-02
+500	4.289	4.85E-02
+510	4.235	4.38E-02
+520	4.187	3.95E-02
+530	4.145	3.48E-02
+540	4.103	2.99E-02
+550	4.073	2.80E-02
+560	4.038	2.66E-02
+570	4.006	2.37E-02
+580	3.977	2.19E-02
+590	3.954	2.01E-02
+600	3.931	1.85E-02
+610	3.908	1.73E-02
+620	3.888	1.68E-02
+630	3.869	1.63E-02
+640	3.851	1.47E-02
+650	3.835	1.44E-02
+660	3.817	1.36E-02
+670	3.805	1.28E-02
+680	3.791	1.20E-02
+690	3.776	1.13E-02
+700	3.765	1.06E-02
+710	3.753	9.96E-03
+720	3.741	9.33E-03
+730	3.73	8.73E-03
+740	3.719	8.16E-03
+750	3.712	7.62E-03
+760	3.701	7.09E-03
+770	3.693	6.61E-03
+780	3.684	6.13E-03
+790	3.677	5.69E-03
+800	3.669	5.27E-03
+810	3.662	4.86E-03
+820	3.655	4.48E-03
+830	3.646	4.12E-03
+840	3.641	3.78E-03
+850	3.636	3.46E-03
+860	3.628	3.16E-03
+870	3.622	2.87E-03
+880	3.617	2.60E-03
+890	3.613	2.35E-03
+900	3.61	2.11E-03
+910	3.604	1.89E-03
+920	3.598	1.68E-03
+930	3.597	1.48E-03
+940	3.59	1.31E-03
+950	3.584	1.14E-03
+960	3.584	9.82E-04
+970	3.578	8.41E-04
+980	3.582	7.13E-04
+990	3.579	5.96E-04
+1000	3.575	4.90E-04
+1010	3.572	3.96E-04
+1020	3.568	3.14E-04
+1030	3.565	2.40E-04
+1040	3.562	1.80E-04
+1050	3.559	1.30E-04
+1060	3.556	9.25E-05
+1070	3.553	6.78E-05
+1080	3.549	5.22E-05
+1090	3.547	3.98E-05
+1100	3.545	3.02E-05
+1110	3.542	2.29E-05
+1120	3.54	1.71E-05
+1130	3.537	1.24E-05
+1140	3.534	8.62E-06
+1150	3.533	5.69E-06
+1160	3.53	3.43E-06
+1170	3.527	1.77E-06
+1180	3.526	5.56E-07
+1190	3.524	2.32E-07
+1200	3.522	1.39E-07
+1210	3.52	8.09E-08
+1220	3.518	4.79E-08
+1230	3.517	2.71E-08
+1240	3.515	1.43E-08
+1250	3.513	5.88E-09
+1260	3.512	2.34E-09
+1270	3.509	1.27E-09
+1280	3.509	7.53E-10
+1290	3.506	4.48E-10
+1300	3.505	2.72E-10
+1310	3.503	1.59E-10
+1320	3.502	8.72E-11
+1330	3.501	4.20E-11
+1340	3.5	1.81E-11
+1350	3.499	1.04E-11
+1360	3.497	6.29E-12
+1370	3.496	3.90E-12
+1380	3.496	2.64E-12
+1390	3.496	1.74E-12
+1400	3.493	1.04E-12
+1410	3.492	6.04E-13
+1420	3.492	4.29E-13
+1430	3.49	2.04E-13
+1440	3.488	1.38E-13
+1450	3.487	1.09E-13

+ 49 - 0
materials/silver.dat

@@ -0,0 +1,49 @@
+187.9	1.07	1.212
+191.6	1.1	1.232
+195.3	1.12	1.255
+199.3	1.14	1.277
+203.3	1.15	1.296
+207.3	1.18	1.312
+211.9	1.2	1.325
+216.4	1.22	1.336
+221.4	1.25	1.342
+226.2	1.26	1.344
+231.3	1.28	1.357
+237.1	1.28	1.367
+242.6	1.3	1.378
+249	1.31	1.389
+255.1	1.33	1.393
+261.6	1.35	1.387
+268.9	1.38	1.372
+276.1	1.41	1.331
+284.4	1.41	1.264
+292.4	1.39	1.161
+300.9	1.34	0.964
+310.7	1.13	0.616
+320.4	0.81	0.392
+331.5	0.17	0.829
+342.5	0.14	1.142
+354.2	0.1	1.419
+367.9	0.07	1.657
+381.5	0.05	1.864
+397.4	0.05	2.07
+413.3	0.05	2.275
+430.5	0.04	2.462
+450.9	0.04	2.657
+471.4	0.05	2.869
+495.9	0.05	3.093
+520.9	0.05	3.324
+548.6	0.06	3.586
+582.1	0.05	3.858
+616.8	0.06	4.152
+659.5	0.05	4.483
+704.5	0.04	4.838
+756	0.03	5.242
+821.1	0.04	5.727
+892	0.04	6.312
+984	0.04	6.992
+1088	0.04	7.795
+1216	0.09	8.828
+1393	0.13	10.1
+1610	0.15	11.85
+1937	0.24	14.08

+ 490 - 0
materials/tio2.dat

@@ -0,0 +1,490 @@
+120.181141	1.126620101	0.898838687
+120.874955	1.124382098	0.907024637
+121.572773	1.12223231	0.915711275
+122.274621	1.12020412	0.924913811
+122.98052	1.118333711	0.934645892
+123.690494	1.116660119	0.944919268
+124.404567	1.115225264	0.955743457
+125.122762	1.11407395	0.967125376
+125.845104	1.113253851	0.979068951
+126.571616	1.112815469	0.991574714
+127.302322	1.112812071	1.004639372
+128.037246	1.113299623	1.018255362
+128.776413	1.114336713	1.032410365
+129.519847	1.115984496	1.047086792
+130.267574	1.118306683	1.062261195
+131.019616	1.121369619	1.077903585
+131.776001	1.125242533	1.093976561
+132.536752	1.1299981	1.110434118
+133.301895	1.135713645	1.127219813
+134.071455	1.142473732	1.144263515
+134.845458	1.150376535	1.161474314
+135.62393	1.159556385	1.178716888
+136.406895	1.170116495	1.195592451
+137.194381	1.181674389	1.211889595
+137.986413	1.194107411	1.227671224
+138.783017	1.207366224	1.242935287
+139.58422	1.22141515	1.257658519
+140.390048	1.236221757	1.271806367
+141.200529	1.251752262	1.285337463
+142.015689	1.267968941	1.298206521
+142.835554	1.284828569	1.3103667
+143.660153	1.302281572	1.321771775
+144.489512	1.320271805	1.332378183
+145.323659	1.338736902	1.34214694
+146.162622	1.357609159	1.351045284
+147.006428	1.376816859	1.35904795
+147.855105	1.396285902	1.366137953
+148.708682	1.415941559	1.3723068
+149.567186	1.435710144	1.377554162
+150.430647	1.455520405	1.381887052
+151.299093	1.47530451	1.385318696
+152.172552	1.494998531	1.387867264
+153.051054	1.514542465	1.38955467
+153.934627	1.533879875	1.390405613
+154.823301	1.552957289	1.390446954
+155.717106	1.571723534	1.389707483
+156.616071	1.590129161	1.388218022
+157.520225	1.608126059	1.3860118
+158.429599	1.625667359	1.383124974
+159.344223	1.642707611	1.379597185
+160.264128	1.659203251	1.375472024
+161.189343	1.675113262	1.370797345
+162.119899	1.690399977	1.36562535
+163.055827	1.705029935	1.360012438
+163.997159	1.718974715	1.354018803
+164.943925	1.73221167	1.347707834
+165.896156	1.744724523	1.341145326
+166.853885	1.756503781	1.334398582
+167.817143	1.767546953	1.327535433
+168.785962	1.777858566	1.320623256
+169.760374	1.787449996	1.313728005
+170.740412	1.796339124	1.306913326
+171.726107	1.804549863	1.300239762
+172.717492	1.812111561	1.293764081
+173.714601	1.819058337	1.28753874
+174.717467	1.825428364	1.281611478
+175.726122	1.831263145	1.276025046
+176.740599	1.836606782	1.270817062
+177.760934	1.841505289	1.266019975
+178.787159	1.846005935	1.261661131
+179.819309	1.850156654	1.25776291
+180.857417	1.854005509	1.254342942
+181.901518	1.857600231	1.25141436
+182.951647	1.860987815	1.248986096
+184.007838	1.86421419	1.247063192
+185.070127	1.867323948	1.245647132
+186.138549	1.870360127	1.244736163
+187.213138	1.87336405	1.244325623
+188.293932	1.876375204	1.244408249
+189.380964	1.879431167	1.244974475
+190.474273	1.882567557	1.24601271
+191.573893	1.88581802	1.247509594
+192.679861	1.889214233	1.249450237
+193.792214	1.892785928	1.251818436
+194.910988	1.896560933	1.254596868
+196.036222	1.900565216	1.257767267
+197.167951	1.904822948	1.261310586
+198.306214	1.909356558	1.265207133
+199.451049	1.914186802	1.269436699
+200.602492	1.919332825	1.273978672
+201.760583	1.92481223	1.278812136
+202.925359	1.930641143	1.283915961
+204.09686	1.936834271	1.289268884
+205.275124	1.943404972	1.294849587
+206.460191	1.950365309	1.300636761
+207.652098	1.95772611	1.306609173
+208.850887	1.965497026	1.31274573
+210.056596	1.973686583	1.319025535
+211.269266	1.982302247	1.325427946
+212.488937	1.991350471	1.331932637
+213.715649	2.000836765	1.338519654
+214.949443	2.010765753	1.345169476
+216.19036	2.021141244	1.351863077
+217.43844	2.031966309	1.358581986
+218.693726	2.043243366	1.365308347
+219.956259	2.054974273	1.372024983
+221.22608	2.067160439	1.378715457
+222.503232	2.079802943	1.385364122
+223.787757	2.092902681	1.391956176
+225.079698	2.106460517	1.398477705
+226.379097	2.120477468	1.404915705
+227.685998	2.134954902	1.411258104
+229.000444	2.149894766	1.417493744
+230.322478	2.165299831	1.42361235
+231.652144	2.181173966	1.429604458
+232.989486	2.197522434	1.435461299
+234.334549	2.214352199	1.441174638
+235.687377	2.231672262	1.446736546
+237.048015	2.249493991	1.452139109
+238.416509	2.267831462	1.457374052
+239.792902	2.286701784	1.462432271
+241.177242	2.306125399	1.467303267
+242.569573	2.326126335	1.471974463
+243.969942	2.346732397	1.476430411
+245.378396	2.367975255	1.48065186
+246.794981	2.389890414	1.484614713
+248.219744	2.412517012	1.488288845
+249.652732	2.435897409	1.491636818
+251.093993	2.460076527	1.494612502
+252.543575	2.485100876	1.497159628
+254.001525	2.511017217	1.499210337
+255.467892	2.537870818	1.500683774
+256.942724	2.565703239	1.501484828
+258.42607	2.594549628	1.501503119
+259.91798	2.624435493	1.500612376
+261.418503	2.65537299	1.498670376
+262.927689	2.687356747	1.495519616
+264.445587	2.720359379	1.490988935
+265.972248	2.754326849	1.484896274
+267.507722	2.789173955	1.477052767
+269.052061	2.824780311	1.46726827
+270.605316	2.860987245	1.455358385
+272.167537	2.897596157	1.441152857
+273.738778	2.93436884	1.424505081
+275.319089	2.971030311	1.405302227
+276.908523	3.007274489	1.383475275
+278.507134	3.04277294	1.35900808
+280.114973	3.077186514	1.33194443
+281.732094	3.11017939	1.302392102
+283.358551	3.141434636	1.270523029
+284.994398	3.170670042	1.236569026
+286.639689	3.197652813	1.200812935
+288.294478	3.222211638	1.163575605
+289.95882	3.244244878	1.125199579
+291.632771	3.263723918	1.086030806
+293.316385	3.280691274	1.046399899
+295.009719	3.2952535	1.006604526
+296.712829	3.307569454	0.966894382
+298.42577	3.31783482	0.927459912
+300.148601	3.326264045	0.888425686
+301.881378	3.333070975	0.84984897
+303.624158	3.338449577	0.811723762
+305.377	3.342556216	0.773990292
+307.13996	3.345495026	0.7365496
+308.913099	3.34730794	0.699282422
+310.696473	3.347970884	0.662071018
+312.490144	3.347397253	0.624821934
+314.294169	3.34544914	0.58748711
+316.108609	3.341955695	0.550080434
+317.933524	3.336736741	0.512687041
+319.768974	3.329628593	0.475463545
+321.615021	3.320508329	0.438628806
+323.471724	3.309312824	0.402446598
+325.339147	3.296049866	0.367203015
+327.21735	3.280800175	0.33318233
+329.106397	3.263710979	0.300644969
+331.006349	3.244983155	0.2698104
+332.917269	3.224854738	0.240846436
+334.839222	3.203583603	0.21386508
+336.77227	3.181431616	0.188923971
+338.716477	3.158651695	0.166031931
+340.671909	3.13547842	0.145156933
+342.638629	3.112122158	0.126235036
+344.616703	3.088766233	0.109179156
+346.606197	3.065566491	0.09388697
+348.607177	3.042652558	0.080247564
+350.619708	3.020130186	0.068146726
+352.643858	2.998084204	0.05747094
+354.679693	2.976581707	0.048110237
+356.727281	2.955675292	0.039960099
+358.78669	2.935406233	0.032922617
+360.857988	2.915807649	0.026907082
+362.941244	2.896907944	0.021830154
+365.036527	2.878735503	0.017615748
+367.143906	2.861331566	0.014193178
+369.263451	2.844754292	0.011448502
+371.395232	2.828999505	0.009244534
+373.53932	2.814033296	0.007472892
+375.695786	2.799811622	0.006047299
+377.864701	2.786286984	0.004898981
+380.046138	2.773411776	0.003973052
+382.240168	2.761140053	0.003225668
+384.446865	2.749428435	0.002621769
+386.666301	2.738236524	0.002133294
+388.89855	2.727527034	0.001737762
+391.143686	2.717265746	0.001417145
+393.401783	2.707421377	0.001156976
+395.672916	2.697965389	0.00094563
+397.957161	2.688871779	0.000773757
+400.254593	2.680116861	0.000633834
+402.565287	2.671679055	0.000519797
+404.889322	2.663538686	0.000426755
+407.226774	2.655677795	0.00035076
+409.57772	2.64807997	0.00028862
+411.942238	2.640730187	0.000237754
+414.320406	2.633614673	0.000196071
+416.712304	2.626720776	0.000161876
+419.11801	2.620036852	0.000133792
+421.537605	2.613552169	0.000110703
+423.971168	2.607256811	9.17E-05
+426.41878	2.601141602	7.60E-05
+428.880523	2.595198032	6.31E-05
+431.356477	2.589418198	5.25E-05
+433.846725	2.583794742	4.36E-05
+436.35135	2.578320807	3.64E-05
+438.870434	2.572989985	3.03E-05
+441.40406	2.567796283	2.53E-05
+443.952314	2.562734086	2.11E-05
+446.515278	2.557798123	1.77E-05
+449.093039	2.552983439	1.48E-05
+451.685682	2.548285371	1.24E-05
+454.293292	2.543699523	1.04E-05
+456.915955	2.539221746	8.75E-06
+459.55376	2.534848118	7.35E-06
+462.206793	2.530574927	6.19E-06
+464.875142	2.52639866	5.21E-06
+467.558895	2.52231598	4.40E-06
+470.258142	2.518323722	3.71E-06
+472.972972	2.514418878	3.14E-06
+475.703475	2.510598584	2.66E-06
+478.449741	2.506860113	2.25E-06
+481.211861	2.503200868	1.91E-06
+483.989928	2.499618369	1.62E-06
+486.784032	2.496110249	1.37E-06
+489.594267	2.492674245	1.17E-06
+492.420726	2.489308195	9.94E-07
+495.263501	2.486010029	8.47E-07
+498.122689	2.482777763	7.22E-07
+500.998382	2.479609497	6.16E-07
+503.890678	2.476503409	5.27E-07
+506.79967	2.473457749	4.50E-07
+509.725457	2.470470839	3.85E-07
+512.668134	2.467541064	3.30E-07
+515.627799	2.464666874	2.83E-07
+518.604551	2.461846776	2.43E-07
+521.598488	2.459079334	2.09E-07
+524.609709	2.456363164	1.80E-07
+527.638314	2.453696936	1.55E-07
+530.684403	2.451079363	1.33E-07
+533.748077	2.448509208	1.15E-07
+536.829439	2.445985276	9.91E-08
+539.928589	2.443506414	8.56E-08
+543.045631	2.441071506	7.40E-08
+546.180667	2.438679478	6.40E-08
+549.333803	2.436329289	5.55E-08
+552.505141	2.434019934	4.81E-08
+555.694788	2.43175044	4.17E-08
+558.902849	2.429519866	3.62E-08
+562.129431	2.427327302	3.15E-08
+565.374639	2.425171863	2.74E-08
+568.638583	2.423052697	2.38E-08
+571.921369	2.420968976	2.07E-08
+575.223107	2.418919896	1.81E-08
+578.543906	2.416904679	1.58E-08
+581.883877	2.41492257	1.38E-08
+585.243129	2.412972838	1.20E-08
+588.621775	2.41105477	1.05E-08
+592.019925	2.409167678	9.21E-09
+595.437693	2.407310889	8.06E-09
+598.875193	2.405483754	7.06E-09
+602.332537	2.40368564	6.19E-09
+605.809841	2.401915932	5.43E-09
+609.307219	2.400174031	4.76E-09
+612.824788	2.398459357	4.18E-09
+616.362664	2.396771343	3.67E-09
+619.920965	2.39510944	3.23E-09
+623.499807	2.393473112	2.84E-09
+627.099311	2.391861837	2.49E-09
+630.719595	2.390275109	2.19E-09
+634.360779	2.388712432	1.93E-09
+638.022984	2.387173324	1.70E-09
+641.706331	2.385657318	1.49E-09
+645.410942	2.384163954	1.31E-09
+649.13694	2.382692788	1.15E-09
+652.884448	2.381243385	1.01E-09
+656.653591	2.37981532	8.86E-10
+660.444494	2.378408181	7.76E-10
+664.257281	2.377021563	6.79E-10
+668.09208	2.375655073	5.93E-10
+671.949018	2.374308328	5.16E-10
+675.828222	2.372980951	4.49E-10
+679.729821	2.371672576	3.89E-10
+683.653944	2.370382846	3.35E-10
+687.600721	2.369111412	2.87E-10
+691.570284	2.367857931	2.45E-10
+695.562763	2.366622072	2.07E-10
+699.57829	2.365403507	1.73E-10
+703.617	2.364201918	1.43E-10
+707.679025	2.363016994	1.16E-10
+711.764501	2.36184843	9.15E-11
+715.873562	2.360695928	6.96E-11
+720.006345	2.359559197	4.99E-11
+724.162987	2.358437951	3.22E-11
+728.343626	2.357331913	1.62E-11
+732.548399	2.356240809	1.77E-12
+736.777447	2.355164372	0
+741.03091	2.354102341	0
+745.308928	2.353054459	0
+749.611643	2.352020475	0
+753.939199	2.351000146	0
+758.291737	2.349993228	0
+762.669403	2.348999489	0
+767.072342	2.348018695	0
+771.500699	2.347050621	0
+775.954621	2.346095046	0
+780.434256	2.345151752	0
+784.939752	2.344220526	0
+789.471258	2.343301159	0
+794.028926	2.342393446	0
+798.612905	2.341497186	0
+803.223347	2.340612182	0
+807.860406	2.339738241	0
+812.524235	2.338875173	0
+817.214989	2.338022791	0
+821.932823	2.337180914	0
+826.677893	2.336349361	0
+831.450356	2.335527957	0
+836.250371	2.334716528	0
+841.078098	2.333914905	0
+845.933694	2.333122922	0
+850.817323	2.332340413	0
+855.729145	2.331567219	0
+860.669323	2.330803182	0
+865.638021	2.330048145	0
+870.635404	2.329301957	0
+875.661637	2.328564468	0
+880.716887	2.327835529	0
+885.801321	2.327114996	0
+890.915108	2.326402727	0
+896.058417	2.325698582	0
+901.231419	2.325002421	0
+906.434284	2.324314111	0
+911.667187	2.323633518	0
+916.930299	2.32296051	0
+922.223795	2.322294958	0
+927.547851	2.321636735	0
+932.902643	2.320985717	0
+938.288349	2.32034178	0
+943.705147	2.319704803	0
+949.153216	2.319074667	0
+954.632738	2.318451255	0
+960.143892	2.31783445	0
+965.686864	2.31722414	0
+971.261835	2.31662021	0
+976.86899	2.316022553	0
+982.508517	2.315431057	0
+988.1806	2.314845617	0
+993.885429	2.314266125	0
+999.623192	2.313692479	0
+1005.39408	2.313124575	0
+1011.198283	2.312562313	0
+1017.035995	2.312005591	0
+1022.907408	2.311454312	0
+1028.812716	2.310908378	0
+1034.752117	2.310367695	0
+1040.725806	2.309832166	0
+1046.733982	2.3093017	0
+1052.776843	2.308776204	0
+1058.85459	2.308255587	0
+1064.967424	2.307739759	0
+1071.115548	2.307228633	0
+1077.299166	2.306722121	0
+1083.518482	2.306220136	0
+1089.773702	2.305722593	0
+1096.065035	2.305229409	0
+1102.392687	2.304740501	0
+1108.75687	2.304255785	0
+1115.157793	2.303775182	0
+1121.595669	2.303298611	0
+1128.070712	2.302825992	0
+1134.583135	2.302357249	0
+1141.133155	2.301892302	0
+1147.720988	2.301431076	0
+1154.346854	2.300973495	0
+1161.010971	2.300519485	0
+1167.713561	2.30006897	0
+1174.454844	2.299621879	0
+1181.235046	2.299178138	0
+1188.054391	2.298737676	0
+1194.913103	2.298300423	0
+1201.811412	2.297866307	0
+1208.749545	2.297435259	0
+1215.727732	2.297007211	0
+1222.746205	2.296582094	0
+1229.805196	2.296159841	0
+1236.904939	2.295740384	0
+1244.045669	2.295323659	0
+1251.227623	2.294909598	0
+1258.451039	2.294498138	0
+1265.716156	2.294089212	0
+1273.023215	2.293682759	0
+1280.372458	2.293278713	0
+1287.764129	2.292877013	0
+1295.198473	2.292477596	0
+1302.675735	2.2920804	0
+1310.196164	2.291685363	0
+1317.760009	2.291292426	0
+1325.367521	2.290901527	0
+1333.018951	2.290512606	0
+1340.714553	2.290125605	0
+1348.454583	2.289740463	0
+1356.239296	2.289357122	0
+1364.068951	2.288975524	0
+1371.943807	2.288595611	0
+1379.864125	2.288217325	0
+1387.830168	2.287840609	0
+1395.842199	2.287465406	0
+1403.900484	2.287091659	0
+1412.00529	2.286719313	0
+1420.156885	2.286348311	0
+1428.35554	2.285978598	0
+1436.601527	2.285610119	0
+1444.895118	2.285242818	0
+1453.236588	2.28487664	0
+1461.626215	2.284511532	6.77294831258e-319
+1470.064275	2.284147438	2.69529176719e-314
+1478.551049	2.283784305	9.34592844689e-310
+1487.086817	2.283422078	2.83E-305
+1495.671863	2.283060705	7.49E-301
+1504.306471	2.282700132	1.73E-296
+1512.990927	2.282340305	3.53E-292
+1521.725519	2.281981172	6.30E-288
+1530.510536	2.281622679	9.90E-284
+1539.34627	2.281264774	1.37E-279
+1548.233013	2.280907403	1.68E-275
+1557.17106	2.280550516	1.81E-271
+1566.160706	2.280194059	1.73E-267
+1575.202251	2.27983798	1.47E-263
+1584.295992	2.279482227	1.11E-259
+1593.442233	2.279126748	7.42E-256
+1602.641275	2.278771492	4.43E-252
+1611.893425	2.278416405	2.36E-248
+1621.198987	2.278061437	1.12E-244
+1630.558271	2.277706535	4.76E-241
+1639.971586	2.277351649	1.81E-237
+1649.439246	2.276996726	6.17E-234
+1658.961562	2.276641715	1.89E-230
+1668.538852	2.276286563	5.21E-227
+1678.171432	2.275931221	1.29E-223
+1687.859621	2.275575636	2.89E-220
+1697.603741	2.275219756	5.82E-217
+1707.404115	2.27486353	1.06E-213
+1717.261066	2.274506906	1.75E-210
+1727.174922	2.274149833	2.61E-207
+1737.146012	2.273792258	3.54E-204
+1747.174665	2.273434131	4.36E-201
+1757.261215	2.273075399	4.87E-198
+1767.405994	2.27271601	4.96E-195
+1777.609341	2.272355913	4.61E-192
+1787.871591	2.271995055	3.90E-189
+1798.193087	2.271633384	3.02E-186
+1808.574169	2.271270847	2.13E-183
+1819.015181	2.270907393	1.38E-180
+1829.516471	2.270542969	8.18E-178
+1840.078384	2.270177522	4.45E-175
+1850.701273	2.269810999	2.22E-172
+1861.385488	2.269443348	1.02E-169
+1872.131384	2.269074514	4.32E-167
+1882.939316	2.268704445	1.68E-164
+1893.809643	2.268333088	6.04E-162
+1904.742726	2.267960387	2.00E-159
+1915.738925	2.26758629	6.13E-157
+1926.798607	2.267210743	1.74E-154
+1937.922137	2.26683369	4.55E-152
+1949.109883	2.266455077	1.11E-149
+1960.362217	2.266074849	2.49E-147
+1971.679512	2.265692952	5.22E-145
+1983.062142	2.26530933	1.01E-142
+1994.510485	2.264923926	1.83E-140
+2006.024919	2.264536685	3.09E-138

文件差異過大導致無法顯示
+ 41 - 0
pymietest.ipynb


文件差異過大導致無法顯示
+ 1291 - 0
scatternet.ipynb


+ 62 - 0
scnets.py

@@ -0,0 +1,62 @@
+from keras import backend as K
+from keras.models import Sequential, Model
+from keras.layers import Dense, Dropout
+from keras.utils import np_utils, multi_gpu_model
+from keras.regularizers import l2
+from keras.wrappers.scikit_learn import KerasRegressor
+from keras.optimizers import Adam
+import numpy as np
+import matplotlib.pyplot as plt
+
+#function to test performance on testset  
+def calc_mre(y_true, y_pred):
+    y_err = 100*np.abs(y_true - y_pred)/y_true
+    return np.mean(y_err)
+
+
+#naive percentage loss
+def relerr_loss(y_true, y_pred):
+    y_err = np.abs(y_true - y_pred)/y_true
+    y_err_f = K.flatten(y_err)
+    return K.sum(y_err_f)
+
+def fullycon( in_size=8, out_size=250, N_hidden=3, N_neurons=250, N_gpus=1):
+    """
+    Returns a fully-connected model which will take a normalized size vector and return a
+    spectrum
+    in_size: length of the size vector
+    out_size: length of the spectrum vector
+    N_hidden: number of hidden layers
+    N_neurons: number of neurons in each of the hidden layers
+    """
+    model = Sequential()
+    model.add(Dense(out_size, input_dim=in_size, kernel_initializer='normal', activation='relu', 
+                    name='first' ))
+    for h in np.arange(N_hidden):
+        lname = "H"+str(h)
+        model.add(Dense(out_size, kernel_initializer='normal', activation='relu', name=lname ))
+    
+    model.add(Dense(out_size, kernel_initializer='normal', name='last'))
+    
+    # Compile model
+    if N_gpus == 1:
+        model.compile(loss=relerr_loss, optimizer='adam', metrics=['accuracy'])
+    else:
+        gpu_list = ["gpu(%d)" % i for i in range(N_gpus)]
+        model.compile(loss=relerr_loss, optimizer='adam', metrics=['accuracy'], context = gpu_list)
+    return model
+
+#staging area for new models 
+def plot_training_history(history, red_factor):
+    loss, val_loss = history.history['loss'], history.history['val_loss']
+    loss = np.asarray(loss)/red_factor
+    val_loss = np.asarray(val_loss)/red_factor
+    epochs = len(loss)
+    
+    fig, axs = plt.subplots(1,1, figsize=(5,5))
+    axs.semilogy(np.arange(1, epochs + 1), loss, label='train error')
+    axs.semilogy(np.arange(1, epochs + 1), val_loss, label='validation error')
+    axs.set_xlabel('Epoch number')
+    axs.set_ylabel('Mean Relative Error (MRE) (%)')
+    axs.legend(loc="best")
+

+ 50 - 0
snlay.py

@@ -0,0 +1,50 @@
+# this module will allow us to call scattnlay
+
+import numpy as np
+import PyMieScatt as ps
+import matplotlib.pyplot as plt
+from scattnlay import scattnlay, fieldnlay
+from scipy import interpolate
+
+#make a materials dictionary
+matsdict = {
+  1: './materials/gold.dat',
+  2: './materials/silicon.dat',
+  3: './materials/silica.dat',
+  4: './materials/tio2.dat',
+  5: './materials/silver.dat'
+}
+
+def get_nk(datafile, wavelengths):
+    """Reads the given file and returns the n+ik complex at
+    the given wavelength after suitable interpolation
+    :datafile: TODO
+    :wavelength: TODO
+    :returns: TODO
+    """
+    rawdisp = np.loadtxt(datafile)
+    f_r = interpolate.interp1d(rawdisp[:,0], rawdisp[:,1])
+    f_i = interpolate.interp1d(rawdisp[:,0], rawdisp[:,2])
+    return f_r(wavelengths) + 1j*f_i(wavelengths)
+
+# make a function that will return the x and m matrices of 
+# any given multilayered spherical particle
+# these can then be passed on to scattnlay
+def make_xm(sizes, mats, lams):
+    x = np.ones((len(lams), len(sizes)), dtype = np.float64)
+    m = x - x + 0 + 0*1j
+    sizes = np.cumsum(sizes)
+    for s, size in enumerate(sizes):
+        x[:,s] = np.pi*size/lams
+        m[:,s] = get_nk(matsdict[mats[s]], lams)
+    #theta = np.linspace(0.0, 180, num_pts, dtype = np.float64)*np.pi/180.0
+    return x, m
+
+
+def calc_spectrum(sizes, mats,  lams):
+    x, m = make_xm(sizes, mats, lams)
+    terms, Qext, Qsca, Qabs, Qbk, Qpr, g, Albedo, S1, S2 = scattnlay(x, m)
+    return Qext
+
+
+

+ 34 - 0
utils.py

@@ -0,0 +1,34 @@
+# this file collects several utility functions
+import numpy as np
+from keras import backend as K
+
+def naive_percent_loss(y_true, y_pred):
+    """TODO: Docstring for .
+    # Sums up the relative errors at all wavelength points of a spectrum
+    # in comparison to a target spectrum
+    : y_true -- target spectrum
+    : y_pred -- predicted spectrum
+    Note that the user needs to ensure we are comparing similiar spectra
+    """
+    y_err = np.abs(y_true - y_pred) / y_true
+    y_err_f = K.flatten(y_err)
+    return K.sum(y_err_f)
+
+def calc_mre(y_true, y_pred):
+    """TODO: Docstring for .
+    # Gives the mean relative errors in percentage terms comparing two sets of spectra
+    """
+    y_err = np.abs(y_true - y_pred) / y_true
+    y_err = 100*np.abs(y_true - y_pred)/y_true
+    return np.mean(y_err)
+
+#legacy function to compare two size vectors, not really needed anymore
+# def size_percent_loss(y_true, y_pred):
+#     y_true_a = 0.5*y_true*(size_max - size_min) + size_av
+#     y_pred_a = 0.5*y_pred*(size_max - size_min) + size_av
+#     y_err = np.abs(y_true_a - y_pred_a)/y_true_a
+#     y_err_f = K.flatten(y_err)
+#     return K.sum(y_err_f)
+
+
+

部分文件因文件數量過多而無法顯示