{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "IST718_WK9_Keras.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "code", "metadata": { "id": "lRZ3lcbIQscb", "colab_type": "code", "outputId": "3922ce43-4709-44db-a4b9-98b1edf8891c", "colab": { "base_uri": "https://localhost:8080/", "height": 80 } }, "source": [ "# BASIC WALK THROUGH FOR MNIST NN\n", "# BASED ON KERAS TUTORIALS (2019)\n", "\n", "from keras.datasets import mnist\n", "from keras.models import Sequential\n", "from keras.layers import Dense\n", "from keras.layers import Dropout\n", "from keras.utils import np_utils\n", "import matplotlib.pyplot as plt" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Using TensorFlow backend.\n" ], "name": "stderr" }, { "output_type": "display_data", "data": { "text/html": [ "

\n", "The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.
\n", "We recommend you upgrade now \n", "or ensure your notebook will continue to use TensorFlow 1.x via the %tensorflow_version 1.x magic:\n", "more info.

\n" ], "text/plain": [ "" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "markdown", "metadata": { "id": "9gSlwyytRSsv", "colab_type": "text" }, "source": [ "# OBTAIN" ] }, { "cell_type": "code", "metadata": { "id": "d024EYh3Qttn", "colab_type": "code", "colab": {} }, "source": [ "from keras.datasets import mnist\n", "(X_train, y_train), (X_test, y_test) = mnist.load_data()" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "gMWcI0jwRV91", "colab_type": "text" }, "source": [ "# SCRUB" ] }, { "cell_type": "code", "metadata": { "id": "UZCaPtQJRVog", "colab_type": "code", "colab": {} }, "source": [ "# FLATTEN 28 x 28 IMAGE TO 784 VECTOR\n", "num_pixels = X_train.shape[1] * X_train.shape[2]\n", "X_train = X_train.reshape(X_train.shape[0], num_pixels).astype('float32')\n", "X_test = X_test.reshape(X_test.shape[0], num_pixels).astype('float32')" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "kGvJX0msRVIU", "colab_type": "code", "colab": {} }, "source": [ "# NORMALIZE INPUTS FROM RGB COLOR TO 0-1\n", "X_train = X_train / 255\n", "X_test = X_test / 255\n", "\n", "# THE OLD ONE HOT ENCODE - CONVERT \"CATEGORICAL\" CLASSIFICATION TO ENCODE\n", "# A \"BINARIZATION\" OF THE CATEGORIES\n", "y_train = np_utils.to_categorical(y_train)\n", "y_test = np_utils.to_categorical(y_test)\n", "num_classes = y_test.shape[1]" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "FKS9IZ9VRul7", "colab_type": "text" }, "source": [ "# MODEL" ] }, { "cell_type": "code", "metadata": { "id": "h2Mb--7cRsOH", "colab_type": "code", "colab": {} }, "source": [ "# BUILD BASELINE\n", "def baseline_model():\n", " # create model\n", " model = Sequential()\n", " model.add(Dense(num_pixels, input_dim=num_pixels, kernel_initializer='normal', activation='relu'))\n", " model.add(Dense(num_classes, kernel_initializer='normal', activation='softmax'))\n", " # Compile model\n", " model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n", " return model " ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "08VAJXEzRzxH", "colab_type": "code", "outputId": "0f4c5259-c12a-489f-96d7-0d0b62f955d7", "colab": { "base_uri": "https://localhost:8080/", "height": 1000 } }, "source": [ "# RUN BASELINE\n", "model = baseline_model()\n", "\n", "# FIT THE MODEL\n", "history = model.fit(X_train, y_train, validation_data=(X_test, y_test), epochs=300, batch_size=1000, verbose=2)\n", "\n", "# EVALUATE THE MODEL\n", "scores = model.evaluate(X_test, y_test, verbose=0)\n", "print(\"Baseline Error: %.2f%%\" % (100-scores[1]*100))" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:66: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_default_graph instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:541: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:4409: The name tf.random_normal is deprecated. Please use tf.random.normal instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/optimizers.py:793: The name tf.train.Optimizer is deprecated. Please use tf.compat.v1.train.Optimizer instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3576: The name tf.log is deprecated. Please use tf.math.log instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow_core/python/ops/math_grad.py:1424: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.where in 2.0, which has the same broadcast rule as np.where\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1033: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:1020: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:3005: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.\n", "\n", "Train on 60000 samples, validate on 10000 samples\n", "Epoch 1/300\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:190: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:197: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:207: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:216: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.\n", "\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py:223: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.\n", "\n", " - 4s - loss: 0.5222 - acc: 0.8570 - val_loss: 0.2381 - val_acc: 0.9323\n", "Epoch 2/300\n", " - 3s - loss: 0.2010 - acc: 0.9439 - val_loss: 0.1645 - val_acc: 0.9527\n", "Epoch 3/300\n", " - 3s - loss: 0.1454 - acc: 0.9591 - val_loss: 0.1331 - val_acc: 0.9596\n", "Epoch 4/300\n", " - 3s - loss: 0.1122 - acc: 0.9687 - val_loss: 0.1090 - val_acc: 0.9674\n", "Epoch 5/300\n", " - 3s - loss: 0.0916 - acc: 0.9743 - val_loss: 0.0952 - val_acc: 0.9723\n", "Epoch 6/300\n", " - 3s - loss: 0.0740 - acc: 0.9798 - val_loss: 0.0843 - val_acc: 0.9751\n", "Epoch 7/300\n", " - 3s - loss: 0.0617 - acc: 0.9832 - val_loss: 0.0810 - val_acc: 0.9748\n", "Epoch 8/300\n", " - 3s - loss: 0.0525 - acc: 0.9861 - val_loss: 0.0750 - val_acc: 0.9779\n", "Epoch 9/300\n", " - 3s - loss: 0.0438 - acc: 0.9888 - val_loss: 0.0722 - val_acc: 0.9783\n", "Epoch 10/300\n", " - 3s - loss: 0.0372 - acc: 0.9908 - val_loss: 0.0659 - val_acc: 0.9795\n", "Epoch 11/300\n", " - 3s - loss: 0.0317 - acc: 0.9925 - val_loss: 0.0645 - val_acc: 0.9806\n", "Epoch 12/300\n", " - 3s - loss: 0.0277 - acc: 0.9937 - val_loss: 0.0628 - val_acc: 0.9804\n", "Epoch 13/300\n", " - 3s - loss: 0.0244 - acc: 0.9947 - val_loss: 0.0604 - val_acc: 0.9819\n", "Epoch 14/300\n", " - 3s - loss: 0.0206 - acc: 0.9961 - val_loss: 0.0594 - val_acc: 0.9817\n", "Epoch 15/300\n", " - 3s - loss: 0.0179 - acc: 0.9968 - val_loss: 0.0619 - val_acc: 0.9804\n", "Epoch 16/300\n", " - 3s - loss: 0.0153 - acc: 0.9974 - val_loss: 0.0596 - val_acc: 0.9816\n", "Epoch 17/300\n", " - 3s - loss: 0.0132 - acc: 0.9983 - val_loss: 0.0590 - val_acc: 0.9816\n", "Epoch 18/300\n", " - 3s - loss: 0.0116 - acc: 0.9987 - val_loss: 0.0605 - val_acc: 0.9810\n", "Epoch 19/300\n", " - 3s - loss: 0.0102 - acc: 0.9989 - val_loss: 0.0587 - val_acc: 0.9815\n", "Epoch 20/300\n", " - 3s - loss: 0.0088 - acc: 0.9993 - val_loss: 0.0572 - val_acc: 0.9827\n", "Epoch 21/300\n", " - 3s - loss: 0.0078 - acc: 0.9994 - val_loss: 0.0589 - val_acc: 0.9825\n", "Epoch 22/300\n", " - 3s - loss: 0.0068 - acc: 0.9995 - val_loss: 0.0581 - val_acc: 0.9828\n", "Epoch 23/300\n", " - 3s - loss: 0.0062 - acc: 0.9996 - val_loss: 0.0597 - val_acc: 0.9820\n", "Epoch 24/300\n", " - 3s - loss: 0.0054 - acc: 0.9997 - val_loss: 0.0585 - val_acc: 0.9828\n", "Epoch 25/300\n", " - 3s - loss: 0.0049 - acc: 0.9998 - val_loss: 0.0593 - val_acc: 0.9822\n", "Epoch 26/300\n", " - 3s - loss: 0.0043 - acc: 0.9999 - val_loss: 0.0604 - val_acc: 0.9821\n", "Epoch 27/300\n", " - 3s - loss: 0.0039 - acc: 0.9999 - val_loss: 0.0606 - val_acc: 0.9819\n", "Epoch 28/300\n", " - 3s - loss: 0.0036 - acc: 0.9999 - val_loss: 0.0598 - val_acc: 0.9822\n", "Epoch 29/300\n", " - 3s - loss: 0.0032 - acc: 0.9999 - val_loss: 0.0599 - val_acc: 0.9829\n", "Epoch 30/300\n", " - 3s - loss: 0.0029 - acc: 1.0000 - val_loss: 0.0608 - val_acc: 0.9818\n", "Epoch 31/300\n", " - 3s - loss: 0.0027 - acc: 1.0000 - val_loss: 0.0615 - val_acc: 0.9821\n", "Epoch 32/300\n", " - 3s - loss: 0.0024 - acc: 1.0000 - val_loss: 0.0612 - val_acc: 0.9823\n", "Epoch 33/300\n", " - 3s - loss: 0.0023 - acc: 1.0000 - val_loss: 0.0623 - val_acc: 0.9816\n", "Epoch 34/300\n", " - 3s - loss: 0.0020 - acc: 1.0000 - val_loss: 0.0611 - val_acc: 0.9825\n", "Epoch 35/300\n", " - 3s - loss: 0.0019 - acc: 1.0000 - val_loss: 0.0622 - val_acc: 0.9823\n", "Epoch 36/300\n", " - 3s - loss: 0.0017 - acc: 1.0000 - val_loss: 0.0624 - val_acc: 0.9825\n", "Epoch 37/300\n", " - 3s - loss: 0.0016 - acc: 1.0000 - val_loss: 0.0625 - val_acc: 0.9823\n", "Epoch 38/300\n", " - 3s - loss: 0.0015 - acc: 1.0000 - val_loss: 0.0625 - val_acc: 0.9827\n", "Epoch 39/300\n", " - 3s - loss: 0.0014 - acc: 1.0000 - val_loss: 0.0639 - val_acc: 0.9822\n", "Epoch 40/300\n", " - 3s - loss: 0.0013 - acc: 1.0000 - val_loss: 0.0632 - val_acc: 0.9832\n", "Epoch 41/300\n", " - 3s - loss: 0.0012 - acc: 1.0000 - val_loss: 0.0638 - val_acc: 0.9827\n", "Epoch 42/300\n", " - 3s - loss: 0.0011 - acc: 1.0000 - val_loss: 0.0632 - val_acc: 0.9830\n", "Epoch 43/300\n", " - 3s - loss: 0.0011 - acc: 1.0000 - val_loss: 0.0647 - val_acc: 0.9824\n", "Epoch 44/300\n", " - 3s - loss: 0.0010 - acc: 1.0000 - val_loss: 0.0643 - val_acc: 0.9827\n", "Epoch 45/300\n", " - 3s - loss: 9.6194e-04 - acc: 1.0000 - val_loss: 0.0647 - val_acc: 0.9825\n", "Epoch 46/300\n", " - 3s - loss: 9.0778e-04 - acc: 1.0000 - val_loss: 0.0649 - val_acc: 0.9828\n", "Epoch 47/300\n", " - 3s - loss: 8.3689e-04 - acc: 1.0000 - val_loss: 0.0655 - val_acc: 0.9826\n", "Epoch 48/300\n", " - 3s - loss: 8.0184e-04 - acc: 1.0000 - val_loss: 0.0653 - val_acc: 0.9827\n", "Epoch 49/300\n", " - 3s - loss: 7.5783e-04 - acc: 1.0000 - val_loss: 0.0654 - val_acc: 0.9829\n", "Epoch 50/300\n", " - 3s - loss: 7.0835e-04 - acc: 1.0000 - val_loss: 0.0662 - val_acc: 0.9829\n", "Epoch 51/300\n", " - 3s - loss: 6.7129e-04 - acc: 1.0000 - val_loss: 0.0663 - val_acc: 0.9829\n", "Epoch 52/300\n", " - 3s - loss: 6.4625e-04 - acc: 1.0000 - val_loss: 0.0665 - val_acc: 0.9834\n", "Epoch 53/300\n", " - 3s - loss: 6.0120e-04 - acc: 1.0000 - val_loss: 0.0664 - val_acc: 0.9830\n", "Epoch 54/300\n", " - 3s - loss: 5.8912e-04 - acc: 1.0000 - val_loss: 0.0668 - val_acc: 0.9825\n", "Epoch 55/300\n", " - 3s - loss: 5.4232e-04 - acc: 1.0000 - val_loss: 0.0676 - val_acc: 0.9826\n", "Epoch 56/300\n", " - 3s - loss: 5.1240e-04 - acc: 1.0000 - val_loss: 0.0674 - val_acc: 0.9825\n", "Epoch 57/300\n", " - 3s - loss: 4.8981e-04 - acc: 1.0000 - val_loss: 0.0678 - val_acc: 0.9831\n", "Epoch 58/300\n", " - 3s - loss: 4.6388e-04 - acc: 1.0000 - val_loss: 0.0675 - val_acc: 0.9833\n", "Epoch 59/300\n", " - 3s - loss: 4.4094e-04 - acc: 1.0000 - val_loss: 0.0680 - val_acc: 0.9829\n", "Epoch 60/300\n", " - 3s - loss: 4.2229e-04 - acc: 1.0000 - val_loss: 0.0683 - val_acc: 0.9832\n", "Epoch 61/300\n", " - 3s - loss: 4.0432e-04 - acc: 1.0000 - val_loss: 0.0681 - val_acc: 0.9832\n", "Epoch 62/300\n", " - 3s - loss: 3.8754e-04 - acc: 1.0000 - val_loss: 0.0689 - val_acc: 0.9824\n", "Epoch 63/300\n", " - 3s - loss: 3.6442e-04 - acc: 1.0000 - val_loss: 0.0687 - val_acc: 0.9826\n", "Epoch 64/300\n", " - 3s - loss: 3.4488e-04 - acc: 1.0000 - val_loss: 0.0694 - val_acc: 0.9830\n", "Epoch 65/300\n", " - 3s - loss: 3.3590e-04 - acc: 1.0000 - val_loss: 0.0694 - val_acc: 0.9829\n", "Epoch 66/300\n", " - 3s - loss: 3.1757e-04 - acc: 1.0000 - val_loss: 0.0698 - val_acc: 0.9824\n", "Epoch 67/300\n", " - 3s - loss: 3.0166e-04 - acc: 1.0000 - val_loss: 0.0702 - val_acc: 0.9830\n", "Epoch 68/300\n", " - 3s - loss: 2.8783e-04 - acc: 1.0000 - val_loss: 0.0699 - val_acc: 0.9829\n", "Epoch 69/300\n", " - 3s - loss: 2.7600e-04 - acc: 1.0000 - val_loss: 0.0699 - val_acc: 0.9830\n", "Epoch 70/300\n", " - 3s - loss: 2.6438e-04 - acc: 1.0000 - val_loss: 0.0706 - val_acc: 0.9828\n", "Epoch 71/300\n", " - 3s - loss: 2.5033e-04 - acc: 1.0000 - val_loss: 0.0706 - val_acc: 0.9828\n", "Epoch 72/300\n", " - 3s - loss: 2.4264e-04 - acc: 1.0000 - val_loss: 0.0717 - val_acc: 0.9828\n", "Epoch 73/300\n", " - 3s - loss: 2.3041e-04 - acc: 1.0000 - val_loss: 0.0713 - val_acc: 0.9830\n", "Epoch 74/300\n", " - 3s - loss: 2.2231e-04 - acc: 1.0000 - val_loss: 0.0716 - val_acc: 0.9830\n", "Epoch 75/300\n", " - 3s - loss: 2.1054e-04 - acc: 1.0000 - val_loss: 0.0719 - val_acc: 0.9832\n", "Epoch 76/300\n", " - 3s - loss: 2.0212e-04 - acc: 1.0000 - val_loss: 0.0715 - val_acc: 0.9832\n", "Epoch 77/300\n", " - 3s - loss: 1.9441e-04 - acc: 1.0000 - val_loss: 0.0718 - val_acc: 0.9834\n", "Epoch 78/300\n", " - 3s - loss: 1.8792e-04 - acc: 1.0000 - val_loss: 0.0721 - val_acc: 0.9831\n", "Epoch 79/300\n", " - 3s - loss: 1.7854e-04 - acc: 1.0000 - val_loss: 0.0725 - val_acc: 0.9830\n", "Epoch 80/300\n", " - 3s - loss: 1.7123e-04 - acc: 1.0000 - val_loss: 0.0730 - val_acc: 0.9830\n", "Epoch 81/300\n", " - 3s - loss: 1.6479e-04 - acc: 1.0000 - val_loss: 0.0732 - val_acc: 0.9833\n", "Epoch 82/300\n", " - 3s - loss: 1.5884e-04 - acc: 1.0000 - val_loss: 0.0733 - val_acc: 0.9832\n", "Epoch 83/300\n", " - 3s - loss: 1.5171e-04 - acc: 1.0000 - val_loss: 0.0732 - val_acc: 0.9830\n", "Epoch 84/300\n", " - 3s - loss: 1.4709e-04 - acc: 1.0000 - val_loss: 0.0736 - val_acc: 0.9833\n", "Epoch 85/300\n", " - 3s - loss: 1.3951e-04 - acc: 1.0000 - val_loss: 0.0739 - val_acc: 0.9832\n", "Epoch 86/300\n", " - 3s - loss: 1.3498e-04 - acc: 1.0000 - val_loss: 0.0739 - val_acc: 0.9831\n", "Epoch 87/300\n", " - 3s - loss: 1.2849e-04 - acc: 1.0000 - val_loss: 0.0740 - val_acc: 0.9830\n", "Epoch 88/300\n", " - 3s - loss: 1.2299e-04 - acc: 1.0000 - val_loss: 0.0747 - val_acc: 0.9831\n", "Epoch 89/300\n", " - 3s - loss: 1.1987e-04 - acc: 1.0000 - val_loss: 0.0745 - val_acc: 0.9830\n", "Epoch 90/300\n", " - 3s - loss: 1.1488e-04 - acc: 1.0000 - val_loss: 0.0749 - val_acc: 0.9831\n", "Epoch 91/300\n", " - 3s - loss: 1.0998e-04 - acc: 1.0000 - val_loss: 0.0754 - val_acc: 0.9833\n", "Epoch 92/300\n", " - 3s - loss: 1.0693e-04 - acc: 1.0000 - val_loss: 0.0753 - val_acc: 0.9831\n", "Epoch 93/300\n", " - 3s - loss: 1.0226e-04 - acc: 1.0000 - val_loss: 0.0754 - val_acc: 0.9832\n", "Epoch 94/300\n", " - 3s - loss: 9.8189e-05 - acc: 1.0000 - val_loss: 0.0756 - val_acc: 0.9834\n", "Epoch 95/300\n", " - 3s - loss: 9.4611e-05 - acc: 1.0000 - val_loss: 0.0755 - val_acc: 0.9830\n", "Epoch 96/300\n", " - 3s - loss: 9.1917e-05 - acc: 1.0000 - val_loss: 0.0766 - val_acc: 0.9833\n", "Epoch 97/300\n", " - 3s - loss: 8.7415e-05 - acc: 1.0000 - val_loss: 0.0763 - val_acc: 0.9833\n", "Epoch 98/300\n", " - 3s - loss: 8.4045e-05 - acc: 1.0000 - val_loss: 0.0766 - val_acc: 0.9829\n", "Epoch 99/300\n", " - 3s - loss: 8.0744e-05 - acc: 1.0000 - val_loss: 0.0767 - val_acc: 0.9828\n", "Epoch 100/300\n", " - 3s - loss: 7.8602e-05 - acc: 1.0000 - val_loss: 0.0767 - val_acc: 0.9831\n", "Epoch 101/300\n", " - 3s - loss: 7.5436e-05 - acc: 1.0000 - val_loss: 0.0775 - val_acc: 0.9829\n", "Epoch 102/300\n", " - 3s - loss: 7.2617e-05 - acc: 1.0000 - val_loss: 0.0774 - val_acc: 0.9833\n", "Epoch 103/300\n", " - 3s - loss: 6.9956e-05 - acc: 1.0000 - val_loss: 0.0776 - val_acc: 0.9834\n", "Epoch 104/300\n", " - 3s - loss: 6.7348e-05 - acc: 1.0000 - val_loss: 0.0775 - val_acc: 0.9835\n", "Epoch 105/300\n", " - 3s - loss: 6.4409e-05 - acc: 1.0000 - val_loss: 0.0780 - val_acc: 0.9835\n", "Epoch 106/300\n", " - 3s - loss: 6.2338e-05 - acc: 1.0000 - val_loss: 0.0779 - val_acc: 0.9834\n", "Epoch 107/300\n", " - 3s - loss: 6.0230e-05 - acc: 1.0000 - val_loss: 0.0787 - val_acc: 0.9834\n", "Epoch 108/300\n", " - 3s - loss: 5.7820e-05 - acc: 1.0000 - val_loss: 0.0789 - val_acc: 0.9834\n", "Epoch 109/300\n", " - 3s - loss: 5.5781e-05 - acc: 1.0000 - val_loss: 0.0790 - val_acc: 0.9833\n", "Epoch 110/300\n", " - 3s - loss: 5.3571e-05 - acc: 1.0000 - val_loss: 0.0788 - val_acc: 0.9833\n", "Epoch 111/300\n", " - 3s - loss: 5.1880e-05 - acc: 1.0000 - val_loss: 0.0794 - val_acc: 0.9832\n", "Epoch 112/300\n", " - 3s - loss: 4.9978e-05 - acc: 1.0000 - val_loss: 0.0794 - val_acc: 0.9833\n", "Epoch 113/300\n", " - 3s - loss: 4.7937e-05 - acc: 1.0000 - val_loss: 0.0796 - val_acc: 0.9833\n", "Epoch 114/300\n", " - 3s - loss: 4.6254e-05 - acc: 1.0000 - val_loss: 0.0795 - val_acc: 0.9830\n", "Epoch 115/300\n", " - 3s - loss: 4.4681e-05 - acc: 1.0000 - val_loss: 0.0793 - val_acc: 0.9836\n", "Epoch 116/300\n", " - 3s - loss: 4.3043e-05 - acc: 1.0000 - val_loss: 0.0802 - val_acc: 0.9832\n", "Epoch 117/300\n", " - 3s - loss: 4.1942e-05 - acc: 1.0000 - val_loss: 0.0800 - val_acc: 0.9831\n", "Epoch 118/300\n", " - 3s - loss: 4.0442e-05 - acc: 1.0000 - val_loss: 0.0804 - val_acc: 0.9834\n", "Epoch 119/300\n", " - 3s - loss: 3.8788e-05 - acc: 1.0000 - val_loss: 0.0805 - val_acc: 0.9836\n", "Epoch 120/300\n", " - 3s - loss: 3.7390e-05 - acc: 1.0000 - val_loss: 0.0810 - val_acc: 0.9832\n", "Epoch 121/300\n", " - 3s - loss: 3.5820e-05 - acc: 1.0000 - val_loss: 0.0813 - val_acc: 0.9835\n", "Epoch 122/300\n", " - 3s - loss: 3.4850e-05 - acc: 1.0000 - val_loss: 0.0814 - val_acc: 0.9832\n", "Epoch 123/300\n", " - 3s - loss: 3.3479e-05 - acc: 1.0000 - val_loss: 0.0809 - val_acc: 0.9834\n", "Epoch 124/300\n", " - 3s - loss: 3.2486e-05 - acc: 1.0000 - val_loss: 0.0818 - val_acc: 0.9836\n", "Epoch 125/300\n", " - 3s - loss: 3.1350e-05 - acc: 1.0000 - val_loss: 0.0816 - val_acc: 0.9832\n", "Epoch 126/300\n", " - 3s - loss: 3.0118e-05 - acc: 1.0000 - val_loss: 0.0823 - val_acc: 0.9834\n", "Epoch 127/300\n", " - 3s - loss: 2.9347e-05 - acc: 1.0000 - val_loss: 0.0815 - val_acc: 0.9834\n", "Epoch 128/300\n", " - 3s - loss: 2.8244e-05 - acc: 1.0000 - val_loss: 0.0824 - val_acc: 0.9833\n", "Epoch 129/300\n", " - 3s - loss: 2.7450e-05 - acc: 1.0000 - val_loss: 0.0825 - val_acc: 0.9834\n", "Epoch 130/300\n", " - 3s - loss: 2.6489e-05 - acc: 1.0000 - val_loss: 0.0824 - val_acc: 0.9835\n", "Epoch 131/300\n", " - 3s - loss: 2.5162e-05 - acc: 1.0000 - val_loss: 0.0826 - val_acc: 0.9834\n", "Epoch 132/300\n", " - 3s - loss: 2.4514e-05 - acc: 1.0000 - val_loss: 0.0831 - val_acc: 0.9835\n", "Epoch 133/300\n", " - 3s - loss: 2.3663e-05 - acc: 1.0000 - val_loss: 0.0831 - val_acc: 0.9834\n", "Epoch 134/300\n", " - 3s - loss: 2.2848e-05 - acc: 1.0000 - val_loss: 0.0835 - val_acc: 0.9836\n", "Epoch 135/300\n", " - 3s - loss: 2.2102e-05 - acc: 1.0000 - val_loss: 0.0831 - val_acc: 0.9834\n", "Epoch 136/300\n", " - 3s - loss: 2.1387e-05 - acc: 1.0000 - val_loss: 0.0837 - val_acc: 0.9835\n", "Epoch 137/300\n", " - 3s - loss: 2.0636e-05 - acc: 1.0000 - val_loss: 0.0836 - val_acc: 0.9836\n", "Epoch 138/300\n", " - 3s - loss: 1.9981e-05 - acc: 1.0000 - val_loss: 0.0840 - val_acc: 0.9833\n", "Epoch 139/300\n", " - 3s - loss: 1.9222e-05 - acc: 1.0000 - val_loss: 0.0841 - val_acc: 0.9837\n", "Epoch 140/300\n", " - 3s - loss: 1.8659e-05 - acc: 1.0000 - val_loss: 0.0841 - val_acc: 0.9836\n", "Epoch 141/300\n", " - 3s - loss: 1.7933e-05 - acc: 1.0000 - val_loss: 0.0849 - val_acc: 0.9836\n", "Epoch 142/300\n", " - 3s - loss: 1.7273e-05 - acc: 1.0000 - val_loss: 0.0847 - val_acc: 0.9833\n", "Epoch 143/300\n", " - 3s - loss: 1.6808e-05 - acc: 1.0000 - val_loss: 0.0850 - val_acc: 0.9837\n", "Epoch 144/300\n", " - 3s - loss: 1.6208e-05 - acc: 1.0000 - val_loss: 0.0854 - val_acc: 0.9837\n", "Epoch 145/300\n", " - 3s - loss: 1.5627e-05 - acc: 1.0000 - val_loss: 0.0851 - val_acc: 0.9838\n", "Epoch 146/300\n", " - 3s - loss: 1.5067e-05 - acc: 1.0000 - val_loss: 0.0855 - val_acc: 0.9837\n", "Epoch 147/300\n", " - 3s - loss: 1.4659e-05 - acc: 1.0000 - val_loss: 0.0857 - val_acc: 0.9835\n", "Epoch 148/300\n", " - 3s - loss: 1.4082e-05 - acc: 1.0000 - val_loss: 0.0865 - val_acc: 0.9835\n", "Epoch 149/300\n", " - 3s - loss: 1.3644e-05 - acc: 1.0000 - val_loss: 0.0866 - val_acc: 0.9835\n", "Epoch 150/300\n", " - 3s - loss: 1.3211e-05 - acc: 1.0000 - val_loss: 0.0863 - val_acc: 0.9836\n", "Epoch 151/300\n", " - 3s - loss: 1.2773e-05 - acc: 1.0000 - val_loss: 0.0864 - val_acc: 0.9834\n", "Epoch 152/300\n", " - 3s - loss: 1.2374e-05 - acc: 1.0000 - val_loss: 0.0865 - val_acc: 0.9837\n", "Epoch 153/300\n", " - 3s - loss: 1.1972e-05 - acc: 1.0000 - val_loss: 0.0865 - val_acc: 0.9838\n", "Epoch 154/300\n", " - 3s - loss: 1.1606e-05 - acc: 1.0000 - val_loss: 0.0870 - val_acc: 0.9837\n", "Epoch 155/300\n", " - 3s - loss: 1.1133e-05 - acc: 1.0000 - val_loss: 0.0871 - val_acc: 0.9837\n", "Epoch 156/300\n", " - 3s - loss: 1.0725e-05 - acc: 1.0000 - val_loss: 0.0874 - val_acc: 0.9835\n", "Epoch 157/300\n", " - 3s - loss: 1.0437e-05 - acc: 1.0000 - val_loss: 0.0876 - val_acc: 0.9836\n", "Epoch 158/300\n", " - 3s - loss: 1.0004e-05 - acc: 1.0000 - val_loss: 0.0877 - val_acc: 0.9835\n", "Epoch 159/300\n", " - 3s - loss: 9.7196e-06 - acc: 1.0000 - val_loss: 0.0878 - val_acc: 0.9837\n", "Epoch 160/300\n", " - 3s - loss: 9.4301e-06 - acc: 1.0000 - val_loss: 0.0880 - val_acc: 0.9837\n", "Epoch 161/300\n", " - 3s - loss: 9.1314e-06 - acc: 1.0000 - val_loss: 0.0879 - val_acc: 0.9835\n", "Epoch 162/300\n", " - 3s - loss: 8.8318e-06 - acc: 1.0000 - val_loss: 0.0882 - val_acc: 0.9835\n", "Epoch 163/300\n", " - 3s - loss: 8.5024e-06 - acc: 1.0000 - val_loss: 0.0882 - val_acc: 0.9836\n", "Epoch 164/300\n", " - 3s - loss: 8.2271e-06 - acc: 1.0000 - val_loss: 0.0885 - val_acc: 0.9836\n", "Epoch 165/300\n", " - 3s - loss: 7.9456e-06 - acc: 1.0000 - val_loss: 0.0889 - val_acc: 0.9835\n", "Epoch 166/300\n", " - 3s - loss: 7.7393e-06 - acc: 1.0000 - val_loss: 0.0892 - val_acc: 0.9837\n", "Epoch 167/300\n", " - 3s - loss: 7.5925e-06 - acc: 1.0000 - val_loss: 0.0891 - val_acc: 0.9839\n", "Epoch 168/300\n", " - 3s - loss: 7.2755e-06 - acc: 1.0000 - val_loss: 0.0894 - val_acc: 0.9836\n", "Epoch 169/300\n", " - 3s - loss: 7.0094e-06 - acc: 1.0000 - val_loss: 0.0895 - val_acc: 0.9836\n", "Epoch 170/300\n", " - 3s - loss: 6.7810e-06 - acc: 1.0000 - val_loss: 0.0899 - val_acc: 0.9838\n", "Epoch 171/300\n", " - 3s - loss: 6.5739e-06 - acc: 1.0000 - val_loss: 0.0898 - val_acc: 0.9834\n", "Epoch 172/300\n", " - 3s - loss: 6.3367e-06 - acc: 1.0000 - val_loss: 0.0898 - val_acc: 0.9836\n", "Epoch 173/300\n", " - 3s - loss: 6.1390e-06 - acc: 1.0000 - val_loss: 0.0899 - val_acc: 0.9837\n", "Epoch 174/300\n", " - 4s - loss: 5.9376e-06 - acc: 1.0000 - val_loss: 0.0902 - val_acc: 0.9833\n", "Epoch 175/300\n", " - 3s - loss: 5.8013e-06 - acc: 1.0000 - val_loss: 0.0901 - val_acc: 0.9837\n", "Epoch 176/300\n", " - 3s - loss: 5.5484e-06 - acc: 1.0000 - val_loss: 0.0908 - val_acc: 0.9838\n", "Epoch 177/300\n", " - 3s - loss: 5.4190e-06 - acc: 1.0000 - val_loss: 0.0906 - val_acc: 0.9837\n", "Epoch 178/300\n", " - 3s - loss: 5.2406e-06 - acc: 1.0000 - val_loss: 0.0909 - val_acc: 0.9838\n", "Epoch 179/300\n", " - 3s - loss: 5.0728e-06 - acc: 1.0000 - val_loss: 0.0912 - val_acc: 0.9837\n", "Epoch 180/300\n", " - 3s - loss: 4.9085e-06 - acc: 1.0000 - val_loss: 0.0911 - val_acc: 0.9837\n", "Epoch 181/300\n", " - 3s - loss: 4.7424e-06 - acc: 1.0000 - val_loss: 0.0913 - val_acc: 0.9839\n", "Epoch 182/300\n", " - 3s - loss: 4.5958e-06 - acc: 1.0000 - val_loss: 0.0914 - val_acc: 0.9838\n", "Epoch 183/300\n", " - 3s - loss: 4.4556e-06 - acc: 1.0000 - val_loss: 0.0920 - val_acc: 0.9838\n", "Epoch 184/300\n", " - 3s - loss: 4.3136e-06 - acc: 1.0000 - val_loss: 0.0920 - val_acc: 0.9837\n", "Epoch 185/300\n", " - 3s - loss: 4.1718e-06 - acc: 1.0000 - val_loss: 0.0917 - val_acc: 0.9837\n", "Epoch 186/300\n", " - 3s - loss: 4.0398e-06 - acc: 1.0000 - val_loss: 0.0921 - val_acc: 0.9835\n", "Epoch 187/300\n", " - 3s - loss: 3.9448e-06 - acc: 1.0000 - val_loss: 0.0923 - val_acc: 0.9837\n", "Epoch 188/300\n", " - 3s - loss: 3.7964e-06 - acc: 1.0000 - val_loss: 0.0923 - val_acc: 0.9839\n", "Epoch 189/300\n", " - 3s - loss: 3.6852e-06 - acc: 1.0000 - val_loss: 0.0925 - val_acc: 0.9837\n", "Epoch 190/300\n", " - 3s - loss: 3.5655e-06 - acc: 1.0000 - val_loss: 0.0928 - val_acc: 0.9838\n", "Epoch 191/300\n", " - 3s - loss: 3.4688e-06 - acc: 1.0000 - val_loss: 0.0928 - val_acc: 0.9837\n", "Epoch 192/300\n", " - 3s - loss: 3.3602e-06 - acc: 1.0000 - val_loss: 0.0931 - val_acc: 0.9837\n", "Epoch 193/300\n", " - 3s - loss: 3.2580e-06 - acc: 1.0000 - val_loss: 0.0931 - val_acc: 0.9835\n", "Epoch 194/300\n", " - 3s - loss: 3.1606e-06 - acc: 1.0000 - val_loss: 0.0930 - val_acc: 0.9834\n", "Epoch 195/300\n", " - 3s - loss: 3.0486e-06 - acc: 1.0000 - val_loss: 0.0934 - val_acc: 0.9836\n", "Epoch 196/300\n", " - 3s - loss: 2.9646e-06 - acc: 1.0000 - val_loss: 0.0936 - val_acc: 0.9838\n", "Epoch 197/300\n", " - 3s - loss: 2.8880e-06 - acc: 1.0000 - val_loss: 0.0940 - val_acc: 0.9837\n", "Epoch 198/300\n", " - 3s - loss: 2.8002e-06 - acc: 1.0000 - val_loss: 0.0937 - val_acc: 0.9837\n", "Epoch 199/300\n", " - 3s - loss: 2.7058e-06 - acc: 1.0000 - val_loss: 0.0940 - val_acc: 0.9836\n", "Epoch 200/300\n", " - 3s - loss: 2.6190e-06 - acc: 1.0000 - val_loss: 0.0940 - val_acc: 0.9836\n", "Epoch 201/300\n", " - 3s - loss: 2.5547e-06 - acc: 1.0000 - val_loss: 0.0945 - val_acc: 0.9835\n", "Epoch 202/300\n", " - 3s - loss: 2.4747e-06 - acc: 1.0000 - val_loss: 0.0946 - val_acc: 0.9838\n", "Epoch 203/300\n", " - 3s - loss: 2.3913e-06 - acc: 1.0000 - val_loss: 0.0949 - val_acc: 0.9837\n", "Epoch 204/300\n", " - 3s - loss: 2.3268e-06 - acc: 1.0000 - val_loss: 0.0946 - val_acc: 0.9836\n", "Epoch 205/300\n", " - 3s - loss: 2.2548e-06 - acc: 1.0000 - val_loss: 0.0947 - val_acc: 0.9836\n", "Epoch 206/300\n", " - 3s - loss: 2.1882e-06 - acc: 1.0000 - val_loss: 0.0948 - val_acc: 0.9835\n", "Epoch 207/300\n", " - 3s - loss: 2.1258e-06 - acc: 1.0000 - val_loss: 0.0951 - val_acc: 0.9835\n", "Epoch 208/300\n", " - 3s - loss: 2.0708e-06 - acc: 1.0000 - val_loss: 0.0954 - val_acc: 0.9834\n", "Epoch 209/300\n", " - 3s - loss: 2.0087e-06 - acc: 1.0000 - val_loss: 0.0956 - val_acc: 0.9836\n", "Epoch 210/300\n", " - 3s - loss: 1.9515e-06 - acc: 1.0000 - val_loss: 0.0957 - val_acc: 0.9837\n", "Epoch 211/300\n", " - 3s - loss: 1.8939e-06 - acc: 1.0000 - val_loss: 0.0955 - val_acc: 0.9838\n", "Epoch 212/300\n", " - 3s - loss: 1.8318e-06 - acc: 1.0000 - val_loss: 0.0961 - val_acc: 0.9838\n", "Epoch 213/300\n", " - 3s - loss: 1.7768e-06 - acc: 1.0000 - val_loss: 0.0965 - val_acc: 0.9838\n", "Epoch 214/300\n", " - 3s - loss: 1.7453e-06 - acc: 1.0000 - val_loss: 0.0965 - val_acc: 0.9837\n", "Epoch 215/300\n", " - 3s - loss: 1.6773e-06 - acc: 1.0000 - val_loss: 0.0963 - val_acc: 0.9834\n", "Epoch 216/300\n", " - 3s - loss: 1.6451e-06 - acc: 1.0000 - val_loss: 0.0964 - val_acc: 0.9837\n", "Epoch 217/300\n", " - 3s - loss: 1.5821e-06 - acc: 1.0000 - val_loss: 0.0966 - val_acc: 0.9836\n", "Epoch 218/300\n", " - 3s - loss: 1.5421e-06 - acc: 1.0000 - val_loss: 0.0968 - val_acc: 0.9835\n", "Epoch 219/300\n", " - 3s - loss: 1.5006e-06 - acc: 1.0000 - val_loss: 0.0968 - val_acc: 0.9838\n", "Epoch 220/300\n", " - 3s - loss: 1.4623e-06 - acc: 1.0000 - val_loss: 0.0972 - val_acc: 0.9836\n", "Epoch 221/300\n", " - 3s - loss: 1.4146e-06 - acc: 1.0000 - val_loss: 0.0971 - val_acc: 0.9837\n", "Epoch 222/300\n", " - 3s - loss: 1.3827e-06 - acc: 1.0000 - val_loss: 0.0972 - val_acc: 0.9837\n", "Epoch 223/300\n", " - 3s - loss: 1.3375e-06 - acc: 1.0000 - val_loss: 0.0975 - val_acc: 0.9837\n", "Epoch 224/300\n", " - 3s - loss: 1.3092e-06 - acc: 1.0000 - val_loss: 0.0977 - val_acc: 0.9838\n", "Epoch 225/300\n", " - 3s - loss: 1.2728e-06 - acc: 1.0000 - val_loss: 0.0977 - val_acc: 0.9839\n", "Epoch 226/300\n", " - 3s - loss: 1.2347e-06 - acc: 1.0000 - val_loss: 0.0978 - val_acc: 0.9834\n", "Epoch 227/300\n", " - 3s - loss: 1.1935e-06 - acc: 1.0000 - val_loss: 0.0983 - val_acc: 0.9837\n", "Epoch 228/300\n", " - 3s - loss: 1.1687e-06 - acc: 1.0000 - val_loss: 0.0985 - val_acc: 0.9838\n", "Epoch 229/300\n", " - 3s - loss: 1.1407e-06 - acc: 1.0000 - val_loss: 0.0983 - val_acc: 0.9839\n", "Epoch 230/300\n", " - 3s - loss: 1.1039e-06 - acc: 1.0000 - val_loss: 0.0986 - val_acc: 0.9834\n", "Epoch 231/300\n", " - 3s - loss: 1.0760e-06 - acc: 1.0000 - val_loss: 0.0987 - val_acc: 0.9839\n", "Epoch 232/300\n", " - 3s - loss: 1.0546e-06 - acc: 1.0000 - val_loss: 0.0987 - val_acc: 0.9837\n", "Epoch 233/300\n", " - 3s - loss: 1.0228e-06 - acc: 1.0000 - val_loss: 0.0989 - val_acc: 0.9835\n", "Epoch 234/300\n", " - 3s - loss: 9.9359e-07 - acc: 1.0000 - val_loss: 0.0990 - val_acc: 0.9836\n", "Epoch 235/300\n", " - 3s - loss: 9.6863e-07 - acc: 1.0000 - val_loss: 0.0993 - val_acc: 0.9838\n", "Epoch 236/300\n", " - 3s - loss: 9.4514e-07 - acc: 1.0000 - val_loss: 0.0993 - val_acc: 0.9837\n", "Epoch 237/300\n", " - 3s - loss: 9.2869e-07 - acc: 1.0000 - val_loss: 0.0993 - val_acc: 0.9836\n", "Epoch 238/300\n", " - 3s - loss: 8.9592e-07 - acc: 1.0000 - val_loss: 0.0995 - val_acc: 0.9836\n", "Epoch 239/300\n", " - 3s - loss: 8.7460e-07 - acc: 1.0000 - val_loss: 0.0996 - val_acc: 0.9835\n", "Epoch 240/300\n", " - 3s - loss: 8.5597e-07 - acc: 1.0000 - val_loss: 0.0997 - val_acc: 0.9838\n", "Epoch 241/300\n", " - 3s - loss: 8.3255e-07 - acc: 1.0000 - val_loss: 0.1000 - val_acc: 0.9836\n", "Epoch 242/300\n", " - 3s - loss: 8.1206e-07 - acc: 1.0000 - val_loss: 0.1000 - val_acc: 0.9836\n", "Epoch 243/300\n", " - 3s - loss: 7.9508e-07 - acc: 1.0000 - val_loss: 0.1005 - val_acc: 0.9838\n", "Epoch 244/300\n", " - 3s - loss: 7.7165e-07 - acc: 1.0000 - val_loss: 0.1003 - val_acc: 0.9837\n", "Epoch 245/300\n", " - 3s - loss: 7.5228e-07 - acc: 1.0000 - val_loss: 0.1007 - val_acc: 0.9839\n", "Epoch 246/300\n", " - 3s - loss: 7.3610e-07 - acc: 1.0000 - val_loss: 0.1003 - val_acc: 0.9836\n", "Epoch 247/300\n", " - 3s - loss: 7.1769e-07 - acc: 1.0000 - val_loss: 0.1007 - val_acc: 0.9837\n", "Epoch 248/300\n", " - 3s - loss: 6.9995e-07 - acc: 1.0000 - val_loss: 0.1010 - val_acc: 0.9839\n", "Epoch 249/300\n", " - 3s - loss: 6.8623e-07 - acc: 1.0000 - val_loss: 0.1009 - val_acc: 0.9837\n", "Epoch 250/300\n", " - 3s - loss: 6.6548e-07 - acc: 1.0000 - val_loss: 0.1012 - val_acc: 0.9834\n", "Epoch 251/300\n", " - 3s - loss: 6.5409e-07 - acc: 1.0000 - val_loss: 0.1014 - val_acc: 0.9839\n", "Epoch 252/300\n", " - 3s - loss: 6.4120e-07 - acc: 1.0000 - val_loss: 0.1015 - val_acc: 0.9838\n", "Epoch 253/300\n", " - 3s - loss: 6.2190e-07 - acc: 1.0000 - val_loss: 0.1017 - val_acc: 0.9834\n", "Epoch 254/300\n", " - 3s - loss: 6.0925e-07 - acc: 1.0000 - val_loss: 0.1020 - val_acc: 0.9835\n", "Epoch 255/300\n", " - 3s - loss: 5.9585e-07 - acc: 1.0000 - val_loss: 0.1021 - val_acc: 0.9840\n", "Epoch 256/300\n", " - 3s - loss: 5.8089e-07 - acc: 1.0000 - val_loss: 0.1018 - val_acc: 0.9837\n", "Epoch 257/300\n", " - 3s - loss: 5.7196e-07 - acc: 1.0000 - val_loss: 0.1021 - val_acc: 0.9835\n", "Epoch 258/300\n", " - 3s - loss: 5.5789e-07 - acc: 1.0000 - val_loss: 0.1025 - val_acc: 0.9838\n", "Epoch 259/300\n", " - 3s - loss: 5.4679e-07 - acc: 1.0000 - val_loss: 0.1023 - val_acc: 0.9840\n", "Epoch 260/300\n", " - 3s - loss: 5.3333e-07 - acc: 1.0000 - val_loss: 0.1021 - val_acc: 0.9839\n", "Epoch 261/300\n", " - 3s - loss: 5.2341e-07 - acc: 1.0000 - val_loss: 0.1026 - val_acc: 0.9836\n", "Epoch 262/300\n", " - 3s - loss: 5.0919e-07 - acc: 1.0000 - val_loss: 0.1027 - val_acc: 0.9838\n", "Epoch 263/300\n", " - 3s - loss: 5.0080e-07 - acc: 1.0000 - val_loss: 0.1028 - val_acc: 0.9840\n", "Epoch 264/300\n", " - 3s - loss: 4.8936e-07 - acc: 1.0000 - val_loss: 0.1027 - val_acc: 0.9836\n", "Epoch 265/300\n", " - 3s - loss: 4.8162e-07 - acc: 1.0000 - val_loss: 0.1029 - val_acc: 0.9839\n", "Epoch 266/300\n", " - 3s - loss: 4.7047e-07 - acc: 1.0000 - val_loss: 0.1031 - val_acc: 0.9838\n", "Epoch 267/300\n", " - 3s - loss: 4.5974e-07 - acc: 1.0000 - val_loss: 0.1031 - val_acc: 0.9838\n", "Epoch 268/300\n", " - 3s - loss: 4.5105e-07 - acc: 1.0000 - val_loss: 0.1034 - val_acc: 0.9840\n", "Epoch 269/300\n", " - 3s - loss: 4.4195e-07 - acc: 1.0000 - val_loss: 0.1037 - val_acc: 0.9838\n", "Epoch 270/300\n", " - 3s - loss: 4.3360e-07 - acc: 1.0000 - val_loss: 0.1036 - val_acc: 0.9838\n", "Epoch 271/300\n", " - 3s - loss: 4.2704e-07 - acc: 1.0000 - val_loss: 0.1037 - val_acc: 0.9840\n", "Epoch 272/300\n", " - 3s - loss: 4.1747e-07 - acc: 1.0000 - val_loss: 0.1040 - val_acc: 0.9838\n", "Epoch 273/300\n", " - 3s - loss: 4.0963e-07 - acc: 1.0000 - val_loss: 0.1041 - val_acc: 0.9841\n", "Epoch 274/300\n", " - 3s - loss: 4.0081e-07 - acc: 1.0000 - val_loss: 0.1045 - val_acc: 0.9839\n", "Epoch 275/300\n", " - 3s - loss: 3.9514e-07 - acc: 1.0000 - val_loss: 0.1043 - val_acc: 0.9840\n", "Epoch 276/300\n", " - 3s - loss: 3.8734e-07 - acc: 1.0000 - val_loss: 0.1042 - val_acc: 0.9842\n", "Epoch 277/300\n", " - 3s - loss: 3.8035e-07 - acc: 1.0000 - val_loss: 0.1044 - val_acc: 0.9840\n", "Epoch 278/300\n", " - 3s - loss: 3.7277e-07 - acc: 1.0000 - val_loss: 0.1045 - val_acc: 0.9840\n", "Epoch 279/300\n", " - 3s - loss: 3.6763e-07 - acc: 1.0000 - val_loss: 0.1047 - val_acc: 0.9839\n", "Epoch 280/300\n", " - 3s - loss: 3.6084e-07 - acc: 1.0000 - val_loss: 0.1048 - val_acc: 0.9839\n", "Epoch 281/300\n", " - 3s - loss: 3.5480e-07 - acc: 1.0000 - val_loss: 0.1053 - val_acc: 0.9840\n", "Epoch 282/300\n", " - 3s - loss: 3.4911e-07 - acc: 1.0000 - val_loss: 0.1050 - val_acc: 0.9838\n", "Epoch 283/300\n", " - 3s - loss: 3.4319e-07 - acc: 1.0000 - val_loss: 0.1052 - val_acc: 0.9842\n", "Epoch 284/300\n", " - 3s - loss: 3.3739e-07 - acc: 1.0000 - val_loss: 0.1056 - val_acc: 0.9838\n", "Epoch 285/300\n", " - 3s - loss: 3.3219e-07 - acc: 1.0000 - val_loss: 0.1056 - val_acc: 0.9839\n", "Epoch 286/300\n", " - 3s - loss: 3.2867e-07 - acc: 1.0000 - val_loss: 0.1054 - val_acc: 0.9838\n", "Epoch 287/300\n", " - 3s - loss: 3.2200e-07 - acc: 1.0000 - val_loss: 0.1055 - val_acc: 0.9841\n", "Epoch 288/300\n", " - 3s - loss: 3.1716e-07 - acc: 1.0000 - val_loss: 0.1058 - val_acc: 0.9839\n", "Epoch 289/300\n", " - 3s - loss: 3.1087e-07 - acc: 1.0000 - val_loss: 0.1058 - val_acc: 0.9840\n", "Epoch 290/300\n", " - 3s - loss: 3.0634e-07 - acc: 1.0000 - val_loss: 0.1059 - val_acc: 0.9842\n", "Epoch 291/300\n", " - 3s - loss: 3.0191e-07 - acc: 1.0000 - val_loss: 0.1063 - val_acc: 0.9838\n", "Epoch 292/300\n", " - 3s - loss: 2.9703e-07 - acc: 1.0000 - val_loss: 0.1063 - val_acc: 0.9838\n", "Epoch 293/300\n", " - 3s - loss: 2.9311e-07 - acc: 1.0000 - val_loss: 0.1062 - val_acc: 0.9837\n", "Epoch 294/300\n", " - 3s - loss: 2.8903e-07 - acc: 1.0000 - val_loss: 0.1064 - val_acc: 0.9840\n", "Epoch 295/300\n", " - 3s - loss: 2.8474e-07 - acc: 1.0000 - val_loss: 0.1066 - val_acc: 0.9840\n", "Epoch 296/300\n", " - 3s - loss: 2.8142e-07 - acc: 1.0000 - val_loss: 0.1065 - val_acc: 0.9839\n", "Epoch 297/300\n", " - 3s - loss: 2.7653e-07 - acc: 1.0000 - val_loss: 0.1070 - val_acc: 0.9839\n", "Epoch 298/300\n", " - 3s - loss: 2.7363e-07 - acc: 1.0000 - val_loss: 0.1070 - val_acc: 0.9841\n", "Epoch 299/300\n", " - 3s - loss: 2.6964e-07 - acc: 1.0000 - val_loss: 0.1071 - val_acc: 0.9838\n", "Epoch 300/300\n", " - 3s - loss: 2.6562e-07 - acc: 1.0000 - val_loss: 0.1069 - val_acc: 0.9839\n", "Baseline Error: 1.61%\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "6B4kaBR6R56V", "colab_type": "text" }, "source": [ "# INTERPRET" ] }, { "cell_type": "code", "metadata": { "id": "jtoZK-30R2fB", "colab_type": "code", "outputId": "51ea63b6-85cd-478a-85ee-9694b3e667ff", "colab": { "base_uri": "https://localhost:8080/", "height": 651 } }, "source": [ "# PLOT THE RESULTS OF THE MODEL\n", "\n", "def plot_train_curve(history):\n", " colors = ['#e66101','#fdb863','#b2abd2','#5e3c99']\n", " accuracy = history.history['acc']\n", " val_accuracy = history.history['val_acc']\n", " loss = history.history['loss']\n", " val_loss = history.history['val_loss']\n", " epochs = range(len(accuracy))\n", " with plt.style.context(\"ggplot\"):\n", " plt.figure(figsize=(8, 8/1.618))\n", " plt.plot(epochs, accuracy, marker='o', c=colors[3], label='Training accuracy')\n", " plt.plot(epochs, val_accuracy, c=colors[0], label='Validation accuracy')\n", " plt.title('Training and validation accuracy')\n", " plt.legend()\n", " plt.figure(figsize=(8, 8/1.618))\n", " plt.plot(epochs, loss, marker='o', c=colors[3], label='Training loss')\n", " plt.plot(epochs, val_loss, c=colors[0], label='Validation loss')\n", " plt.title('Training and validation loss')\n", " plt.legend()\n", " plt.show()\n", " \n", "plot_train_curve(history)" ], "execution_count": 0, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n/Pa3v2Xx4sWucSCjR4+u0vGl9lOgliuuffv2OJ1OZs+ezcGDB/n00095/vnnayQvjRo14p577mHq\n1Kl888037Nmzh8cee4yDBw+et5VdXWW4++678fHxYcKECWzbto3Vq1fzu9/9rkoDgGJjY+nYsSMT\nJkygoKCAO+64w7WudevW+Pj48Morr/DTTz+xbNkyHnvssQvKW+fOnUlISOC3v/0tP/zwAzt27GDi\nxIluPyKaNGlCaGgob7/9Nvv27WP16tXcddddbl33FouFli1b8v3335OamlphF/Uf/vAHjh49ym9+\n8xt27NjBf//7X+655x7i4+Pp1avXBeX9bFXJ45AhQ7jmmmsYNWoUX375JQcPHmTlypXMmzcPwDXa\ne/jw4Xz//fccPHiQ//znP67JYqKjo4mIiODpp59mz549/Pe//+Xxxx+vUv46dOjAxo0b+eqrr9i/\nfz+zZs3iyy+/dEvz9NNPs3jxYh577DG2bdvG7t27mTNnjtso/oEDB9KiRQumTp3KXXfdRUBAwEXX\nmdQuCtRyxfXq1YuXXnqJf/zjH3Ts2JFXX32V2bNn11h+Zs+ezaBBg7jjjjvo06cPRUVFjBs37rzX\niaurDCEhIXz99dekpKQQGxvLxIkTmTZtGqGhoVXafsKECWzevJlbb72VBg0auJZHRETw/vvv8/nn\nn9OxY0eefPLJi8rf/PnzufrqqxkyZAgDBgygQ4cO3HTTTa71Pj4+fPLJJ2zfvp0uXbpw33338cQT\nT5SZxOTll19m1apVtGzZkubNm5d7rMjISL799lv27dtHz549ue2224iNjXXd3nSxqpJHb29vvv32\nWwYOHMhvfvMbrr76aiZOnMiJEycA831auXIlbdu2ZfTo0URHR/Pwww+7bn3y8/MjMTGRQ4cO0b17\nd/74xz/ywgsvVCl/kydPZvTo0dx1112ulvv06dPd0gwfPpzPP/+c//73v/Tq1YvevXuzYMECfHx8\nXGksFgu/+c1vKCoqUrd3HWMxzr6oIiIA9O3bl9atW/Phhx/WdFZEquzhhx9m3bp1ZS7liGfTzGRS\n723atIkdO3Zw7bXXUlBQwNy5c/nf//7HjBkzajprIlVy6tQpdu7cydy5c5k7d25NZ0eqmQK1CPDK\nK6+we/duwLze+NVXXxEXF1fDuRKpmsGDB7N161bGjx+vQWR1kLq+RUREajENJhMREanFFKhFRERq\nMQVqERGRWqxWDiY7e3af6hAWFnbBszLVZaqPM1QX7lQf7lQf7lQf7qqzPkqfA1AetahFRERqMQVq\nERGRWkyBWkREpBZToBYREanFFKhFRERqMQVqERGRWqzS27PeeOMNNm7cSMOGDXnxxRfLrDcMg3nz\n5rFp0yb8/Px44IEHaNOmDQArVqxg8eLFAIwcOZL+/ftXb+5FRETquEoDdf/+/RkyZAivv/56ues3\nbdpEWloar7zyCvv27eOf//wnzz33HDk5OSxatIiZM2cC8MQTTxAbG0twcHD1lsADbFqZwhfv7SA/\np7imsyIiIpfIYgHDAFuTIOLvaEePGyIv6/EqDdQdO3bk2LFjFa5fv349/fr1w2Kx0L59e3Jzczlx\n4gQ7duyga9eursDctWtXNm/ezPXXX199ua9FFIxFROqH0kdZZR7LZck72wAua7C+5JnJMjMzCQsL\nc7222+1kZmaSmZmJ3W53LbfZbGRmZl7q4WoNBWYRESkuKmHZwj21O1BXh6SkJJKSkgCYOXOmW+Cv\nDlartdr2+WPSARa+tobc7KJq2Z+IiHi2kxn51R63znbJgdpms7nNdZqRkYHNZsNms7Fz507X8szM\nTDp27FjuPuLj44mPj3e9ru65ZKtrPtZNK1NY8s42iotKqiFXIiJSF4TaAy45xlzWub5jY2P54Ycf\nMAyDvXv3EhgYSKNGjejevTtbtmwhJyeHnJwctmzZQvfu3S/1cDXqy/d3KEiLiIiLj683CWM7XNZj\nVNqifvnll9m5cyfZ2dn87ne/44477sDhcACQkJBAjx492LhxIw8//DC+vr488MADAAQHBzNq1Cim\nTZsGwO233+7RI77//c+t5GXrerSISH13pUd9WwyjdPxa7VGbHnNZXYPGAkN8uPnuTpf9Da0KParu\nDNWFO9WHO9WHO9WHuyv1mMtaMZistrqQa9Klv7BCwwJIGNuhVgRkERHxfArU51GVa9IBwT48PWfw\nFcqRiIjUN5rruwKbVqZU6Zr08ImdrkBuRESkvlKgrsCX7++oNM21g65SF7eIiFxW6vouR2Wt6do0\nMExEROo2BepzbFqZwidvbKlwfUCwD0/9U9ekRUTkylDX91lKR3kbzorvWNM1aRERuZIUqM+ybOGe\n847yDgj2UXe3iIhcUQrUZzmZnl/hOh9fb7WmRUTkilOgPm3TypQK11m8LNx2fxe1pkVE5IpToD5t\n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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "tags": [] } } ] }, { "cell_type": "code", "metadata": { "id": "DEAN3mlCR-rn", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": 0, "outputs": [] } ] }