diff --git "a/main.ipynb" "b/main.ipynb" new file mode 100644--- /dev/null +++ "b/main.ipynb" @@ -0,0 +1,847 @@ +{ + "cells": [ + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Kuzushiji-MNIST\n", + "\n", + "Kuzushiji-MNIST is a drop-in replacement for the MNIST dataset (28x28 grayscale, 70,000 images), provided in the original MNIST format as well as a NumPy format. We are going to use the Hiragana part of the dataset, which is a balanced set of Hiragana characters. Note that each image is 28x28 and there are 49 classes and over 270,000 images in the training set.\n", + "\n", + "[Data source](https://github.com/rois-codh/kmnist)" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We are trying to create a model that has a high accuracy and can predict the Hiragana characters. This model will be used inside a web application to help memorize Hiragana characters by drawing them on the screen. " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# import dependencies\n", + "\n", + "import numpy as np\n", + "from sklearn.model_selection import train_test_split\n", + "import tensorflow as tf\n", + "from tensorflow.keras.preprocessing.image import ImageDataGenerator\n", + "from tensorflow.keras.callbacks import EarlyStopping\n", + "from tensorflow.keras.models import Sequential\n", + "from tensorflow.keras.layers import Dense, Dropout, Flatten\n", + "from tensorflow.keras.optimizers import Adam\n", + "from tensorflow.keras.models import load_model\n", + "import matplotlib.pyplot as plt\n", + "import random" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Data Preparation, pre-processing, and augmentation" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(232365, 28, 28)\n", + "(232365,)\n" + ] + } + ], + "source": [ + "# import data\n", + "\n", + "images_data = np.load(\"data/k49-train-imgs.npz\")\n", + "train_images = images_data[\"arr_0\"]\n", + "\n", + "labels_data = np.load(\"data/k49-train-labels.npz\")\n", + "train_labels = labels_data[\"arr_0\"]\n", + "\n", + "print(train_images.shape)\n", + "print(train_labels.shape)\n", + "\n", + "image_index = 0\n", + "image = train_images[image_index]\n", + "label = train_labels[image_index]" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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ihX287t166atW7dq1qxZ8nq96tmzp6ZNm6aFCxfaNampqSopKVFeXp6WLVumgQMHavXq1dzODQAAriqsULNhw4arjsfGxqqoqEhFRUVXrElJSdF777131eOMHz9eBw8eDKc1AADQxfHdTwAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABghLC+JgEIx+C5JZFuAQDQhbBSAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABgBEINAAAwAqEGAAAYgVADAACMQKgBAABGINQAAAAjEGoAAIARCDUAAMAIhBoAAGAEQg0AADACoQYAABiBUAMAAIxAqAEAAEYg1AAAACMQagAAgBEINQAAwAiEGgAAYARCDQAAMAKhBgAAGIFQAwAAjECoAQAARiDUAAAAIxBqAACAEQg1AADACIQaAABgBEINAAAwQkykGwBuNYPnlnxjzZeLsm5CJwCAcLBSAwAAjECoAQAARiDUAAAAIxBqAACAEW4o1CxatEhRUVGaPXu2ve/s2bPy+/3q16+fevXqpezsbDU0NIQ8r76+XllZWerRo4cSExP1/PPP6/z58yE1u3bt0pgxY+R0OjVkyBAVFxffSKsAAMBw1x1qDhw4oJ/97GcaOXJkyP68vDy9++672rx5s8rLy3Xs2DFNmTLFHr9w4YKysrLU2tqqvXv36q233lJxcbHmz59v19TV1SkrK0sPPvigqqurNXv2bD399NPavn379bYLAAAMd12h5tSpU8rJydHPf/5z9enTx97f3NysNWvW6LXXXtOECROUnp6utWvXau/evaqsrJQk7dixQ4cPH9avfvUrjR49WpMnT9bLL7+soqIitba2SpJWrVql1NRULVmyRMOHD1dubq7+7u/+TkuXLu2AUwYAACa6rlDj9/uVlZWlzMzMkP1VVVU6d+5cyP5hw4Zp0KBBqqiokCRVVFRoxIgRcrvddo3P51MwGNShQ4fsmq8f2+fz2ccAAAD4urA/fG/Dhg365JNPdODAgUvGAoGAHA6HEhISQva73W4FAgG75uJA0z7ePna1mmAwqDNnziguLu6S125paVFLS4v9OBgMhntqAADgNhbWSs3Ro0f13HPPad26dYqNje2snq5LYWGh4uPj7S05OTnSLQEAgJsorFBTVVWl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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# show label amount using histogram\n", + "\n", + "plt.hist(train_labels, bins=49)\n", + "plt.show()" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at this data we can see that there is a bit of a class imbalance.We will need to do some data augmentation to help with the class imbalance." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Train images shape: (185892, 28, 28, 1)\n", + "Train labels shape: (185892,)\n", + "Test images shape: (46473, 28, 28, 1)\n", + "Test labels shape: (46473,)\n" + ] + } + ], + "source": [ + "# data preprocessing\n", + "\n", + "test_size = 0.2\n", + "random_state = 42\n", + "X_train, X_test, y_train, y_test = train_test_split(\n", + " train_images, train_labels, test_size=test_size, random_state=random_state\n", + ")\n", + "\n", + "X_train = X_train.astype('float32') / 255.0\n", + "X_test = X_test.astype('float32') / 255.0\n", + "\n", + "X_train = X_train.reshape(-1, 28, 28, 1)\n", + "X_test = X_test.reshape(-1, 28, 28, 1)\n", + "\n", + "print(\"Train images shape:\", X_train.shape)\n", + "print(\"Train labels shape:\", y_train.shape)\n", + "print(\"Test images shape:\", X_test.shape)\n", + "print(\"Test labels shape:\", y_test.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# create an ImageDataGenerator for data augmentation\n", + "\n", + "datagen = ImageDataGenerator(\n", + " rotation_range=10,\n", + " zoom_range=0.1,\n", + " width_shift_range=0.1,\n", + " height_shift_range=0.1,\n", + " shear_range=0.1,\n", + " horizontal_flip=False,\n", + " vertical_flip=False,\n", + " fill_mode='nearest'\n", + ")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Model Creation" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/200\n", + "1453/1453 [==============================] - 46s 30ms/step - loss: 1.9505 - accuracy: 0.4704 - val_loss: 0.8815 - val_accuracy: 0.7548\n", + "Epoch 2/200\n", + "1453/1453 [==============================] - 45s 31ms/step - loss: 1.3774 - accuracy: 0.6196 - val_loss: 0.7105 - val_accuracy: 0.7977\n", + "Epoch 3/200\n", + "1453/1453 [==============================] - 50s 34ms/step - loss: 1.2204 - accuracy: 0.6616 - val_loss: 0.6153 - val_accuracy: 0.8271\n", + "Epoch 4/200\n", + "1453/1453 [==============================] - 50s 34ms/step - loss: 1.1388 - accuracy: 0.6848 - val_loss: 0.5517 - val_accuracy: 0.8427\n", + "Epoch 5/200\n", + "1453/1453 [==============================] - 48s 33ms/step - loss: 1.0783 - accuracy: 0.7002 - val_loss: 0.5201 - val_accuracy: 0.8535\n", + "Epoch 6/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 1.0388 - accuracy: 0.7121 - val_loss: 0.4843 - val_accuracy: 0.8616\n", + "Epoch 7/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 1.0044 - accuracy: 0.7226 - val_loss: 0.4514 - val_accuracy: 0.8712\n", + "Epoch 8/200\n", + "1453/1453 [==============================] - 52s 36ms/step - loss: 0.9800 - accuracy: 0.7301 - val_loss: 0.4499 - val_accuracy: 0.8692\n", + "Epoch 9/200\n", + "1453/1453 [==============================] - 51s 35ms/step - loss: 0.9625 - accuracy: 0.7354 - val_loss: 0.4382 - val_accuracy: 0.8747\n", + "Epoch 10/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 0.9413 - accuracy: 0.7407 - val_loss: 0.4204 - val_accuracy: 0.8804\n", + "Epoch 11/200\n", + "1453/1453 [==============================] - 50s 35ms/step - loss: 0.9240 - accuracy: 0.7458 - val_loss: 0.4101 - val_accuracy: 0.8830\n", + "Epoch 12/200\n", + "1453/1453 [==============================] - 51s 35ms/step - loss: 0.9135 - accuracy: 0.7485 - val_loss: 0.3929 - val_accuracy: 0.8875\n", + "Epoch 13/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 0.9054 - accuracy: 0.7512 - val_loss: 0.3883 - val_accuracy: 0.8875\n", + "Epoch 14/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8938 - accuracy: 0.7555 - val_loss: 0.3808 - val_accuracy: 0.8911\n", + "Epoch 15/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8893 - accuracy: 0.7566 - val_loss: 0.3827 - val_accuracy: 0.8916\n", + "Epoch 16/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8763 - accuracy: 0.7604 - val_loss: 0.3696 - val_accuracy: 0.8949\n", + "Epoch 17/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8699 - accuracy: 0.7626 - val_loss: 0.3674 - val_accuracy: 0.8971\n", + "Epoch 18/200\n", + "1453/1453 [==============================] - 47s 33ms/step - loss: 0.8674 - accuracy: 0.7637 - val_loss: 0.3662 - val_accuracy: 0.8960\n", + "Epoch 19/200\n", + "1453/1453 [==============================] - 48s 33ms/step - loss: 0.8578 - accuracy: 0.7678 - val_loss: 0.3595 - val_accuracy: 0.8975\n", + "Epoch 20/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8564 - accuracy: 0.7670 - val_loss: 0.3629 - val_accuracy: 0.8969\n", + "Epoch 21/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8488 - accuracy: 0.7703 - val_loss: 0.3569 - val_accuracy: 0.8982\n", + "Epoch 22/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8438 - accuracy: 0.7712 - val_loss: 0.3580 - val_accuracy: 0.8988\n", + "Epoch 23/200\n", + "1453/1453 [==============================] - 46s 32ms/step - loss: 0.8414 - accuracy: 0.7710 - val_loss: 0.3441 - val_accuracy: 0.9044\n", + "Epoch 24/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8301 - accuracy: 0.7748 - val_loss: 0.3489 - val_accuracy: 0.9025\n", + "Epoch 25/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8323 - accuracy: 0.7749 - val_loss: 0.3396 - val_accuracy: 0.9039\n", + "Epoch 26/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8315 - accuracy: 0.7756 - val_loss: 0.3366 - val_accuracy: 0.9052\n", + "Epoch 27/200\n", + "1453/1453 [==============================] - 47s 32ms/step - loss: 0.8233 - accuracy: 0.7780 - val_loss: 0.3390 - val_accuracy: 0.9056\n", + "Epoch 28/200\n", + "1453/1453 [==============================] - 52s 36ms/step - loss: 0.8211 - accuracy: 0.7771 - val_loss: 0.3314 - val_accuracy: 0.9092\n", + "Epoch 29/200\n", + "1453/1453 [==============================] - 47s 33ms/step - loss: 0.8184 - accuracy: 0.7797 - val_loss: 0.3310 - val_accuracy: 0.9073\n", + "Epoch 30/200\n", + "1453/1453 [==============================] - 50s 34ms/step - loss: 0.8121 - accuracy: 0.7813 - val_loss: 0.3301 - val_accuracy: 0.9064\n", + "Epoch 31/200\n", + "1453/1453 [==============================] - 46s 31ms/step - loss: 0.8118 - accuracy: 0.7807 - val_loss: 0.3265 - val_accuracy: 0.9099\n", + "Epoch 32/200\n", + "1453/1453 [==============================] - 49s 33ms/step - loss: 0.8089 - accuracy: 0.7809 - val_loss: 0.3165 - val_accuracy: 0.9122\n", + "Epoch 33/200\n", + "1453/1453 [==============================] - 64s 44ms/step - loss: 0.7999 - accuracy: 0.7840 - val_loss: 0.3241 - val_accuracy: 0.9091\n", + "Epoch 34/200\n", + "1453/1453 [==============================] - 70s 48ms/step - loss: 0.8000 - accuracy: 0.7849 - val_loss: 0.3276 - val_accuracy: 0.9076\n", + "Epoch 35/200\n", + "1453/1453 [==============================] - 69s 47ms/step - loss: 0.8010 - accuracy: 0.7848 - val_loss: 0.3194 - val_accuracy: 0.9107\n", + "Epoch 36/200\n", + "1453/1453 [==============================] - 70s 48ms/step - loss: 0.7988 - accuracy: 0.7851 - val_loss: 0.3163 - val_accuracy: 0.9114\n", + "Epoch 37/200\n", + "1453/1453 [==============================] - 74s 51ms/step - loss: 0.7977 - accuracy: 0.7864 - val_loss: 0.3128 - val_accuracy: 0.9127\n", + "Epoch 38/200\n", + "1453/1453 [==============================] - 61s 42ms/step - loss: 0.7900 - accuracy: 0.7885 - val_loss: 0.3113 - val_accuracy: 0.9145\n", + "Epoch 39/200\n", + "1453/1453 [==============================] - 60s 41ms/step - loss: 0.7880 - accuracy: 0.7887 - val_loss: 0.3120 - val_accuracy: 0.9121\n", + "Epoch 40/200\n", + "1453/1453 [==============================] - 59s 40ms/step - loss: 0.7896 - accuracy: 0.7880 - val_loss: 0.3097 - val_accuracy: 0.9143\n", + "Epoch 41/200\n", + "1453/1453 [==============================] - 59s 40ms/step - loss: 0.7896 - accuracy: 0.7890 - val_loss: 0.3087 - val_accuracy: 0.9136\n", + "Epoch 42/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 0.7884 - accuracy: 0.7885 - val_loss: 0.3089 - val_accuracy: 0.9135\n", + "Epoch 43/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7778 - accuracy: 0.7911 - val_loss: 0.3065 - val_accuracy: 0.9153\n", + "Epoch 44/200\n", + "1453/1453 [==============================] - 61s 42ms/step - loss: 0.7792 - accuracy: 0.7907 - val_loss: 0.3056 - val_accuracy: 0.9166\n", + "Epoch 45/200\n", + "1453/1453 [==============================] - 59s 41ms/step - loss: 0.7834 - accuracy: 0.7899 - val_loss: 0.3083 - val_accuracy: 0.9139\n", + "Epoch 46/200\n", + "1453/1453 [==============================] - 60s 41ms/step - loss: 0.7756 - accuracy: 0.7925 - val_loss: 0.3010 - val_accuracy: 0.9167\n", + "Epoch 47/200\n", + "1453/1453 [==============================] - 69s 47ms/step - loss: 0.7766 - accuracy: 0.7923 - val_loss: 0.3015 - val_accuracy: 0.9165\n", + "Epoch 48/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7743 - accuracy: 0.7933 - val_loss: 0.3082 - val_accuracy: 0.9143\n", + "Epoch 49/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7723 - accuracy: 0.7944 - val_loss: 0.3019 - val_accuracy: 0.9137\n", + "Epoch 50/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 0.7706 - accuracy: 0.7938 - val_loss: 0.3103 - val_accuracy: 0.9151\n", + "Epoch 51/200\n", + "1453/1453 [==============================] - 54s 37ms/step - loss: 0.7683 - accuracy: 0.7948 - val_loss: 0.2982 - val_accuracy: 0.9170\n", + "Epoch 52/200\n", + "1453/1453 [==============================] - 54s 37ms/step - loss: 0.7747 - accuracy: 0.7936 - val_loss: 0.3047 - val_accuracy: 0.9154\n", + "Epoch 53/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7743 - accuracy: 0.7939 - val_loss: 0.3007 - val_accuracy: 0.9179\n", + "Epoch 54/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7695 - accuracy: 0.7950 - val_loss: 0.2965 - val_accuracy: 0.9174\n", + "Epoch 55/200\n", + "1453/1453 [==============================] - 53s 36ms/step - loss: 0.7636 - accuracy: 0.7967 - val_loss: 0.2989 - val_accuracy: 0.9183\n", + "Epoch 56/200\n", + "1453/1453 [==============================] - 48s 33ms/step - loss: 0.7715 - accuracy: 0.7949 - val_loss: 0.2999 - val_accuracy: 0.9169\n", + "Epoch 57/200\n", + "1453/1453 [==============================] - 47s 33ms/step - loss: 0.7666 - accuracy: 0.7949 - val_loss: 0.3030 - val_accuracy: 0.9154\n", + "Epoch 58/200\n", + "1453/1453 [==============================] - 53s 36ms/step - loss: 0.7627 - accuracy: 0.7970 - val_loss: 0.2984 - val_accuracy: 0.9171\n", + "Epoch 59/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7626 - accuracy: 0.7975 - val_loss: 0.2955 - val_accuracy: 0.9189\n", + "Epoch 60/200\n", + "1453/1453 [==============================] - 59s 40ms/step - loss: 0.7605 - accuracy: 0.7973 - val_loss: 0.2937 - val_accuracy: 0.9187\n", + "Epoch 61/200\n", + "1453/1453 [==============================] - 59s 41ms/step - loss: 0.7637 - accuracy: 0.7972 - val_loss: 0.3005 - val_accuracy: 0.9155\n", + "Epoch 62/200\n", + "1453/1453 [==============================] - 66s 46ms/step - loss: 0.7584 - accuracy: 0.7982 - val_loss: 0.2898 - val_accuracy: 0.9203\n", + "Epoch 63/200\n", + "1453/1453 [==============================] - 74s 51ms/step - loss: 0.7581 - accuracy: 0.7984 - val_loss: 0.2983 - val_accuracy: 0.9181\n", + "Epoch 64/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7576 - accuracy: 0.7990 - val_loss: 0.2897 - val_accuracy: 0.9187\n", + "Epoch 65/200\n", + "1453/1453 [==============================] - 53s 37ms/step - loss: 0.7589 - accuracy: 0.7988 - val_loss: 0.2910 - val_accuracy: 0.9191\n", + "Epoch 66/200\n", + "1453/1453 [==============================] - 48s 33ms/step - loss: 0.7563 - accuracy: 0.7991 - val_loss: 0.2926 - val_accuracy: 0.9183\n", + "Epoch 67/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7495 - accuracy: 0.8009 - val_loss: 0.2886 - val_accuracy: 0.9196\n", + "Epoch 68/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7564 - accuracy: 0.8008 - val_loss: 0.2906 - val_accuracy: 0.9205\n", + "Epoch 69/200\n", + "1453/1453 [==============================] - 51s 35ms/step - loss: 0.7514 - accuracy: 0.8018 - val_loss: 0.2869 - val_accuracy: 0.9215\n", + "Epoch 70/200\n", + "1453/1453 [==============================] - 51s 35ms/step - loss: 0.7533 - accuracy: 0.8012 - val_loss: 0.2906 - val_accuracy: 0.9207\n", + "Epoch 71/200\n", + "1453/1453 [==============================] - 51s 35ms/step - loss: 0.7535 - accuracy: 0.8017 - val_loss: 0.2905 - val_accuracy: 0.9206\n", + "Epoch 72/200\n", + "1453/1453 [==============================] - 63s 43ms/step - loss: 0.7472 - accuracy: 0.8013 - val_loss: 0.2938 - val_accuracy: 0.9191\n", + "Epoch 73/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7519 - accuracy: 0.8011 - val_loss: 0.2881 - val_accuracy: 0.9215\n", + "Epoch 74/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7516 - accuracy: 0.8009 - val_loss: 0.2853 - val_accuracy: 0.9205\n", + "Epoch 75/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7477 - accuracy: 0.8029 - val_loss: 0.2845 - val_accuracy: 0.9223\n", + "Epoch 76/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7468 - accuracy: 0.8035 - val_loss: 0.2959 - val_accuracy: 0.9191\n", + "Epoch 77/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7512 - accuracy: 0.8017 - val_loss: 0.2817 - val_accuracy: 0.9219\n", + "Epoch 78/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7457 - accuracy: 0.8025 - val_loss: 0.2836 - val_accuracy: 0.9206\n", + "Epoch 79/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7501 - accuracy: 0.8023 - val_loss: 0.2880 - val_accuracy: 0.9216\n", + "Epoch 80/200\n", + "1453/1453 [==============================] - 58s 40ms/step - loss: 0.7454 - accuracy: 0.8033 - val_loss: 0.2863 - val_accuracy: 0.9209\n", + "Epoch 81/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7471 - accuracy: 0.8031 - val_loss: 0.2837 - val_accuracy: 0.9232\n", + "Epoch 82/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7459 - accuracy: 0.8031 - val_loss: 0.2894 - val_accuracy: 0.9218\n", + "Epoch 83/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7477 - accuracy: 0.8030 - val_loss: 0.2854 - val_accuracy: 0.9218\n", + "Epoch 84/200\n", + "1453/1453 [==============================] - 59s 41ms/step - loss: 0.7411 - accuracy: 0.8040 - val_loss: 0.2851 - val_accuracy: 0.9209\n", + "Epoch 85/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7459 - accuracy: 0.8038 - val_loss: 0.2793 - val_accuracy: 0.9236\n", + "Epoch 86/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7442 - accuracy: 0.8036 - val_loss: 0.2818 - val_accuracy: 0.9236\n", + "Epoch 87/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7386 - accuracy: 0.8060 - val_loss: 0.2818 - val_accuracy: 0.9224\n", + "Epoch 88/200\n", + "1453/1453 [==============================] - 54s 37ms/step - loss: 0.7447 - accuracy: 0.8048 - val_loss: 0.2877 - val_accuracy: 0.9220\n", + "Epoch 89/200\n", + "1453/1453 [==============================] - 55s 38ms/step - loss: 0.7378 - accuracy: 0.8059 - val_loss: 0.2827 - val_accuracy: 0.9237\n", + "Epoch 90/200\n", + "1453/1453 [==============================] - 58s 40ms/step - loss: 0.7365 - accuracy: 0.8069 - val_loss: 0.2791 - val_accuracy: 0.9228\n", + "Epoch 91/200\n", + "1453/1453 [==============================] - 59s 40ms/step - loss: 0.7390 - accuracy: 0.8057 - val_loss: 0.2753 - val_accuracy: 0.9239\n", + "Epoch 92/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7439 - accuracy: 0.8038 - val_loss: 0.2774 - val_accuracy: 0.9245\n", + "Epoch 93/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7371 - accuracy: 0.8055 - val_loss: 0.2798 - val_accuracy: 0.9236\n", + "Epoch 94/200\n", + "1453/1453 [==============================] - 57s 40ms/step - loss: 0.7349 - accuracy: 0.8065 - val_loss: 0.2738 - val_accuracy: 0.9251\n", + "Epoch 95/200\n", + "1453/1453 [==============================] - 54s 37ms/step - loss: 0.7400 - accuracy: 0.8062 - val_loss: 0.2810 - val_accuracy: 0.9240\n", + "Epoch 96/200\n", + "1453/1453 [==============================] - 56s 38ms/step - loss: 0.7436 - accuracy: 0.8057 - val_loss: 0.2801 - val_accuracy: 0.9250\n", + "Epoch 97/200\n", + "1453/1453 [==============================] - 58s 40ms/step - loss: 0.7388 - accuracy: 0.8067 - val_loss: 0.2772 - val_accuracy: 0.9241\n", + "Epoch 98/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7343 - accuracy: 0.8071 - val_loss: 0.2789 - val_accuracy: 0.9249\n", + "Epoch 99/200\n", + "1453/1453 [==============================] - 59s 41ms/step - loss: 0.7376 - accuracy: 0.8058 - val_loss: 0.2771 - val_accuracy: 0.9264\n", + "Epoch 100/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7353 - accuracy: 0.8069 - val_loss: 0.2704 - val_accuracy: 0.9274\n", + "Epoch 101/200\n", + "1453/1453 [==============================] - 59s 41ms/step - loss: 0.7327 - accuracy: 0.8084 - val_loss: 0.2758 - val_accuracy: 0.9237\n", + "Epoch 102/200\n", + "1453/1453 [==============================] - 58s 40ms/step - loss: 0.7320 - accuracy: 0.8075 - val_loss: 0.2738 - val_accuracy: 0.9238\n", + "Epoch 103/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7383 - accuracy: 0.8072 - val_loss: 0.2777 - val_accuracy: 0.9250\n", + "Epoch 104/200\n", + "1453/1453 [==============================] - 56s 39ms/step - loss: 0.7322 - accuracy: 0.8077 - val_loss: 0.2755 - val_accuracy: 0.9250\n", + "Epoch 105/200\n", + "1453/1453 [==============================] - 57s 39ms/step - loss: 0.7298 - accuracy: 0.8092 - val_loss: 0.2844 - val_accuracy: 0.9226\n", + "Epoch 106/200\n", + "1453/1453 [==============================] - 54s 37ms/step - loss: 0.7301 - accuracy: 0.8087 - val_loss: 0.2781 - val_accuracy: 0.9238\n", + "Epoch 107/200\n", + "1453/1453 [==============================] - 53s 37ms/step - loss: 0.7384 - accuracy: 0.8065 - val_loss: 0.2737 - val_accuracy: 0.9258\n", + "Epoch 108/200\n", + "1453/1453 [==============================] - 53s 37ms/step - loss: 0.7369 - accuracy: 0.8071 - val_loss: 0.2787 - val_accuracy: 0.9232\n", + "Epoch 109/200\n", + "1453/1453 [==============================] - 50s 34ms/step - loss: 0.7314 - accuracy: 0.8081 - val_loss: 0.2717 - val_accuracy: 0.9272\n", + "Epoch 110/200\n", + "1453/1453 [==============================] - 49s 34ms/step - loss: 0.7297 - accuracy: 0.8092 - val_loss: 0.2739 - val_accuracy: 0.9249\n", + "Epoch 110: early stopping\n" + ] + } + ], + "source": [ + "# create a model\n", + "\n", + "images_classes = 49\n", + "\n", + "model = Sequential()\n", + "\n", + "model.add(Flatten(input_shape=(28,28)))\n", + "\n", + "model.add(Dense(256, activation='relu'))\n", + "model.add(Dropout(0.2))\n", + "model.add(Dense(256, activation='relu'))\n", + "model.add(Dropout(0.2))\n", + "model.add(Dense(256, activation='relu'))\n", + "model.add(Dropout(0.2))\n", + "model.add(Dense(256, activation='relu'))\n", + "model.add(Dropout(0.2))\n", + "model.add(Dense(256, activation='relu'))\n", + "model.add(Dropout(0.2))\n", + "\n", + "model.add(Dense(images_classes, activation='softmax'))\n", + "\n", + "opt = Adam(learning_rate=0.001)\n", + "model.compile(optimizer=opt, loss='sparse_categorical_crossentropy', metrics=['accuracy'])\n", + "\n", + "\n", + "early_stopping = EarlyStopping(monitor='val_loss', patience=10, verbose=1)\n", + "\n", + "fitted_model = model.fit(\n", + " datagen.flow(X_train, y_train, batch_size=128),\n", + " validation_data=(X_test, y_test),\n", + " epochs=200,\n", + " callbacks=[early_stopping]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\Users\\denis\\.virtualenvs\\handwriting-japan-y1vdMaZ6\\Lib\\site-packages\\keras\\src\\engine\\training.py:3000: UserWarning: You are saving your model as an HDF5 file via `model.save()`. This file format is considered legacy. We recommend using instead the native Keras format, e.g. `model.save('my_model.keras')`.\n", + " saving_api.save_model(\n" + ] + } + ], + "source": [ + "# save model\n", + "\n", + "model.save(\"model/k49_model.h5\")" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Evaluation" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " flatten_1 (Flatten) (None, 784) 0 \n", + " \n", + " dense_6 (Dense) (None, 256) 200960 \n", + " \n", + " dropout_5 (Dropout) (None, 256) 0 \n", + " \n", + " dense_7 (Dense) (None, 256) 65792 \n", + " \n", + " dropout_6 (Dropout) (None, 256) 0 \n", + " \n", + " dense_8 (Dense) (None, 256) 65792 \n", + " \n", + " dropout_7 (Dropout) (None, 256) 0 \n", + " \n", + " dense_9 (Dense) (None, 256) 65792 \n", + " \n", + " dropout_8 (Dropout) (None, 256) 0 \n", + " \n", + " dense_10 (Dense) (None, 256) 65792 \n", + " \n", + " dropout_9 (Dropout) (None, 256) 0 \n", + " \n", + " dense_11 (Dense) (None, 49) 12593 \n", + " \n", + "=================================================================\n", + "Total params: 476721 (1.82 MB)\n", + "Trainable params: 476721 (1.82 MB)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "# load model and show summary\n", + "\n", + "loaded_model = load_model('model/k49_model.h5')\n", + "loaded_model.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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S4OOOW/ePMyaNQuPPvooXn31VQQFBUGlUmHatGm2z3OkulpwLBZLne+5tJWmysiRI7F161Y899xz6NatG3x8fGC1WjFkyJCrqnvMmDFYuXIltm7dioSEBKxduxZPPvmkrVWLqLljuCFycyNGjMDf//53bN++HStWrKhzv7i4OGzcuBFFRUV2rTfHjx+3vV71p9VqtbWOVElOTrY7XtVMKovFgkGDBjnku6xatQo33XQTPv/8c7vtBQUFCAkJsT1v3bo1duzYgYqKCnh4eNR6rNatW2P9+vXIz8+vs/UmMDDQdvxLVbVi1cfFixeRlJSEl19+GbNnz7ZtP3nypN1+oaGh8PPzw+HDh694zCFDhiA0NBRLlixBYmIiSktL8cgjj9S7JiJ3x5hP5OZ8fHzw8ccfY+7cuRg2bFid+91+++2wWCz44IMP7La/++67kCTJNuOq6s+/zrZauHCh3XO1Wo17770X33zzTa0X7JycnAZ/F7VaXWNa+sqVK5GWlma37d5770Vubm6N7wLA9v57770XQgi8/PLLde7j5+eHkJAQbN682e71jz76qEE1X3rMKn89XyqVCsOHD8f3339vm4peW00AoNFo8OCDD+Lrr7/GF198gYSEhAa3ghG5M7bcEDUDdXULXWrYsGG46aabMHPmTJw7dw5du3bFL7/8gu+++w7Tpk2zjbHp1q0bHnzwQXz00UcoLCxEv379kJSUhFOnTtU45uuvv45ff/0ViYmJmDhxIjp27Ij8/Hzs3bsXGzduRH5+foO+x5133olXXnkF48ePR79+/XDo0CEsWbIErVq1sttvzJgx+O9//4vp06dj586duOGGG1BSUoKNGzfiySefxN13342bbroJjzzyCN577z2cPHnS1kX0xx9/4KabbsKUKVMAyNPeX3/9dTz22GPo2bMnNm/ejBMnTtS7Zj8/P9x444148803UVFRgejoaPzyyy84e/ZsjX3nzZuHX375BQMHDsSkSZPQoUMHZGRkYOXKldiyZYtdl+KYMWPw3nvv4ddff8Ubb7zRoPNI5PYUm6dFRE5x6VTwy/nrVHAhhCgqKhLPPPOMiIqKEh4eHqJt27birbfesk1DrlJWViaefvppERwcLLy9vcWwYcNEampqjenRQgiRlZUlJk+eLGJiYoSHh4eIiIgQt9xyi/j0009t+zRkKvizzz4rIiMj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABiy0lEQVR4nO3dd3hUddrG8e9Mykx6IR0CCUU6ASkR1LWABnRR7CK7ArbXuiK6ruyuWFcsq2JnbaC7KpZVrKCAgovSi3QQDCRAChDSe+a8fxwyOBIgkGROQu7Pdc2VzJkzZ545q+beX7UZhmEgIiIi0orYrS5ARERExNsUgERERKTVUQASERGRVkcBSERERFodBSARERFpdRSAREREpNVRABIREZFWRwFIREREWh0FIBEREWl1FIBEpMWz2Ww8+OCDx/2+HTt2YLPZmDFjxlHPW7BgATabjQULFpxQfSLS/CgAiUijmDFjBjabDZvNxqJFiw573TAMEhMTsdls/P73v7egQhGRQxSARKRROZ1O3n333cOOL1y4kF27duFwOCyoSkTEkwKQiDSqCy64gA8//JDq6mqP4++++y79+/cnLi7OospERA5RABKRRjV69Gj279/P3Llz3ccqKyv56KOPuOaaa+p8T0lJCXfffTeJiYk4HA66du3KP//5TwzD8DivoqKCu+66i+joaEJCQrjooovYtWtXndfcvXs31113HbGxsTgcDnr27Mmbb77ZeF8U+PDDD+nfvz8BAQFERUXxhz/8gd27d3uck52dzfjx42nXrh0Oh4P4+HguvvhiduzY4T5nxYoVpKWlERUVRUBAAMnJyVx33XWNWquIePK1ugARObkkJSUxePBg3nvvPUaMGAHA7NmzKSgo4Oqrr+b555/3ON8wDC666CK+++47rr/+evr27cvXX3/Nn//8Z3bv3s2zzz7rPveGG27gP//5D9dccw1Dhgzh22+/5cILLzyshpycHE477TRsNhu333470dHRzJ49m+uvv57CwkImTJjQ4O85Y8YMxo8fz8CBA5kyZQo5OTk899xz/PDDD6xevZrw8HAALrvsMjZs2MAdd9xBUlISubm5zJ07l4yMDPfz888/n+joaO677z7Cw8PZsWMHH3/8cYNrFJGjMEREGsH06dMNwFi+fLnx4osvGiEhIUZpaalhGIZxxRVXGOecc45hGIbRoUMH48ILL3S/b9asWQZgPProox7Xu/zyyw2bzWZs27bNMAzDWLNmjQEYt956q8d511xzjQEYDzzwgPvY9ddfb8THxxv79u3zOPfqq682wsLC3HWlp6cbgDF9+vSjfrfvvvvOAIzvvvvOMAzDqKysNGJiYoxevXoZZWVl7vO++OILAzAmT55sGIZhHDhwwACMp5566ojX/uSTT9z3TUS8R11gItLorrzySsrKyvjiiy8oKiriiy++OGL311dffYWPjw9/+tOfPI7ffffdGIbB7Nmz3ecBh53329YcwzD473//y8iRIzEMg3379rkfaWlpFBQUsGrVqgZ9vxUrVpCbm8utt96K0+l0H7/wwgvp1q0bX375JQABAQH4+/uzYMECDhw4UOe1aluKvvjiC6qqqhpUl4jUnwKQiDS66Ohohg0bxrvvvsvHH39MTU0Nl19+eZ3n7ty5k4SEBEJCQjyOd+/e3f167U+73U6nTp08zuvatavH871795Kfn8+rr75KdHS0x2P8+PEA5ObmNuj71db0288G6Natm/t1h8PBE088wezZs4mNjeV3v/sdTz75JNnZ2e7zzzrrLC677DIeeughoqKiuPjii5k+fToVFRUNqlFEjk5jgESkSVxzzTXceOONZGdnM2LECHdLR1NzuVwA/OEPf2Ds2LF1ntOnTx+v1AJmC9XIkSOZNWsWX3/9Nffffz9Tpkzh22+/pV+/fthsNj766COWLFnC559/ztdff811113H008/zZIlSwgODvZarSKtiVqARKRJXHLJJdjtdpYsWXLE7i+ADh06sGfPHoqKijyOb9682f167U+Xy8X27ds9ztuyZYvH89oZYjU1NQwbNqzOR0xMTIO+W21Nv/3s2mO1r9fq1KkTd999N9988w3r16+nsrKSp59+2uOc0047jX/84x+sWLGCd955hw0bNjBz5swG1SkiR6YAJCJNIjg4mFdeeYUHH3yQkSNHHvG8Cy64gJqaGl588UWP488++yw2m809k6z2529nkU2dOtXjuY+PD5dddhn//e9/Wb9+/WGft3fv3hP5Oh4GDBhATEwM06ZN8+iqmj17Nps2bXLPTCstLaW8vNzjvZ06dSIkJMT9vgMHDhw23b9v374A6gYTaULqAhORJnOkLqhfGzlyJOeccw5/+9vf2LFjBykpKXzzzTd8+umnTJgwwT3mp2/fvowePZqXX36ZgoIChgwZwvz589m2bdth13z88cf57rvvSE1N5cYbb6RHjx7k5eWxatUq5s2bR15eXoO+l5+fH0888QTjx4/nrLPOYvTo0e5p8ElJSdx1110AbN26laFDh3LllVfSo0cPfH19+eSTT8jJyeHqq68G4K233uLll1/mkksuoVOnThQVFfHaa68RGhrKBRdc0KA6ReTIFIBExFJ2u53PPvuMyZMn8/777zN9+nSSkpJ46qmnuPvuuz3OffPNN4mOjuadd95h1qxZnHvuuXz55ZckJiZ6nBcbG8uyZct4+OGH+fjjj3n55Zdp06YNPXv25IknnmiUuseNG0dgYCCPP/44f/nLXwgKCuKSSy7hiSeecI93SkxMZPTo0cyfP59///vf+Pr60q1bNz744AMuu+wywBwEvWzZMmbOnElOTg5hYWEMGjSId955h+Tk5EapVUQOZzN+2/YqIiIicpLTGCARERFpdRSAREREpNVRABIREZFWRwFIREREWh0FIBEREWl1FIBERESk1dE6QHVwuVzs2bOHkJAQbDab1eWIiIhIPRiGQVFREQkJCdjtR2/jUQCqw549ew5bWE1ERERahszMTNq1a3fUcxSA6hASEgKYNzA0NNTiakRERKQ+CgsLSUxMdP8dPxoFoDrUdnuFhoYqAImIiLQw9Rm+Yukg6ClTpjBw4EBCQkKIiYlh1KhRbNmy5Zjv+/DDD+nWrRtOp5PevXvz1VdfebxuGAaTJ08mPj6egIAAhg0bxs8//9xUX0NERERaGEsD0MKFC7nttttYsmQJc+fOpaqqivPPP5+SkpIjvufHH39k9OjRXH/99axevZpRo0YxatQo1q9f7z7nySef5Pnnn2fatGksXbqUoKAg0tLSKC8v98bXEhERkWauWW2GunfvXmJiYli4cCG/+93v6jznqquuoqSkhC+++MJ97LTTTqNv375MmzYNwzBISEjg7rvv5p577gGgoKCA2NhYZsyYwdVXX33MOgoLCwkLC6OgoEBdYCIiIi3E8fz9blZjgAoKCgCIjIw84jmLFy9m4sSJHsfS0tKYNWsWAOnp6WRnZzNs2DD362FhYaSmprJ48eI6A1BFRQUVFRXu54WFhQ35GiIiInVyuVxUVlZaXUaL5efnh4+PT6Ncq9kEIJfLxYQJEzj99NPp1avXEc/Lzs4mNjbW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UlJSeOmll47rfVu2bCErK8v9iImJcb/2/vvvM3HiRB544AFWrVpFSkoKaWlp5ObmNnb5DaIuMBEREev4WvnhI0aMYMSIEcf9vpiYGMLDw+t87ZlnnuHGG29k/PjxAEybNo0vv/ySN998k/vuu68h5TYqp7rARERELNMixwD17duX+Ph4zjvvPH744Qf38crKSlauXMmwYcPcx+x2O8OGDWPx4sVHvF5FRQWFhYUej6amvcBERESs06ICUHx8PNOmTeO///0v//3vf0lMTOTss89m1apVAOzbt4+amhpiY2M93hcbG3vYOKFfmzJlCmFhYe5HYmJik34PODQNXusAiYiIeJ+lXWDHq2vXrnTt2tX9fMiQIWzfvp1nn32Wf//73yd83UmTJjFx4kT388LCwiYPQYe6wBSAREREvK1FBaC6DBo0iEWLFgEQFRWFj48POTk5Hufk5OQQFxd3xGs4HA4cDkeT1vlbTl+NARIREbFKi+oCq8uaNWuIj48HwN/fn/79+zN//nz36y6Xi/nz5zN48GCrSqyTezf46hoMw7C4GhERkdbF0hag4uJitm3b5n6enp7OmjVriIyMpH379kyaNIndu3fz9ttvAzB16lSSk5Pp2bMn5eXlvP7663z77bd888037mtMnDiRsWPHMmDAAAYNGsTUqVMpKSlxzwprLpwHN0M1DKiodrm7xERERKTpWRqAVqxYwTnnnON+XjsOZ+zYscyYMYOsrCwyMjLcr1dWVnL33Xeze/duAgMD6dOnD/PmzfO4xlVXXcXevXuZPHky2dnZ9O3blzlz5hw2MNpqtV1gABVVCkAiIiLeZDPU/3KYwsJCwsLCKCgoIDQ0tEk+wzAMOv31K1wGLP3rUGJDnU3yOSIiIq3F8fz9bvFjgFoqm82mmWAiIiIWUQCykDZEFRERsYYCkIVqW4C0GKKIiIh3KQBZqHZHeHWBiYiIeJcCkIUOLYaoACQiIuJNCkAWCvDXGCARERErKABZyKkuMBEREUsoAFlIXWAiIiLWUACykNYBEhERsYYCkIXcs8CqNQZIRETEmxSALFS7EGJZpVqAREREvEkByELuLrBqBSARERFvUgCyUO0ssApNgxcREfEqBSALaRaYiIiINRSALFS7EKL2AhMREfEuBSALOTQNXkRExBIKQBZy+tauBK0xQCIiIt6kAGShQH9fAEoq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y7Rp00hNTWXq1Kl8+OGHbNmyhZiYmMPOHzNmDKeffjpDhgzB6XTyxBNP8Mknn7BhwwbatjU3mhw3bhw5OTlMnz7d/T6Hw0FERES9alIAEhERaXlaVABKTU1l4MCBvPjiiwC4XC4SExO54447uO+++475/pqaGiIiInjxxRe59tprATMA5efnM2vWrBOqSQFIRESk5Tmev9+WbiVdWVnJypUrGTZsmPuY3W5n2LBhLF68uF7XKC0tpaqqisjISI/jCxYsICYmhq5du3LLLbewf//+I1wBKioqKCws9HiIiIjIycvSALRv3z5qamqIjfXsh4yNjSU7O/sI7/L0l7/8hYSEBI8QNXz4cN5++23mz5/PE088wcKFCxkxYgQ1NTV1XmPKlCmEhYW5H4mJiSf+pURERKTZa8RRWN73+OOPM3PmTBYsWIDTeWiU/9VXX+3+vXfv3vTp04dOnTqxYMEChg4deth1Jk2axMSJE93PCwsLFYJEREROYpa2AEVFReHj40NOTo7H8ZycHOLi4o763n/+8588/vjjfPPNN/Tp0+eo53bs2JGoqCi2bat7VVGHw0FoaKjHQ0RERE5elgYgf39/+vfvz/z5893HXC4X8+fPZ/DgwUd835NPPskjjzzCnDlzGDBgwDE/Z9euXezfv5/4+PhGqVtERERaNksDEMDEiRN57bXXeOutt9i0aRO33HILJSUljB8/HoBrr72WSZMmuc9/4oknuP/++3nzzTdJSkoiOzub7OxsiovNTQGLi4v585//zJIlS9ixYwfz58/n4osvpnPnzqSlpVnyHUVERKR5sXwM0FVXXcXevXuZPHky2dnZ9O3blzlz5rgHRmdkZGD/1SqZr7zyCpWVlVx++eUe13nggQd48MEH8fHxYe3atbz11lvk5+eTkJDA+eefzyOPPILD4fDqdxMREZHmyfJ1gJojrQMkIiLS8rSYdYBERERErKAAJCIiIq2OApCIiIi0OgpAIiIi0uooAImIiEirY/k0+OaodmKcNkUVERFpOWr/btdngrsCUB2KiooAtB+YiIhIC1RUVERYWNhRz9E6QHVwuVzs2bOHkJAQbDZbo167dqPVzMxMrTHUALqPjUf3svHoXjYe3cvG0druo2EYFBUVkZCQ4LGIcl3UAlQHu91Ou3btmvQztOlq49B9bDy6l41H97Lx6F42jtZ0H4/V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WZlx6623GhEREUZgYKBxySWXGFlZWdYV3UL8NgDpPtbf559/bvTq1ctwOBxGt27djFdffdXjdZfLZdx///1GbGys4XA4jKFDhxpbtmyxqNrmq7Cw0LjzzjuN9u3bG06n0+jYsaPxt7/9zaioqHCfo3tZt++++67O/zaOHTvWMIz63bf9+/cbo0ePNoKDg43Q0FBj/PjxRlFRkQXfxho2w/jVkpsiIiIirYDGAImIiEirowAkIiIirY4CkIiIiLQ6CkAiIiLS6igAiYiISKujACQiIiKtjgKQiIiItDoKQCIi9WCz2Zg1a5bVZYhII1EAEpFmb9y4cdhstsMew4cPt7o0EWmhfK0uQESkPoYPH8706dM9jjkcDouqEZGWTi1AItIiOBwO4uLiPB4RERGA2T31yiuvMGLECAICAujYsSMfffSRx/vXrVvHueeeS0BAAG3atOGmm26iuLjY45w333yTnj174nA4iI+P5/bbb/d4fd++fVxyySUEBgbSpUsXPvvss6b90iLSZBSAROSkcP/993PZZZfx008/MWbMGK6++mo2bdoEQElJCWlpaURERLB8+XI+/PBD5s2b5xFwXnnlFW677TZuuukm1q1bx2effUbnzp09PuOhhx7iyiuvZO3atVxwwQWMGTOGvLw8r35PEWkkVu/GKiJyLGPHjjV8fHyMoKAgj8c//vEPwzAMAzBuvvlmj/ekpqYat9xyi2EYhvHqq68aERERRnFxsfv1L7/80rDb7UZ2drZhGIaRkJBg/O1vfztiDYDx97//3f28uLjYAIzZs2c32vcUEe/RGCARaRHOOeccXnnlFY9jkZGR7t8HDx7s8drgwYNZs2YNAJs2bSIlJYWgoCD366effjoul4stW7Zgs9nYs2cPQ4cOPWoNffr0cf8eFBREaGgoubm5J/qVRMRCCkAi0iIEBQUd1iXVWAICAup1np+fn8dzm82Gy+VqipJEpIlpDJCInBSWLFly2PPu3bsD0L17d3766SdKSkrcr//www/Y7Xa6du1KSEgISUlJzJ8/36s1i4h11AIkIi1CRUUF2dnZHsd8fX2JiooC4MMPP2TAgAGcccYZvPPOOyxbtow33ngDgDFjxvDAAw8wduxYHnzwQfbu3csdd9zBH//4R2JjYwF48MEHufnmm4mJiWHEiBEUFRXxww8/cMcdd3j3i4qIVygAiUiLMGfOHOLj4z2Ode3alc2bNwPmDK2ZM2dy6623Eh8fz3vvvUePHj0ACAwM5Ouvv+bOO+9k4MCBBAYGctlll/HMM8+4rzV27FjKy8t59tlnueeee4iKiuLyyy/33hcUEa+yGYZhWF2EiEhD2Gw2PvnkE0aNGmV1KSLSQmgMkIiIiLQ6CkAiIiLS6mgMkIi0eOrJF5HjpRYgERERaXUUgERERKTVUQASERGRVkcBSERERFodBSARERFpdRSAREREpNVRABIREZFWRwFIREREWh0FIBEREWl1/h/b6vYOLu5OrgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Plot training & validation accuracy values\n", + "\n", + "plt.plot(fitted_model.history['accuracy'])\n", + "plt.plot(fitted_model.history['val_accuracy'])\n", + "plt.title('Model accuracy')\n", + "plt.ylabel('Accuracy')\n", + "plt.xlabel('Epoch')\n", + "plt.legend(['Train', 'Test'], loc='upper right')\n", + "plt.show()\n", + "\n", + "# Plot training & validation loss values\n", + "\n", + "plt.plot(fitted_model.history['loss'])\n", + "plt.plot(fitted_model.history['val_loss'])\n", + "plt.title('Model loss')\n", + "plt.ylabel('Loss')\n", + "plt.xlabel('Epoch')\n", + "plt.legend(['Train', 'Test'], loc='upper right')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1453/1453 [==============================] - 5s 3ms/step - loss: 0.2739 - accuracy: 0.9249\n", + "loss: 0.2739102840423584\n", + " accuracy: 0.9248595833778381\n" + ] + } + ], + "source": [ + "# evaluating the model\n", + "\n", + "loss, accuracy = model.evaluate(X_test, y_test)\n", + "print(f\"loss: {str(loss)}\\n accuracy: {str(accuracy)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 19ms/step\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 24ms/step\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 24ms/step\n" + ] + }, + { + "data": { + "image/png": "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banPNwBH40oBleqee+7RgAEDdPPNN6tLly765ptvNG/ePNWtWzfouKFDh+qf//ynevToob59+yolJUUHDhzQt99+q3feeUcbN24MmTnWrl27Sv0HXUlJSerdu7c6duyoMWPG6MiRI2rUqJH+9a9/KScnp8z7y8nJ0XXXXadu3brpiy++0IwZM/SnP/1Jv//97yX9Grzs7GwNHz5cGzdu1A033KBatWopJydHs2fPVv/+/fXII4+Uef/Dhw/X66+/rpycnOM+2dy1a9eQ20quDFJTU3XppZfa7T179lT79u3Vr18/fffdd/YvmouKijRq1KgyzwEYB3gwcOBAd+xfm9TUVNeyZctSjy8qKnLDhg1zdevWdTExMe7qq69269evd02aNHF9+vQJOvaXX35xw4cPd02bNnU1a9Z0devWdZdddpkbN26cKygoOO66UlNTnaRSP6666irnnHObN292N954ozvrrLNcnTp13C233OK2bt3qJLmRI0fafY0cOdJJct99953r2bOnq1WrlouPj3f333+/O3ToUMi53333XXfFFVe42NhYFxsb6y688EI3cOBA99///teO6dOnj2vSpEnQXJ8+fZwkl5OTc9zvrTSvvfaak+S++uqrkK/9/PPP7u6773YJCQkuJibGpaamlnocUJqAc6X8qx0AwBmJ5xQAAIYoAAAMUQAAGKIAADBEAQBgiAIAwBAFVLhj30Dn008/PSnex/lopb3JT2WrjPeRro7vA6c3onCamTZtmgKBgH1ERUWpefPmuv/++7Vjx47qXp4nc+fOLfVd26pSIBDQ/fffX61rqCpvvvmmAoFAmRv5ff/99+rWrZvi4uJ09tln64477tCuXbuqeJWobGxzcZp66qmnlJSUpPz8fC1evFgvvfSS5s6dq1WrVlX5eyd37NhRhw4d8ry19ty5czVp0qRqD8OZYP/+/crKylJsbGypX9+8ebM6duyoOnXq6Omnn9b+/fs1btw4ffvtt1qyZMkJbZuOkwtROE11797d9sS55557lJCQoPHjx2vOnDm67bbbSp05cOBAmT8UTkRYWJi9yQtOTtnZ2apVq5bS0tL0/vvvh3z96aef1oEDB7Rs2TLbprtdu3bq0qWLpk2bFvI2pTh18fDRGeLKK6+UJNsArm/fvoqLi9OGDRuUnp6uWrVqqXfv3pJ+fZ+ACRMmqGXLloqKitI555yjzMxM5eXlBd2nc07Z2dk699xzFRMTo7S0NK1evTrk3GU9p/Dll18qPT1d8fHxio2NVevWrfX888/b+kp2KT364bASFb3GEzFnzhxdc801atiwoSIjI5WcnKzRo0eH7ARbYtmyZbrssssUHR2tpKQkvfzyyyHHHD58WCNHjlTTpk0VGRmpxo0bKysrq9Q30DnWhg0btGHDhnKvf926dXruuec0fvx4RUSU/nviu+++qx49elgQJKlz585q3ry5Zs6cWe5z4eTHlcIZouSHREJCgt1WWFioq6++WldccYXGjRtnDytlZmZq2rRp6tevnx544AHl5OToxRdf1IoVK/TZZ5/ZO4o98cQTys7OVnp6utLT07V8+XJ17dpVBQUFv7me+fPnq0ePHmrQoIEGDx6s+vXr6/vvv9cHH3ygwYMHKzMzU1u3btX8+fM1ffr0kPmqWGN5TZs2TXFxcXrooYcUFxenTz75RE888YT27dunsWPHBh2bl5en9PR0ZWRk6LbbbtPMmTN17733qmbNmrrrrrsk/Rq86667TosXL1b//v3VokULffvtt3ruuee0du3aUn+TP9pVV10lSfaGPL9lyJAhSktLU3p6eqk/4Lds2aKdO3cG7cZaol27dvb2pDhNVO9+fKhoJbtnfvzxx27Xrl3up59+cm+//bZLSEhw0dHRbvPmzc65/9+h89FHHw2aX7RokZPk3nzzzaDbP/roo6Dbd+7c6WrWrOmuueYaV1xcbMeNGDHCSQraAXXhwoVOklu4cKFzzrnCwkKXlJTkmjRp4vLy8oLOc/R9lbYja2WtsSyS3MCBA497zMGDB0Nuy8zMdDExMS4/P99uK9nJ9a9//avddvjwYdemTRtXr1492wl2+vTpLiwszC1atCjoPl9++WUnyX322Wd2W2m7zTZp0iRkR9ayfPDBBy4iIsKtXr3aOffr34vY2NigY7766isnyb3xxhsh80OHDnWSgr5PnNp4+Og01blzZyUmJqpx48bq1auX4uLiNHv2bDVq1CjouHvvvTfo81mzZqlOnTrq0qVL0JvRp6SkKC4uzt6M/uOPP1ZBQYEGDRoU9LDOkCFDfnNtK1asUE5OjoYMGaKzzjor6GvHvuVlaapijV4c/Vakv/zyi3Jzc9WhQwcdPHhQa9asCTo2IiJCmZmZ9nnNmjWVmZmpnTt3atmyZfb9tWjRQhdeeGHQ91fyEGDJ91eWjRs3lusqoaCgQA8++KAGDBigiy66qMzjDh06JEmlvkFPyXNFJcfg1MfDR6epSZMmqXnz5oqIiNA555yj3/3udyFv+h4REaFzzz036LZ169Zp7969qlevXqn3W/KG95s2bZIU+ub2iYmJio+PP+7aSh7K8vua/apYoxerV6/W448/rk8++UT79u0L+trevXuDPm/YsGHIk/klb5G5ceNGtW/fXuvWrdP333+vxMTEUs9X8v2dqOeee065ubm/+eY7JdEr7fmM/Pz8oGNw6iMKp6l27dqV+hjw0SIjI0NCUVxcrHr16gW9xePRyvpBVZVOpjXu2bNHqampql27tp566iklJycrKipKy5cv17Bhw1RcXOz5PouLi9WqVSuNHz++1K83btz4RJetvXv3Kjs7W/fdd5/27dtnMdu/f7+cc9q4caNiYmJUr149NWjQQJJC3le75Lazzz6bt/k8jRAFBElOTtbHH3+syy+//Li//TVp0kTSr7+1X3DBBXb7rl27Ql4BVNo5JGnVqlXq3LlzmceV9VBSVayxvD799FPt3r1b7733njp27Gi3l/U2n1u3bg156e/atWslyd6SMzk5Wd98842uuuqqcj2c5kdeXp7279+vMWPGaMyYMSFfT0pK0vXXX6/3339fjRo1UmJiopYuXRpy3JIlS9SmTZtKWSOqB88pIEhGRoaKioo0evTokK8VFhbaewN37txZNWrU0MSJE4PetH7ChAm/eY5LLrlESUlJmjBhgt1fiaPvq+QH57HHVMUayys8PDxk3QUFBZo8eXKpxxcWFmrKlClBx06ZMkWJiYlKSUmR9Ov3t2XLFr3yyish84cOHdKBAweOu6byvCS1Xr16mj17dshHWlqaoqKiNHv2bA0fPtyOv/nmm/XBBx/op59+stsWLFigtWvX6pZbbjnuuXBq4UoBQVJTU5WZmalnnnlGX3/9tbp27aoaNWpo3bp1mjVrlp5//nn17NlTiYmJeuSRR/TMM8+oR48eSk9P14oVK/Thhx+qbt26xz1HWFiYXnrpJV177bVq06aN+vXrpwYNGmjNmjVavXq15s2bJ0n2Q/KBBx7Q1VdfrfDwcPXq1atK1ni0pUuXKjs7O+T2Tp066bLLLlN8fLz69OmjBx54QIFAQNOnTw+KxNEaNmyoZ599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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 20ms/step\n" + ] + }, + { + "data": { + "image/png": "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OztbHTp00E033aSnn37aTislJydr1qxZ6tu3r4YMGaL09HRNmzZNa9as0cqVK+2OYmPGjNGECRPUqVMnderUSatXr9att96qY8eOnXY+S5cuVefOnVW7dm0NHTpUtWrV0oYNG/T2229r6NChSk5O1rZt27R06VLNmTMnKF8ccyysWbNmKSYmRg899JBiYmL04YcfasyYMTpw4IAmT56cb9+9e/eqU6dOSkpKUs+ePTV//nw98MADKl++vPr16yfpl8Lr2rWrVqxYofvuu0+NGzfWunXr9Ne//lWbNm3Sm2++ecr5tG3bVpLsDnEFSUxMVFhYmIYOHapnnnlG9erV09dff62JEyfqjjvuUKNGjUL+nuAcUbLr8aE4vPzyy06SW7Zsmdu5c6f7/vvv3bx581y1atVcVFSU++GHH5xz/7dC56hRo/LlP/30UyfJvfbaa/m2v/fee/m279ixw5UvX97dfvvtLjc31/Z79NFHnaR8K6AuX77cSXLLly93zjmXnZ3t4uPjXVxcnNu7d2++cX79XCdbkbWo5lgQSW7gwIGn3OfQoUNB25KTk13FihXdkSNHbFveSq7PPPOMbTt69Khr2rSpu/DCC20l2Dlz5riwsDD36aef5nvOGTNmOElu5cqVtu1kq83GxcUFrchakL///e+uatWq+VaV7d27tzt+/Hih8ji3cfroPNKuXTvVqFFD9evXV48ePRQTE6M33nhDdevWzbffibdxXLBggapUqaL27dvnuxl9s2bNFBMTYzejX7ZsmY4dO6bBgwfnO60zbNiw085tzZo1Sk9P17Bhw1S1atV8nzvxlpcnUxxz9PHr0yw///yzdu3apVatWunQoUPauHFjvn0jIiKUnJxsj8uXL6/k5GTt2LFDq1atsq+vcePGatSoUb6vL+8UYN7XV5CMjIzTHiXkqVu3rq6//npNmTJFb7zxhh566CG99tprGjVqVKHyOLdx+ug8Mn36dDVs2FARERGqWbOmLr300qArSSIiIlSvXr1829LS0rR//35deOGFJ33evBveb926VVLwze1r1Kih2NjYU84t71RWqNfsF8ccfaSmpuqxxx7Thx9+aOfp8+zfvz/f4zp16gS9mZ93Z7WMjAw1b95caWlp2rBhg2rUqHHS8fK+vjO1cuVKde7cWSkpKXZRwh133KHKlStr7Nix6tevny677LKz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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 26ms/step\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 18ms/step\n" + ] + }, + { + "data": { + "image/png": "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tGnTppB9n+4zhY8//ljJycmKi4tTdHS0LrnkEk2fPt3mV7BK6cmnwwqU9hzPxHvvvafrr79ejRo1UkREhJKSkjRhwoSQlWALrF27Vp06dVJUVJQSExM1c+bMkDHHjx/XuHHj1Lx5c0VERKhx48YaPXq0jh8//oPz2b59u7Zv3x72z9OsWTMdOXJEubm5Id+bOnWqgsFgsQv94ceNI4VzRMGLRL169WxbXl6eevbsqSuvvFJPPPGEnVZKTU3VnDlzNHDgQI0YMUKZmZl65plntH79eq1cudLuKDZ27FhNnDhRycnJSk5O1rp163TttdcW+WJyqvT0dPXu3VvnnXeeRo4cqYYNG+rLL7/UP/7xD40cOVKpqanKzs5Wenq65s2bF5IvjzmW1Jw5cxQTE6N77rlHMTEx+vDDDzV27Fh99913evzxxwuN3b9/v5KTk5WSkqJbb71Vb775pu666y7VqFFDgwYNkvR94d14441asWKFhgwZojZt2uiLL77QU089pa1bt+rdd98tdj7dunWTJLtD3A85evSoDh8+rEOHDunf//63Zs+erSuuuCLkxkk7duzQY489ppdfftn7pkr4EanQ5fhQ6mbPnu0kucWLF7s9e/a4nTt3ujfeeMPVq1fPRUVFuV27djnn/n+Fzvvvv79Qfvny5U6Se+211wptf//99wtt3717t6tRo4a7/vrrXTAYtHEPPPCAk1RoBdQlS5Y4SXaT+by8PJeYmOiaNm3q9u/fX2g/Jz9XUSuyltUcT0eSGzp0aLFjjhw5ErItNTXV1axZ0x07dsy2Fazk+qc//cm2HT9+3LVr187Vr1/fVoKdN2+eq1Klilu+fHmh55w5c6aT5FauXGnbilpttmnTpiErshZn8uTJIavK7tixI2Rcnz59XKdOnexxSX43+PHh9FEl1b17dyUkJKhx48bq27evYmJilJaWpvPPP7/QuLvuuqvQ47feeku1a9dWjx49Ct2MvkOHDoqJibGb0S9evFi5ubkaPnx4odM6d9999w/Obf369crMzNTdd9+tOnXqFPreqbe8LEp5zNHHye+aDx48qL179+qqq67SkSNHtHnz5kJjq1WrptTUVHtco0YNpaamavfu3Vq7dq39fG3atFHr1q0L/XwFpwALfr7TycrKKvFRgiTdeuutSk9P1+uvv67bbrtN0vdHDydbsmSJ3nnnHe7adg7g9FEl9eyzz6ply5aqVq2aGjRooFatWqlKlcLvAapVq6YLLrig0LaMjAwdOHBA9evXL/J5C254/9///ldS6M3tExISFBcXV+zcCk5lhXvNfnnM0cemTZv04IMP6sMPP9R3331X6HsFt8os0KhRo5AP8wtu5ZmVlaWOHTsqIyNDX375pRISEorcX8HPV1qaNm2qpk2bSvq+IIYMGaLu3btry5YtioqKUl5enkaMGKE77rhDP/vZz0p13zj7UAqV1OWXX25XH51ORERESFEEg0HVr19fr732WpGZ071QlaezaY45OTnq2rWratWqpUceeURJSUmKjIzUunXrdN999ykYDHo/ZzAY1MUXX6wnn3yyyO83btz4TKddrD59+ujFF1/UsmXL1LNnT82dO1dbtmzRCy+8EHIEcvDgQWVlZal+/frlfqkzygalgEKSkpK0ePFide7cudgPEwveWWZkZOjCCy+07Xv27Am5AqiofUjSxo0b1b1799OOO92ppPKYY0ktXbpU+/bt0/z589WlSxfbfrrbfGZnZ4dc+rt161ZJsltyJiUlacOGDerWrVuJTqeVtoJTRwVHOTt27NCJEyfUuXPnkLFz587V3LlzlZaWxu0+Kwk+U0AhKSkpys/P14QJE0K+l5eXp5ycHEnff2ZRvXp1zZgxo9C/fi3JOef27dsrMTFR06ZNs+crcPJzFbxwnjqmPOZYUgXX8Z/8/Lm5uXruueeKHJ+Xl6cXXnih0NgXXnhBCQkJ6tChg6Tvf76vv/5aL774Yki+4Eqh4pT0ktQ9e/YUuf2ll15SIBBQ+/btJUl9+/ZVWlpayJckJScnKy0tTT//+c9/cH/4ceBIAYV07dpVqampmjx5sj777DNde+21ql69ujIyMvTWW29p+vTp6tOnjxISEjRq1ChNnjxZvXv3VnJystavX6+FCxcqPj6+2H1UqVJFzz//vG644Qa1a9dOAwcO1HnnnafNmzdr06ZNWrRokSTZi+SIESPUs2dPVa1aVX379i2XOZ7s008/1cSJE0O2X3311erUqZPi4uLUv39/jRgxQoFAQPPmzTvtMhGNGjXSlClTlJWVpZYtW+qvf/2rPvvsM82aNcsuo73jjjv05ptv6s4779SSJUvUuXNn5efna/PmzXrzzTe1aNGiYk8NlvSS1EmTJmnlypXq1auXmjRpom+/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 30ms/step\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGwCAYAAABGlHlWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAdK0lEQVR4nO3da1SVZf7/8c9GkoOgEVJ5ICTytJxKoxojAxuPkTVNOaSThdaMVJpamQ2u0kwcp6kc01KrmaUNtoa0k43LxrR0pY2dUDM1RzRwKjtAipUgCFz/B/75/iRAubccFN+vtXjA5v7u+6KUN/fe22v7nHNOAABICmjqBQAATh5EAQBgiAIAwBAFAIAhCgAAQxQAAIYoAAAMUQAAGKIAADBEAfiZRx55RD6fTwUFBfV2nyNHjlSnTp3q7f6AhkIUcEw+n69OH2vXrm3Sdfbt21e/+MUvmnQNDemll17SiBEj1LlzZ/l8PvXt27fWY7OzszV48GC1bt1a4eHhGjhwoDZv3txoa8WpLbCpF4CTW2ZmZpXP//GPf2jVqlXVbu/evXtjLuu0M3/+fGVnZ+uyyy7T999/X+txGzduVJ8+fRQdHa2pU6eqoqJC8+bNU1JSkj788EN17dq1EVeNUxFRwDGNGDGiyufvv/++Vq1aVe32nysqKlJoaGhDLu20kpmZqQ4dOiggIOCYV0QPP/ywQkJCtGHDBkVGRko68v+wS5cumjx5sl555ZXGWjJOUTx8hBNW+dBNdna2EhMTFRoaqsmTJ0s68vDTI488Um2mU6dOGjlyZJXbCgsLNWHCBEVHRysoKEgXXHCBHnvsMVVUVNTLOrds2aKRI0fq/PPPV3BwsM4991zdfvvttf7mXVBQoJSUFLVu3VqRkZEaP368Dh06VO24xYsXKz4+XiEhITrrrLM0bNgwffHFF8ddz9dff60dO3bo8OHDxz02OjpaAQHH/+u6bt069e/f34IgSe3atVNSUpKWL1+un3766bj3gdMbUUC9+P7773XNNdeoZ8+emj17tq6++mpP80VFRUpKStLixYt12223ac6cObryyiuVnp6u++67r17WuGrVKn3++ecaNWqU5s6dq2HDhikrK0vJycmqaQf5lJQUHTp0SDNnzlRycrLmzJmj0aNHVzlmxowZuu2229S5c2fNmjVLEyZM0Ntvv63ExEQVFhYecz3p6enq3r27vvrqq3r5/iSppKREISEh1W4PDQ1VaWmptm7dWm/nQvPEw0eoF998840WLFigtLQ0v+ZnzZql3bt3a9OmTercubMkKS0tTe3bt9fjjz+u+++/X9HR0Se0xrvvvlv3339/ldt69+6t4cOHa/369brqqquqfC02NlbLli2TJI0ZM0atW7fWvHnzNHHiRF100UXas2ePpk6dqoyMDLsykqQbb7xRvXr10rx586rc3hi6du2q999/X+Xl5WrRooUkqbS0VB988IEk1WuA0DxxpYB6ERQUpFGjRvk9v3TpUl111VWKiIhQQUGBffTv31/l5eV69913T3iNR/8GfejQIRUUFKh3796SjjxB+3Njxoyp8vk999wjSVqxYoUk6dVXX1VFRYVSUlKqrPncc89V586dtWbNmmOuZ9GiRXLO1etLVe+++27t3LlTd9xxh7Zv366tW7fqtttu09dffy1JKi4urrdzoXniSgH1okOHDmrZsqXf8zk5OdqyZYuioqJq/Pp3333n931X2rdvn6ZNm6asrKxq93fgwIFqx1desVSKi4tTQECA8vLybM3OuWrHVTrjjDNOeM1e3Xnnnfriiy/0+OOP64UXXpAkXXrppZo0aZJmzJihsLCwRl8TTi1EAfWipsexj6W8vLzK5xUVFRowYIAmTZpU4/FdunTxe22VUlJS9J///EcPPPCAevbsqbCwMFVUVGjw4MF1ejLb5/NVW7PP59Obb75pD9Ucral+AM+YMUMTJ07Utm3b1KZNG1144YX2MFZ9/HdE80YU0KAiIiKqPeFaWlpqD2dUiouL008//aT+/fs3yDr279+vt99+W9OmTdOUKVPs9pycnFpncnJyFBsba5/v2rVLFRUV9nBPXFycnHOKjY096X7YRkREqE+fPvb56tWr1bFjR3Xr1q0JV4VTAc8poEHFxcVVez7gueeeq3alkJKSog0bNmjlypXV7qOwsFBlZWUntI7K3+R//iqj2bNn1zrzzDPPVPl87ty5kqRrrrlG0pEnlFu0aKFp06ZVu1/n3DH/kZnk7SWpJ+Kll17SRx99pAkTJtTpZa04vXGlgAb1+9//XnfeeaduuukmDRgwQJ988olWrlyptm3bVjnugQce0BtvvKEhQ4Zo5MiRio+P18GDB/Xpp5/q5ZdfVl5eXrWZn8vPz1dGRka122NjY3XLLbcoMTFRf/nLX3T48GF16NBBb731lnJzc2u9v9zcXF1//fUaPHiwNmzYoMWLF+t3v/udLr74YklHgpeRkaH09HTl5eXphhtuUHh4uHJzc/Xaa69p9OjRmjhxYq33n56erhdeeEG5ubnHfbL53Xfftbjm5+fr4MGD9r0mJiYqMTHRjnv00Uc1cOBARUZG6v3339fChQs1ePBgjR8//pjnACRJDvBgzJgx7ud/bJKSklyPHj1qPL68vNw9+OCDrm3bti40NNQNGjTI7dq1y8XExLjU1NQqx/74448uPT3dXXDBBa5ly5aubdu2LiEhwT3xxBOutLT0mOtKSkpykmr86Nevn3POuS+//NL95je/cWeeeaZr06aN++1vf+v27t3rJLmpU6fafU2dOtVJctu3b3dDhw514eHhLiIiwo0dO9YVFxdXO/crr7zi+vTp41q1auVatWrlunXr5saMGeP++9//2jGpqakuJiamylxqaqqT5HJzc4/5vR29ppo+jl77rl273MCBA13btm1dUFCQ69atm5s5c6YrKSk57jkA55zzOVfDv9oBAJyWeIARAGCIAgDAEAUAgCEKAABDFAAAhigAAAxRQL37+RvorF279qR4H+ej1fQmPw2tId5Huim+DzRvRKGZWbRokXw+n30EBwerS5cuGjt2rL799tumXp4nK1asqPFd2xqTz+fT2LFjm3QNDWnGjBm6/vrrdc4559T6LnmVsrKydMkllyg4OFhRUVG64447VFBQ0HiLRaMgCs3Uo48+qszMTD399NNKSEjQ/PnzdcUVV6ioqKjR15KYmKji4mLbiqGuVqxYoWnTpjXQqiBJDz30kD766CP16tXrmMfNnz9fw4cP11lnnaVZs2bpD3/4g7KystSvX78a36IUpy72PmqmrrnmGl166aWSjuw/FBkZqVmzZmnZsmUaPnx4jTMHDx5Uq1at6n0tAQEBCg4Orvf7xYmr3HepoKCg1veyKC0t1eTJk5WYmKhVq1bZFuIJCQm67rrr9Pzzz9sbEOHUx5XCaeJXv/qVJNkGcCNHjlRYWJh2796t5ORkhYeH65ZbbpF05H0CZs+erR49eig4OFjnnHOO0tLStH///ir36ZxTRkaGOnbsqNDQUF199dXatm1btXPX9pzCBx98oOTkZEVERKhVq1a66KKL9NRTT9n6KncpPfrhsEr1vcYTsWzZMl177bVq3769goKCFBcXp+nTp1fbCbZSdna2EhISFBISotjYWC1YsKDaMSUlJZo6daouuOACBQUFKTo6WpMmTVJJSclx17N7927t3r27Tmuvy7u+bd26VYWFhbr55pur/D8YMmSIwsLClJWVVadz4dTAlcJpovKHRGRkpN1WVlamQYMGqU+fPnriiScUGhoq6ch7Iy9atEijRo3SuHHjlJubq6efflqbNm3Se++9Z+8oNmXKFGVkZCg5OVnJycnauHGjBg4cqNLS0uOuZ9WqVRoyZIjatWun8ePH69xzz9Vnn32m5cuXa/z48UpLS9PevXu1atUqZWZmVptvjDXW1aJFixQWFqb77rtPYWFheueddzRlyhT98MMPevzxx6scu3//fiUnJyslJUXDhw/XkiVLdNddd6lly5a6/fbbJR0J3vXXX6/169dr9OjR6t69uz799FP99a9/1c6dO/X6668fcz39+vWTJHuHuBNVGaKa3kgpJCREmzZtUkVFBdtyNxdNux8f6tvChQudJLd69WqXn5/vvvjiC5eVleUiIyNdSEiI+/LLL51z/7dD5x//+Mcq8+vWrXOS3Isvvljl9n//+99Vbv/uu+9cy5Yt3bXXXusqKirsuMmTJztJVXZAXbNmjZPk1qxZ45xzrqyszMXGxrqYmBi3f//+Kuc5+r5q2pG1odZYG0luzJgxxzymqKio2m1paWkuNDTUHTp0yG6r3Mn1ySeftNtKSkpcz5493dlnn207wWZmZrqAgAC3bt26Kve5YMECJ8m99957dltNu83GxMRU25H1ePLz86vtuHr013w+n7vjjjuq3L5jxw7bqbWgoMDT+XDyIu3NVP/+/RUVFaXo6GgNGzZMYWFheu2119ShQ4cqx911111VPl+6dKnatGmjAQMGVHkz+vj4eIWFhdmb0a9evVqlpaW65557qjykMGHChOOubdOmTcrNzdWECRN05plnVvnaz9/ysiaNsUYvjv4N+scff1RBQYGuuuoqFRUVaceOHVWODQwMVFpamn3esmVLpaWl6bvvvlN2drZ9f927d1e3bt2qfH+VDwFWfn+1ycvLq7erBElq27atUlJS9MILL+jJJ5/U559/rnXr1unmm2+2K7Li4uJ6Ox+aFg8fNVPPPPOMunTposDAQJ1zzjnq2rVrtcv7wMBAdezYscptOTk5OnDggM4+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 21ms/step\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGwCAYAAABGlHlWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAfb0lEQVR4nO3deXBUVd7G8acDITsSFgkoBAggDIIossiqAiIIqGNIgSKLUkRlkZlBEGpeEUGRcUMRRdRiUwYR15lBMYwgO7IjjEDE4AIMe9ghJH3eP6j8hqYD5rYkbN9PVarMzX36nI4hT9/bN+f6nHNOAABICrvQEwAAXDwoBQCAoRQAAIZSAAAYSgEAYCgFAIChFAAAhlIAABhKAQBgKAXgDE8//bR8Pp/27Nlz3h6zR48eqlSp0nl7PKCgUAo4J5/Pl6+PefPmXdB53nrrrbr++usv6BwK0p/+9CfddNNNKlmypKKjo1WzZk09/fTTOnz4cNC+J06c0ODBg1W+fHlFRUWpYcOGSktLuwCzxqWo6IWeAC5uU6dODfh8ypQpSktLC9pes2bNwpzWFWf58uVq1qyZevbsqcjISK1evVrPP/+85syZo/nz5yss7H+v73r06KGZM2dqwIABqlatmiZNmqR27dpp7ty5atq06QV8FrgUUAo4p65duwZ8vnTpUqWlpQVtP9PRo0cVHR1dkFO7oixcuDBoW1JSkgYOHKhvv/1WjRo1kiR9++23mj59ul544QUNHDhQktStWzddf/31GjRokBYvXlyo88alh9NH+N1yT92sXLlSzZs3V3R0tIYOHSrp1Omnp59+OihTqVIl9ejRI2BbZmamBgwYoAoVKigiIkJVq1bV6NGj5ff7z8s8161bpx49eqhKlSqKjIxUQkKCHnroIe3duzfP/ffs2aOUlBQVL15cpUqV0uOPP67jx48H7ffee++pXr16ioqKUsmSJdW5c2f98ssvvzmfHTt2aOPGjTp58mRIzyf3PYrMzEzbNnPmTBUpUkS9e/e2bZGRkXr44Ye1ZMmSfM0LVzaOFHBe7N27V23btlXnzp3VtWtXlS1b1lP+6NGjatGihbZt26bU1FRVrFhRixcv1pAhQ7Rjxw6NGTPmd88xLS1NP/74o3r27KmEhARt2LBBEyZM0IYNG7R06VL5fL6A/VNSUlSpUiWNGjVKS5cu1Wuvvab9+/drypQpts+zzz6r//u//1NKSop69eql3bt3a+zYsWrevLlWr16tEiVKnHU+Q4YM0eTJk5WRkZGvN6Gzs7OVmZmprKwsrV+/Xn/9618VFxenBg0a2D6rV69W9erVVbx48YBs7j5r1qxRhQoV8vHdwhXLAR706dPHnflj06JFCyfJjR8/Pmh/SW7YsGFB2xMTE1337t3t8xEjRriYmBi3efPmgP2efPJJV6RIEffzzz+fc14tWrRwtWrVOuc+R48eDdr297//3Uly8+fPt23Dhg1zklzHjh0D9n3sscecJLd27VrnnHNbt251RYoUcc8++2zAft99950rWrRowPbu3bu7xMTEgP26d+/uJLmMjIxzzjvXkiVLnCT7uO6669zcuXMD9qlVq5a7/fbbg7IbNmw46/8j4HScPsJ5ERERoZ49e4ac//DDD9WsWTPFx8drz5499tGqVSvl5ORo/vz5v3uOUVFR9t/Hjx/Xnj177Fz8qlWrgvbv06dPwOf9+vWTJM2aNUuS9PHHH8vv9yslJSVgzgkJCapWrZrmzp17zvlMmjRJzrl8X6r6hz/8QWlpafr00081aNAgxcTEBF19dOzYMUVERARlIyMj7evAuXD6COfFNddco2LFioWcT09P17p161SmTJk8v75r166QHzvXvn37NHz4cE2fPj3o8Q4cOBC0f7Vq1QI+T0pKUlhYmLZu3Wpzds4F7ZcrPDz8d8/5dMWLF1erVq0kSXfffbemTZumu+++W6tWrdINN9wg6VTxnThxIiib+17I6cUI5IVSwHnh9ZdNTk5OwOd+v1+tW7fWoEGD8ty/evXqIc8tV0pKihYvXqwnnnhCdevWVWxsrPx+v+688858vZl95nsOfr9fPp9PX3zxhYoUKRK0f2xs7O+e87n88Y9/1IMPPqjp06dbKZQrV07btm0L2nfHjh2SpPLlyxfonHDpoxRQoOLj4wOujpGkrKws+yWVKykpSYcPH7ZXwufb/v379e9//1vDhw/XU089ZdvT09PPmklPT1flypXt8x9++EF+v99O9yQlJck5p8qVK5+X0vLqxIkT8vv9AUc5devW1dy5c3Xw4MGAN5uXLVtmXwfOhfcUUKCSkpKC3g+YMGFC0JFCSkqKlixZotmzZwc9RmZmprKzs3/XPHJfyTvnAraf66qmcePGBXw+duxYSVLbtm0lnXqlXqRIEQ0fPjzocZ1zZ73UNVd+L0nNzMzMc5933nlHknTzzTfbtuTkZOXk5GjChAm27cSJE5o4caIaNmzIlUf4TRwpoED16tVLjzzyiO677z61bt1aa9eu1ezZs1W6dOmA/Z544gl9/vnnat++vXr06KF69erpyJEj+u677zRz5kxt3bo1KHOm3bt3a+TIkUHbK1eurAceeEDNmzfX3/72N508eVLXXHONvvrqK2VkZJz18TIyMtSxY0fdeeedWrJkid577z3df//9dqomKSlJI0eO1JAhQ7R161bdc889iouLU0ZGhj755BP17t3b/oAsL/m9JHXevHnq37+/kpOTVa1aNWVlZWnBggX6+OOPdfPNNwf8IWHDhg3VqVMnDRkyRLt27VLVqlU1efJkbd26Ve++++45v3+AJC5JhTdnuyT1bJeD5uTkuMGDB7vSpUu76Oho16ZNG/fDDz8EXZLqnHOHDh1yQ4YMcVWrVnXFihVzpUuXdo0bN3Yvvviiy8rKOue8ci+LzeujZcuWzjnnfv31V3fvvfe6EiVKuKuuusp16tTJbd++Peiy2dxLUv/zn/+45ORkFxcX5+Lj413fvn3dsWPHgsb+6KOPXNOmTV1MTIyLiYlxNWrUcH369HGbNm2yfX7PJak//PCD69atm6tSpYqLiopykZGRrlatWm7YsGHu8OHDQfsfO3bMDRw40CUkJLiIiAhXv3599+WXX55zDCCXz7kzjnsBAFcs3lMAABhKAQBgKAUAgKEUAACGUgAAGEoBAGAoBZx3Z95AZ968eRfFfZxPl9dNfgpaQdxH+kI8D1zeKIXLzKRJk+Tz+ewjMjJS1atXV9++fbVz584LPT1PZs2aledd2wqTz+dT3759L+gcCsr27dvVtWtXXXfddYqLi1OJEiXUoEEDTZ48OWjZDknatm2bUlJSVKJECRUvXlx33323fvzxxwswcxQklrm4TD3zzDOqXLmyjh8/roULF+rNN9/UrFmztH79+kK/d3Lz5s117Ngxz0trz5o1S+PGjbvgxXC52rNnj3799VclJyerYsWKOnnypNLS0tSjRw9t2rRJzz33nO17+PBh3XbbbTpw4ICGDh2q8PBwvfLKK2rRooXWrFmjUqVKXcBngvOJUrhMtW3b1hZK69Wrl0qVKqWXX35Zn332mbp06ZJn5siRI4qJiTnvcwkLC7ObvODiUadOnaBTen379lWHDh302muvacSIEbaQ4BtvvKH09HR9++23ql+/vqRTP2PXX3+9XnrppYACwaWN00dXiNtvv12SbAG4Hj16KDY2Vlu2bFG7du0UFxenBx54QNKp+wSMGTNGtWrVUmRkpMqWLavU1FTt378/4DGdcxo5cqSuvfZaRUdH67bbbtOGDRuCxj7bewrLli1Tu3btFB8fr5iYGNWpU0evvvqqzS93ldLTT4flOt9z/D0+++wz3XXXXSpfvrwiIiKUlJSkESNGBK0Em2vlypVq3LixoqKiVLlyZY0fPz5onxMnTmjYsGGqWrWqIiIiVKFCBQ0aNCjPG+icacuWLdqyZUvIz6dSpUo6evSosrKybNvMmTNVv359KwRJqlGjhlq2bKkZM2aEPBYuPhwpXCFyf0mcfpifnZ2tNm3aqGnTpnrxxRfttFJqaqomTZqknj17qn///srIyNDrr7+u1atXa9GiRXZHsaeeekojR45Uu3bt1K5dO61atUp33HFHwC+Ts0lLS1P79u1Vrlw5Pf7440pISND333+vf/7zn3r88ceVmpqq7du3Ky0tTVOnTg3KF8Yc82vSpEmKjY3Vn//8Z8XGxurrr7/WU089pYMHD+qFF14I2Hf//v1q166dUlJS1KVLF82YMUOPPvqoihUrpoceekjSqcLr2LGjFi5cqN69e6tmzZr67rvv9Morr2jz5s369NNPzzmfli1bSpLdIe63HDt2TEeOHNHhw4f1zTffaOLEibrlllvsxkl+v1/r1q2z+Z2uQYMG+uqrr3To0CHFxcXlazxc5C7ocnw47yZOnOgkuTlz5rjdu3e7X375xU2fPt2VKlXKRUVFuV9//dU5978VOp988smA/IIFC5wk9/777wds//LLLwO279q1yxUrVszdddddzu/3235Dhw51kgJWQJ07d66TZDeZz87OdpUrV3aJiYlu//79AeOc/lh5rchaUHM8G0muT58+59zn6NGjQdtSU1NddHS0O378uG3LXcn1pZdesm0nTpxwdevWdVdffbWtBDt16lQXFhbmFixYEPCY48ePd5LcokWLbFteq80mJiYGrch6LqNGjQpaVfbnn3+2r+/evdtJcs8880xQdty4cU6S27hxY77Hw8WN00eXqVatWqlMmTKqUKGCOnfurNjYWH3yySe65pprAvZ79NFHAz7/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 22ms/step\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGwCAYAAABGlHlWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAgAElEQVR4nO3deVhXZf7/8dcHUNlcyH0b3MXMsmy1Qs3dyqspI9tGbUoq1+kq08bJTBtbLC01l5nKNK/MMlvm0sxKx1JryszUNEmhNDX3FTfg/v3Rj/dXBI37CKj4fFwX1xWH8/qcm1RenMPhfULOOScAACSFne4FAADOHJQCAMBQCgAAQykAAAylAAAwlAIAwFAKAABDKQAADKUAADCUAnCcJ554QqFQSNu3by+w1+zevbtq1apVYK8HFBZKAScVCoXy9bZgwYLTus6WLVvqggsuOK1rKExvvfWW7rrrLtWvX1+hUEgtW7bMc79Vq1bp1ltvVZ06dRQdHa0KFSooMTFRH374YdEuGGetiNO9AJzZpk6dmuP9KVOmaN68ebm2N2rUqCiXdc4ZP368li5dqssuu0w7duw44X4///yz9u3bp27duqlatWpKT0/XzJkz1blzZ02cOFE9e/YswlXjbEQp4KTuuuuuHO9/+eWXmjdvXq7tx0tPT1d0dHRhLu2cMnXqVFWvXl1hYWEnPSPq1KmTOnXqlGNb79691axZM73wwguUAv4Ql49wyrIv3SxdulSJiYmKjo7WY489Jun3y09PPPFErkytWrXUvXv3HNt2796t/v37q2bNmipVqpTq1aunZ555RllZWQWyzu+//17du3dXnTp1FBkZqSpVquiee+454Xfe27dvV1JSksqUKaPy5curX79+OnToUK793njjDTVr1kxRUVE677zz1LVrV23YsOEP17N582atWbNGR48e/cN9a9asqbCwYP9cw8PDVbNmTe3evTtQHucWzhRQIHbs2KGOHTuqa9euuuuuu1S5cmWvfHp6ulq0aKFff/1VycnJ+tOf/qTFixdr0KBB2rx5s0aPHn3Ka5w3b57Wr1+vHj16qEqVKlq1apUmTZqkVatW6csvv1QoFMqxf1JSkmrVqqURI0boyy+/1EsvvaRdu3ZpypQpts9TTz2lf/zjH0pKStK9996rbdu2acyYMUpMTNSyZctUrly5E65n0KBBev3115WamlrgP4Q+cOCADh48qD179uiDDz7QnDlzdNtttxXoMVBMOcBDr1693PF/bVq0aOEkuQkTJuTaX5IbMmRIru3x8fGuW7du9v6wYcNcTEyMW7t2bY79Bg4c6MLDw90vv/xy0nW1aNHCNW7c+KT7pKen59r25ptvOklu4cKFtm3IkCFOkuvcuXOOfR988EEnyS1fvtw551xaWpoLDw93Tz31VI79VqxY4SIiInJs79atm4uPj8+xX7du3Zwkl5qaetJ1H69x48auRYsWJ90nOTnZSXKSXFhYmOvSpYvbuXOn13FwbuLyEQpEqVKl1KNHj8D5t99+W9dee63i4uK0fft2e2vTpo0yMzO1cOHCU15jVFSU/fehQ4e0fft2XXnllZKkb7/9Ntf+vXr1yvF+nz59JEmzZ8+WJL377rvKyspSUlJSjjVXqVJF9evX1/z580+6nsmTJ8s5Vyi3qvbv31/z5s3T66+/ro4dOyozM1NHjhwp8OOg+OHyEQpE9erVVbJkycD5lJQUff/996pYsWKeH9+6dWvg1862c+dODR06VNOnT8/1env27Mm1f/369XO8X7duXYWFhSktLc3W7JzLtV+2EiVKnPKag0pISFBCQoIk6S9/+YvatWunG2+8UV999VWuy2TAsSgFFIhjvwvPj8zMzBzvZ2VlqW3bthowYECe+zdo0CDw2rIlJSVp8eLFeuSRR9S0aVPFxsYqKytLHTp0yNcPs4//YpqVlaVQKKQ5c+YoPDw81/6xsbGnvOaC0qVLFyUnJ2vt2rVq2LDh6V4OzmCUAgpVXFxcrrtejhw5os2bN+fYVrduXe3fv19t2rQplHXs2rVLn376qYYOHarHH3/ctqekpJwwk5KSotq1a9v7P/30k7KysuxyT926deWcU+3atQuktArTwYMHJeV9RgQci58poFDVrVs3188DJk2alOtMISkpSUuWLNHcuXNzvcbu3buVkZFxSuvI/k7eOZdj+8nuaho3blyO98eMGSNJ6tixoyTp5ptvVnh4uIYOHZrrdZ1zJ/0lM8nvltT8yusy29GjRzVlyhRFRUXp/PPPL7BjoXjiTAGF6t5779X999+vW265RW3bttXy5cs1d+5cVahQIcd+jzzyiD744APdcMMN6t69u5o1a6YDBw5oxYoVeuedd5SWlpYrc7xt27Zp+PDhubbXrl1bd955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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1/1 [==============================] - 0s 20ms/step\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYUAAAGwCAYAAABGlHlWAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAefklEQVR4nO3deXBV5f3H8U9CILsS2TdDCLJIVUociopAJQhExC2mgAtgGaKy6gCKRQHBohYpigtiFRBR6q61IAZkEUSqgiypQMAEZSuLhC1ASPL8/nDy/XG5IeRcEgjwfs1kxpw8n3OeMHg/95x7eE6Qc84JAABJwWd7AgCA8oNSAAAYSgEAYCgFAIChFAAAhlIAABhKAQBgKAUAgKEUAACGUgBOMGrUKAUFBWn37t2lts9evXqpfv36pbY/oKxQCihWUFBQib4WLlx4VufZrl07/e53vzurcyhLDz30kFq0aKFLLrlEERERatq0qUaNGqWDBw/6jEtPT9edd96pBg0aKCIiQlWrVlWbNm30r3/96yzNHOeakLM9AZRvM2bM8Pn+zTffVFpamt/2pk2bnslpXXC+/fZbXX/99erdu7fCwsK0cuVKPf3005o3b54WL16s4ODf3t9t3rxZBw4cUM+ePVW7dm3l5OTogw8+UNeuXfXqq6+qb9++Z/k3QXlHKaBYd999t8/333zzjdLS0vy2nygnJ0cRERFlObULypIlS/y2xcfHa8iQIfrPf/6jVq1aSZKSkpKUlJTkM65///5KSEjQhAkTKAWcEpePcNoKL918//33atOmjSIiIvTYY49J+u3y06hRo/wy9evXV69evXy2ZWdna/DgwapXr55CQ0PVsGFDPfPMMyooKCiVea5evVq9evVSgwYNFBYWppo1a+q+++7Tnj17ihy/e/dupaSk6KKLLlKVKlU0aNAgHTlyxG/cW2+9pYSEBIWHh+uSSy5Rt27d9Msvv5xyPtu3b9e6det07NixgH6fws8osrOzix1XoUIF1atX75TjAIkzBZSSPXv2qHPnzurWrZvuvvtu1ahRw1M+JydHbdu21datW5WamqpLL71UX3/9tYYPH67t27dr4sSJpz3HtLQ0/fTTT+rdu7dq1qyp9PR0TZkyRenp6frmm28UFBTkMz4lJUX169fXuHHj9M033+iFF17Q3r179eabb9qYp556So8//rhSUlLUp08f7dq1S5MmTVKbNm20cuVKVa5c+aTzGT58uKZPn67MzMwSfQidl5en7Oxs5ebmau3atRoxYoSio6PVsmVLv7GHDh3S4cOHtW/fPn366aeaM2eO/vSnP5X4zwoXMAd40K9fP3fiX5u2bds6SW7y5Ml+4yW5kSNH+m2PjY11PXv2tO/HjBnjIiMj3YYNG3zGPfroo65ChQru559/LnZebdu2dc2aNSt2TE5Ojt+2d955x0lyixcvtm0jR450klzXrl19xj744INOklu1apVzzrmsrCxXoUIF99RTT/mMW7NmjQsJCfHZ3rNnTxcbG+szrmfPnk6Sy8zMLHbehZYtW+Yk2Vfjxo3dggULihybmppq44KDg11ycrL79ddfS3QcXNi4fIRSERoaqt69ewecf++993T99dcrJiZGu3fvtq/ExETl5+dr8eLFpz3H8PBw++8jR45o9+7ddi1+xYoVfuP79evn8/2AAQMkSbNnz5YkffjhhyooKFBKSorPnGvWrKnLLrtMCxYsKHY+06ZNk3OuxLeqXn755UpLS9PHH3+sYcOGKTIy0u/uo0KDBw9WWlqapk+frs6dOys/P1+5ubklOg4ubFw+QqmoU6eOKlWqFHA+IyNDq1evVrVq1Yr8+c6dOwPed6Fff/1Vo0eP1qxZs/z2t2/fPr/xl112mc/38fHxCg4OVlZWls3ZOec3rlDFihVPe87Hu+iii5SYmChJuuWWW/T222/rlltu0YoVK3TVVVf5jG3SpImaNGkiSbr33nt144036uabb9by5cv9LpMBx6MUUCqOfxdeEvn5+T7fFxQUqEOHDho2bFiR4xs1ahTw3AqlpKTo66+/1tChQ9W8eXNFRUWpoKBAnTp1KtGH2Se+mBYUFCgoKEhz5sxRhQoV/MZHRUWd9pyLc/vtt+uee+7RrFmz/ErhRMnJyUpNTdWGDRvUuHHjMp0Xzm2UAspUTEyM310vubm52r59u8+2+Ph4HTx40N4Jl7a9e/dq/vz5Gj16tJ544gnbnpGRcdJMRkaG4uLi7PuNGzeqoKDALvfEx8fLOae4uLhSKS2vjh49qoKCgiLPck50+PBhSUWfEQHH4zMFlKn4+Hi/zwOmTJnid6aQkpKiZcuWae7cuX77yM7OVl5e3mnNo/CdvHPOZ3txdzW99NJLPt9PmjRJktS5c2dJv71Tr1ChgkaPHu23X+fcSW91LVTSW1Kzs7OLHPOPf/xDknT11VfbtqIusx07dkxvvvmmwsPDdfnllxd7LIAzBZSpPn366P7779cdd9yhDh06aNWqVZo7d66qVq3qM27o0KH69NNP1aVLF/Xq1UsJCQk6dOiQ1qxZo/fff19ZWVl+mRPt2rVLY8eO9dseFxenu+66S23atNGzzz6rY8eOqU6dOvriiy+UmZl50v1lZmaqa9eu6tSpk5YtW6a33npLPXr0sEs18fHxGjt2rIYPH66srCzdeuutio6OVmZmpj766CP17dtXQ4YMOen+S3pL6sKFCzVw4EAlJyfrsssuU25urr766it9+OGHuvrqq33+IWFqaqr279+vNm3aqE6dOtqxY4dmzpypdevW6bnnnivzS1o4D5zNW59w7jnZLaknux00Pz/fPfLII65q1aouIiLCdezY0W3cuNHvllTnnDtw4IAbPny4a9iwoatUqZKrWrWqu/baa9348eNdbm5usfMqvC22qK/27ds755zbsmWLu+2221zlypXdxRdf7O688063bds2v9tmC29J/e9//+uSk5NddHS0i4mJcf3793eHDx/2O/YHH3zgWrdu7SIjI11kZKRr0qSJ69evn1u/fr2NOZ1bUjdu3Ojuvfde16BBAxceHu7CwsJcs2bN3MiRI93Bgwd9xr7zzjsuMTHR1ahRw4WEhLiYmBiXmJjoPvnkk2KPARQKcu6E814AwAWLzxQAAIZSAAAYSgEAYCgFAIChFAAAhlIAABhKAaXuxAfoLFy4sFw8x/l4RT3kp6yVxXOkz8bvgfMbpXCemTZtmoKCguwrLCxMjRo1Uv/+/fW///3vbE/Pk9mzZxf51LYzKSgoSP379z+rcygr27Zt0913363GjRsrOjpalStXVsuWLTV9+nS/ZTs++ugjdezYUbVr11ZoaKjq1q2r5ORkrV279izNHmWFZS7OU08++aTi4uJ05MgRLVmyRK+88opmz56ttWvXnvFnJ7dp00aHDx/2vLT27Nmz9dJLL531Yjhf7d69W1u2bFFycrIuvfRSHTt2TGlpaerVq5fWr1+vv/71rzZ2zZo1iomJ0aBBg1S1alXt2LFDb7zxhlq2bKlly5adcpVWnDsohfNU586dbaG0Pn36qEqVKpowYYI++eQTde/evcjMoUOHFBkZWepzCQ4OVlhYWKnv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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# predict on test data and show the results\n", + "\n", + "images_data = np.load(\"data/k49-test-imgs.npz\")\n", + "test_images = images_data[\"arr_0\"]\n", + "\n", + "labels_data = np.load(\"data/k49-test-labels.npz\")\n", + "test_labels = labels_data[\"arr_0\"]\n", + "\n", + "random_indices = random.sample(range(len(test_images)), 10)\n", + "\n", + "for image_index in random_indices:\n", + " test_image = test_images[image_index]\n", + " true_label = test_labels[image_index]\n", + "\n", + " input_image = test_image.reshape(1, 28, 28, 1).astype('float32') / 255.0\n", + "\n", + " predicted_probs = loaded_model.predict(input_image)\n", + " predicted_label = np.argmax(predicted_probs)\n", + "\n", + " plt.imshow(test_image, cmap='gray')\n", + " plt.title(f'True Label: {true_label}\\nPredicted Label: {predicted_label}')\n", + " plt.axis('off')\n", + " plt.show()\n" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Looking at these random images taken from the test set, we can see that the model is able to predict the correct class for most of the images. However, it does seem to struggle with some of the images, especially those that are quite ambiguous. In this example it got 10/10 right, giving it an accuracy of 100% (the test accuracy is around 92% and we only used 10 images for this self test)." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The model has already been saved in the path `model/k49_model.h5`. This model will be used in the application." + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The file `k49_classmap.csv` contains the mapping from class index to Hiragana character. This will be used to display the predicted character in the application. You can also use it for yourself to see what the model is predicting." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "handwriting-japan-y1vdMaZ6", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.1" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +}