├── README.md ├── .gitignore └── 2D_CNN_EEG Based emotion Classification using DEAP Dataset.ipynb /README.md: -------------------------------------------------------------------------------- 1 | # Emotion-Classification-by-EEG-DEAP-Dataset 2 | Emotion-Classification-by-EEG-DEAP-Dataset implemented in 2DCNNN-LSTM-1DCNN+GRU and the 1D_cnn+gru model gives the highest accuracy 3 | For data set use the google drive link - https://drive.google.com/drive/folders/1vVTjq_DeEdqSeLc8Xe_6KVfLjiMXvxcM?usp=sharing 4 | We had used only 3 files of the dataset out of 32 files, data is collectedfrom the authenticated source with proper autherisation, Thanks to - https://www.eecs.qmul.ac.uk/mmv/datasets/deap/ 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # pdm 105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 106 | #pdm.lock 107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 108 | # in version control. 109 | # https://pdm.fming.dev/#use-with-ide 110 | .pdm.toml 111 | 112 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 113 | __pypackages__/ 114 | 115 | # Celery stuff 116 | celerybeat-schedule 117 | celerybeat.pid 118 | 119 | # SageMath parsed files 120 | *.sage.py 121 | 122 | # Environments 123 | .env 124 | .venv 125 | env/ 126 | venv/ 127 | ENV/ 128 | env.bak/ 129 | venv.bak/ 130 | 131 | # Spyder project settings 132 | .spyderproject 133 | .spyproject 134 | 135 | # Rope project settings 136 | .ropeproject 137 | 138 | # mkdocs documentation 139 | /site 140 | 141 | # mypy 142 | .mypy_cache/ 143 | .dmypy.json 144 | dmypy.json 145 | 146 | # Pyre type checker 147 | .pyre/ 148 | 149 | # pytype static type analyzer 150 | .pytype/ 151 | 152 | # Cython debug symbols 153 | cython_debug/ 154 | 155 | # PyCharm 156 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 157 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 158 | # and can be added to the global gitignore or merged into this file. For a more nuclear 159 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 160 | #.idea/ 161 | -------------------------------------------------------------------------------- /2D_CNN_EEG Based emotion Classification using DEAP Dataset.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "Copy of Major Project CNN 80-20.ipynb", 7 | "provenance": [] 8 | }, 9 | "kernelspec": { 10 | "name": "python3", 11 | "display_name": "Python 3" 12 | }, 13 | "accelerator": "GPU" 14 | }, 15 | "cells": [ 16 | { 17 | "cell_type": "code", 18 | "metadata": { 19 | "id": "4ZgJPO-bvo4B", 20 | "colab": { 21 | "base_uri": "https://localhost:8080/" 22 | }, 23 | "outputId": "4aa59ffe-bf1b-4e43-8b59-4e30aa0b15ad" 24 | }, 25 | "source": [ 26 | "!pip install git+https://github.com/forrestbao/pyeeg.git\n", 27 | "import numpy as np\n", 28 | "import pyeeg as pe\n", 29 | "import pickle as pickle\n", 30 | "import pandas as pd\n", 31 | "import math\n", 32 | "\n", 33 | "from sklearn import svm\n", 34 | "from sklearn.preprocessing import normalize\n", 35 | "\n", 36 | "import os\n", 37 | "import time" 38 | ], 39 | "execution_count": null, 40 | "outputs": [ 41 | { 42 | "output_type": "stream", 43 | "name": "stdout", 44 | "text": [ 45 | "Collecting git+https://github.com/forrestbao/pyeeg.git\n", 46 | " Cloning https://github.com/forrestbao/pyeeg.git to /tmp/pip-req-build-wfw0gfvf\n", 47 | " Running command git clone -q https://github.com/forrestbao/pyeeg.git /tmp/pip-req-build-wfw0gfvf\n", 48 | "Requirement already satisfied: numpy>=1.9.2 in /usr/local/lib/python3.7/dist-packages (from pyeeg==0.4.4) (1.21.5)\n", 49 | "Building wheels for collected packages: pyeeg\n", 50 | " Building wheel for pyeeg (setup.py) ... \u001b[?25l\u001b[?25hdone\n", 51 | " Created wheel for pyeeg: filename=pyeeg-0.4.4-py2.py3-none-any.whl size=28131 sha256=0c7b2f51a97b84dacf993afe51a102be32f39fcf1829f312dc2dbe51a42751a2\n", 52 | " Stored in directory: /tmp/pip-ephem-wheel-cache-o2_wmv35/wheels/b0/23/e4/703c908bda656959957029fa145879aa79307b2545a2ef0271\n", 53 | "Successfully built pyeeg\n", 54 | "Installing collected packages: pyeeg\n", 55 | "Successfully installed pyeeg-0.4.4\n" 56 | ] 57 | } 58 | ] 59 | }, 60 | { 61 | "cell_type": "code", 62 | "metadata": { 63 | "id": "A6V-0VlCv8F3" 64 | }, 65 | "source": [ 66 | "import pandas as pd\n", 67 | "import keras.backend as K\n", 68 | "import numpy as np\n", 69 | "import pandas as pd\n", 70 | "from keras.models import Sequential\n", 71 | "from keras.layers import Dense\n", 72 | "from keras.models import Sequential\n", 73 | "from keras.layers.convolutional import Conv1D\n", 74 | "from keras.layers.convolutional import MaxPooling1D\n", 75 | "from tensorflow.keras.utils import to_categorical \n", 76 | "from keras.layers import Flatten\n", 77 | "from keras.layers import Dense\n", 78 | "import numpy as np\n", 79 | "import keras\n", 80 | "from keras.datasets import mnist\n", 81 | "from keras.models import Sequential\n", 82 | "from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D\n", 83 | "from keras import backend as K\n", 84 | "from keras.models import Model\n", 85 | "import timeit\n", 86 | "from keras.models import Sequential\n", 87 | "from keras.layers.core import Flatten, Dense, Dropout\n", 88 | "from keras.layers.convolutional import Convolution1D, MaxPooling1D, ZeroPadding1D\n", 89 | "from tensorflow.keras.optimizers import SGD\n", 90 | "#import cv2, numpy as np\n", 91 | "import warnings\n", 92 | "warnings.filterwarnings('ignore')" 93 | ], 94 | "execution_count": null, 95 | "outputs": [] 96 | }, 97 | { 98 | "cell_type": "code", 99 | "metadata": { 100 | "id": "bWlMgzPBwGwF", 101 | "colab": { 102 | "base_uri": "https://localhost:8080/" 103 | }, 104 | "outputId": "2331994f-9c45-4a03-aaac-e2634d004089" 105 | }, 106 | "source": [ 107 | "from google.colab import drive\n", 108 | "drive.mount('/content/drive/')" 109 | ], 110 | "execution_count": null, 111 | "outputs": [ 112 | { 113 | "output_type": "stream", 114 | "name": "stdout", 115 | "text": [ 116 | "Mounted at /content/drive/\n" 117 | ] 118 | } 119 | ] 120 | }, 121 | { 122 | "cell_type": "code", 123 | "metadata": { 124 | "id": "JOXuEM0JwJqI" 125 | }, 126 | "source": [ 127 | "# data_preprocessed_python\n", 128 | "os.getcwd()\n", 129 | "os.chdir('/content/drive/My Drive')" 130 | ], 131 | "execution_count": null, 132 | "outputs": [] 133 | }, 134 | { 135 | "cell_type": "code", 136 | "metadata": { 137 | "id": "kCMT74t9wowG" 138 | }, 139 | "source": [ 140 | "channel = [1,2,3,4,6,11,13,17,19,20,21,25,29,31] #14 Channels chosen to fit Emotiv Epoch+\n", 141 | "band = [4,8,12,16,25,45] #5 bands\n", 142 | "window_size = 256 #Averaging band power of 2 sec\n", 143 | "step_size = 16 #Each 0.125 sec update once\n", 144 | "sample_rate = 128 #Sampling rate of 128 Hz\n", 145 | "subjectList = ['01','02','03']\n", 146 | "#List of subjects" 147 | ], 148 | "execution_count": null, 149 | "outputs": [] 150 | }, 151 | { 152 | "cell_type": "code", 153 | "metadata": { 154 | "id": "UD-WVHARwsXz" 155 | }, 156 | "source": [ 157 | "def FFT_Processing (sub, channel, band, window_size, step_size, sample_rate):\n", 158 | " '''\n", 159 | " arguments: string subject\n", 160 | " list channel indice\n", 161 | " list band\n", 162 | " int window size for FFT\n", 163 | " int step size for FFT\n", 164 | " int sample rate for FFT\n", 165 | " return: void\n", 166 | " '''\n", 167 | " meta = []\n", 168 | " with open(\"/content/drive/My Drive/leading_ai/try/s\" + sub + '.dat', 'rb') as file:\n", 169 | "\n", 170 | " subject = pickle.load(file, encoding='latin1') #resolve the python 2 data problem by encoding : latin1\n", 171 | "\n", 172 | " for i in range (0,40):\n", 173 | " # loop over 0-39 trails\n", 174 | " data = subject[\"data\"][i]\n", 175 | " labels = subject[\"labels\"][i]\n", 176 | " start = 0;\n", 177 | "\n", 178 | " while start + window_size < data.shape[1]:\n", 179 | " meta_array = []\n", 180 | " meta_data = [] #meta vector for analysis\n", 181 | " for j in channel:\n", 182 | " X = data[j][start : start + window_size] #Slice raw data over 2 sec, at interval of 0.125 sec\n", 183 | " Y = pe.bin_power(X, band, sample_rate) #FFT over 2 sec of channel j, in seq of theta, alpha, low beta, high beta, gamma\n", 184 | " meta_data = meta_data + list(Y[0])\n", 185 | "\n", 186 | " meta_array.append(np.array(meta_data))\n", 187 | " meta_array.append(labels)\n", 188 | "\n", 189 | " meta.append(np.array(meta_array)) \n", 190 | " start = start + step_size\n", 191 | " \n", 192 | " meta = np.array(meta)\n", 193 | " np.save('/content/drive/My Drive/leading_ai/try/s' + sub, meta, allow_pickle=True, fix_imports=True)" 194 | ], 195 | "execution_count": null, 196 | "outputs": [] 197 | }, 198 | { 199 | "cell_type": "code", 200 | "metadata": { 201 | "id": "TWcHt5X2xDfw" 202 | }, 203 | "source": [ 204 | "for subjects in subjectList:\n", 205 | " FFT_Processing (subjects, channel, band, window_size, step_size, sample_rate)" 206 | ], 207 | "execution_count": null, 208 | "outputs": [] 209 | }, 210 | { 211 | "cell_type": "code", 212 | "metadata": { 213 | "id": "dM2Bdu7oxIbE", 214 | "colab": { 215 | "base_uri": "https://localhost:8080/" 216 | }, 217 | "outputId": "6b407b06-ad2c-42fa-b962-f31f8d322fb5" 218 | }, 219 | "source": [ 220 | "\n", 221 | "data_training = []\n", 222 | "label_training = []\n", 223 | "data_testing = []\n", 224 | "label_testing = []\n", 225 | "\n", 226 | "for subjects in subjectList:\n", 227 | "\n", 228 | " with open('/content/drive/My Drive/leading_ai/try/s' + subjects + '.npy', 'rb') as file:\n", 229 | " sub = np.load(file,allow_pickle=True)\n", 230 | " for i in range (0,sub.shape[0]):\n", 231 | " if i % 5 == 0:\n", 232 | " data_testing.append(sub[i][0])\n", 233 | " label_testing.append(sub[i][1])\n", 234 | " else:\n", 235 | " data_training.append(sub[i][0])\n", 236 | " label_training.append(sub[i][1])\n", 237 | "\n", 238 | "np.save('/content/drive/My Drive/leading_ai/data_training', np.array(data_training), allow_pickle=True, fix_imports=True)\n", 239 | "np.save('/content/drive/My Drive/leading_ai/label_training', np.array(label_training), allow_pickle=True, fix_imports=True)\n", 240 | "print(\"training dataset:\", np.array(data_training).shape, np.array(label_training).shape)\n", 241 | "\n", 242 | "np.save('/content/drive/My Drive/leading_ai/data_testing', np.array(data_testing), allow_pickle=True, fix_imports=True)\n", 243 | "np.save('/content/drive/My Drive/leading_ai/label_testing', np.array(label_testing), allow_pickle=True, fix_imports=True)\n", 244 | "print(\"testing dataset:\", np.array(data_testing).shape, np.array(label_testing).shape)" 245 | ], 246 | "execution_count": null, 247 | "outputs": [ 248 | { 249 | "output_type": "stream", 250 | "name": "stdout", 251 | "text": [ 252 | "training dataset: (46848, 70) (46848, 4)\n", 253 | "testing dataset: (11712, 70) (11712, 4)\n" 254 | ] 255 | } 256 | ] 257 | }, 258 | { 259 | "cell_type": "code", 260 | "metadata": { 261 | "id": "pnNNgiBN_HcS" 262 | }, 263 | "source": [ 264 | "\n", 265 | "with open('/content/drive/My Drive/leading_ai/data_training.npy', 'rb') as fileTrain:\n", 266 | " X = np.load(fileTrain)\n", 267 | " \n", 268 | "with open('/content/drive/My Drive/leading_ai/label_training.npy', 'rb') as fileTrainL:\n", 269 | " Y = np.load(fileTrainL)\n", 270 | " \n", 271 | "X = normalize(X)\n", 272 | "Z = np.ravel(Y[:, [3]])\n", 273 | "\n", 274 | "Arousal_Train = np.ravel(Y[:, [0]])\n", 275 | "Valence_Train = np.ravel(Y[:, [1]])\n", 276 | "Domain_Train = np.ravel(Y[:, [2]])\n", 277 | "Like_Train = np.ravel(Y[:, [3]])" 278 | ], 279 | "execution_count": null, 280 | "outputs": [] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "metadata": { 285 | "id": "O-kXkIKo_3eY", 286 | "colab": { 287 | "base_uri": "https://localhost:8080/" 288 | }, 289 | "outputId": "25a3275f-889c-4f64-81b5-95a6af461f8f" 290 | }, 291 | "source": [ 292 | "X.shape" 293 | ], 294 | "execution_count": null, 295 | "outputs": [ 296 | { 297 | "output_type": "execute_result", 298 | "data": { 299 | "text/plain": [ 300 | "(46848, 70)" 301 | ] 302 | }, 303 | "metadata": {}, 304 | "execution_count": 11 305 | } 306 | ] 307 | }, 308 | { 309 | "cell_type": "code", 310 | "metadata": { 311 | "id": "u7QbIvJF_7YH", 312 | "colab": { 313 | "base_uri": "https://localhost:8080/" 314 | }, 315 | "outputId": "4226cafa-a49f-4745-8da9-5ad57b4ac864" 316 | }, 317 | "source": [ 318 | "from tensorflow.keras.utils import to_categorical\n", 319 | "y_train = to_categorical(Z)\n", 320 | "y_train" 321 | ], 322 | "execution_count": null, 323 | "outputs": [ 324 | { 325 | "output_type": "execute_result", 326 | "data": { 327 | "text/plain": [ 328 | "array([[0., 0., 0., ..., 1., 0., 0.],\n", 329 | " [0., 0., 0., ..., 1., 0., 0.],\n", 330 | " [0., 0., 0., ..., 1., 0., 0.],\n", 331 | " ...,\n", 332 | " [0., 0., 0., ..., 0., 0., 0.],\n", 333 | " [0., 0., 0., ..., 0., 0., 0.],\n", 334 | " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" 335 | ] 336 | }, 337 | "metadata": {}, 338 | "execution_count": 13 339 | } 340 | ] 341 | }, 342 | { 343 | "cell_type": "code", 344 | "metadata": { 345 | "id": "vz6DyN6i4Ten", 346 | "colab": { 347 | "base_uri": "https://localhost:8080/" 348 | }, 349 | "outputId": "775d1f28-22c2-4ad4-e04a-d77cffe6e7c5" 350 | }, 351 | "source": [ 352 | "y_train.shape" 353 | ], 354 | "execution_count": null, 355 | "outputs": [ 356 | { 357 | "output_type": "execute_result", 358 | "data": { 359 | "text/plain": [ 360 | "(46848, 10)" 361 | ] 362 | }, 363 | "metadata": {}, 364 | "execution_count": 14 365 | } 366 | ] 367 | }, 368 | { 369 | "cell_type": "code", 370 | "metadata": { 371 | "id": "n2nbzExFABT9" 372 | }, 373 | "source": [ 374 | "x_train = np.array(X[:])" 375 | ], 376 | "execution_count": null, 377 | "outputs": [] 378 | }, 379 | { 380 | "cell_type": "code", 381 | "metadata": { 382 | "id": "ooCmmlGRAFkv" 383 | }, 384 | "source": [ 385 | "\n", 386 | "with open('/content/drive/My Drive/leading_ai/data_testing.npy', 'rb') as fileTrain:\n", 387 | " M = np.load(fileTrain)\n", 388 | " \n", 389 | "with open('/content/drive/My Drive/leading_ai/label_testing.npy', 'rb') as fileTrainL:\n", 390 | " N = np.load(fileTrainL)\n", 391 | "\n", 392 | "M = normalize(M)\n", 393 | "L = np.ravel(N[:, [3]])\n", 394 | "\n", 395 | "Arousal_Test = np.ravel(N[:, [0]])\n", 396 | "Valence_Test = np.ravel(N[:, [1]])\n", 397 | "Domain_Test = np.ravel(N[:, [2]])\n", 398 | "Like_Test = np.ravel(N[:, [3]])" 399 | ], 400 | "execution_count": null, 401 | "outputs": [] 402 | }, 403 | { 404 | "cell_type": "code", 405 | "metadata": { 406 | "id": "m4sxtvpQAOhK" 407 | }, 408 | "source": [ 409 | "x_test = np.array(M[:])" 410 | ], 411 | "execution_count": null, 412 | "outputs": [] 413 | }, 414 | { 415 | "cell_type": "code", 416 | "metadata": { 417 | "id": "r2RKm9KgASb4", 418 | "colab": { 419 | "base_uri": "https://localhost:8080/" 420 | }, 421 | "outputId": "44ae7cb4-18dc-47e7-b1e7-7b01275bfc4a" 422 | }, 423 | "source": [ 424 | "from tensorflow.keras.utils import to_categorical\n", 425 | "y_test = to_categorical(L)\n", 426 | "y_test" 427 | ], 428 | "execution_count": null, 429 | "outputs": [ 430 | { 431 | "output_type": "execute_result", 432 | "data": { 433 | "text/plain": [ 434 | "array([[0., 0., 0., ..., 1., 0., 0.],\n", 435 | " [0., 0., 0., ..., 1., 0., 0.],\n", 436 | " [0., 0., 0., ..., 1., 0., 0.],\n", 437 | " ...,\n", 438 | " [0., 0., 0., ..., 0., 0., 0.],\n", 439 | " [0., 0., 0., ..., 0., 0., 0.],\n", 440 | " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" 441 | ] 442 | }, 443 | "metadata": {}, 444 | "execution_count": 19 445 | } 446 | ] 447 | }, 448 | { 449 | "cell_type": "code", 450 | "metadata": { 451 | "id": "UmwAfzADsRe1", 452 | "colab": { 453 | "base_uri": "https://localhost:8080/" 454 | }, 455 | "outputId": "93ca159c-a4f3-4ff3-ce47-480f498f75dd" 456 | }, 457 | "source": [ 458 | "y_test[1]" 459 | ], 460 | "execution_count": null, 461 | "outputs": [ 462 | { 463 | "output_type": "execute_result", 464 | "data": { 465 | "text/plain": [ 466 | "array([0., 0., 0., 0., 0., 0., 0., 1., 0., 0.], dtype=float32)" 467 | ] 468 | }, 469 | "metadata": {}, 470 | "execution_count": 20 471 | } 472 | ] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "metadata": { 477 | "id": "rKnp-c5EAVGJ" 478 | }, 479 | "source": [ 480 | "from sklearn.preprocessing import StandardScaler\n", 481 | "scaler = StandardScaler()\n", 482 | "x_train = scaler.fit_transform(x_train)\n", 483 | "x_test = scaler.fit_transform(x_test)" 484 | ], 485 | "execution_count": null, 486 | "outputs": [] 487 | }, 488 | { 489 | "cell_type": "code", 490 | "metadata": { 491 | "id": "WC6VSZLUBCiS" 492 | }, 493 | "source": [ 494 | "x_train = x_train.reshape(x_train.shape[0],x_train.shape[1], 1)\n", 495 | "x_test = x_test.reshape(x_test.shape[0],x_test.shape[1], 1)" 496 | ], 497 | "execution_count": null, 498 | "outputs": [] 499 | }, 500 | { 501 | "cell_type": "code", 502 | "metadata": { 503 | "id": "F3CYMY96BE0i", 504 | "colab": { 505 | "base_uri": "https://localhost:8080/" 506 | }, 507 | "outputId": "859bd955-c5e2-4c47-b857-aaee1e41e771" 508 | }, 509 | "source": [ 510 | "x_train.shape" 511 | ], 512 | "execution_count": null, 513 | "outputs": [ 514 | { 515 | "output_type": "execute_result", 516 | "data": { 517 | "text/plain": [ 518 | "(46848, 70, 1)" 519 | ] 520 | }, 521 | "metadata": {}, 522 | "execution_count": 23 523 | } 524 | ] 525 | }, 526 | { 527 | "cell_type": "code", 528 | "metadata": { 529 | "id": "V8NOrABgBWzf" 530 | }, 531 | "source": [ 532 | "batch_size = 256\n", 533 | "num_classes = 10\n", 534 | "epochs = 200\n", 535 | "input_shape=(x_train.shape[1], 1)" 536 | ], 537 | "execution_count": null, 538 | "outputs": [] 539 | }, 540 | { 541 | "cell_type": "code", 542 | "metadata": { 543 | "id": "_W9u_IH6BaaS", 544 | "colab": { 545 | "base_uri": "https://localhost:8080/" 546 | }, 547 | "outputId": "f814a098-40c5-4f28-822a-e8b546c77cc3" 548 | }, 549 | "source": [ 550 | "print(input_shape)" 551 | ], 552 | "execution_count": null, 553 | "outputs": [ 554 | { 555 | "output_type": "stream", 556 | "name": "stdout", 557 | "text": [ 558 | "(70, 1)\n" 559 | ] 560 | } 561 | ] 562 | }, 563 | { 564 | "cell_type": "code", 565 | "metadata": { 566 | "id": "FrpmQ4QWBc4_" 567 | }, 568 | "source": [ 569 | "from keras.layers import Convolution1D, ZeroPadding1D, MaxPooling1D, BatchNormalization, Activation, Dropout, Flatten, Dense\n", 570 | "from keras.regularizers import l2" 571 | ], 572 | "execution_count": null, 573 | "outputs": [] 574 | }, 575 | { 576 | "cell_type": "code", 577 | "metadata": { 578 | "id": "2B1ezppYCOhJ", 579 | "colab": { 580 | "base_uri": "https://localhost:8080/" 581 | }, 582 | "outputId": "b96abd32-d41c-45b0-9196-7664bb47bd44" 583 | }, 584 | "source": [ 585 | "model = Sequential()\n", 586 | "intput_shape=(x_train.shape[1], 1)\n", 587 | "model.add(Conv1D(164, kernel_size=3,padding = 'same',activation='relu', input_shape=input_shape))\n", 588 | "model.add(BatchNormalization())\n", 589 | "model.add(MaxPooling1D(pool_size=(2)))\n", 590 | "model.add(Conv1D(164,kernel_size=3,padding = 'same', activation='relu'))\n", 591 | "model.add(BatchNormalization())\n", 592 | "model.add(MaxPooling1D(pool_size=(2)))\n", 593 | "model.add(Conv1D(82,kernel_size=3,padding = 'same', activation='relu'))\n", 594 | "model.add(MaxPooling1D(pool_size=(2)))\n", 595 | "model.add(Flatten())\n", 596 | "model.add(Dense(82, activation='tanh'))\n", 597 | "model.add(Dropout(0.2))\n", 598 | "model.add(Dense(42, activation='tanh'))\n", 599 | "model.add(Dropout(0.2))\n", 600 | "model.add(Dense(21, activation='relu'))\n", 601 | "model.add(Dropout(0.2))\n", 602 | "model.add(Dense(num_classes, activation='softmax'))\n", 603 | "model.summary()" 604 | ], 605 | "execution_count": null, 606 | "outputs": [ 607 | { 608 | "output_type": "stream", 609 | "name": "stdout", 610 | "text": [ 611 | "Model: \"sequential\"\n", 612 | "_________________________________________________________________\n", 613 | " Layer (type) Output Shape Param # \n", 614 | "=================================================================\n", 615 | " conv1d (Conv1D) (None, 70, 164) 656 \n", 616 | " \n", 617 | " batch_normalization (BatchN (None, 70, 164) 656 \n", 618 | " ormalization) \n", 619 | " \n", 620 | " max_pooling1d (MaxPooling1D (None, 35, 164) 0 \n", 621 | " ) \n", 622 | " \n", 623 | " conv1d_1 (Conv1D) (None, 35, 164) 80852 \n", 624 | " \n", 625 | " batch_normalization_1 (Batc (None, 35, 164) 656 \n", 626 | " hNormalization) \n", 627 | " \n", 628 | " max_pooling1d_1 (MaxPooling (None, 17, 164) 0 \n", 629 | " 1D) \n", 630 | " \n", 631 | " conv1d_2 (Conv1D) (None, 17, 82) 40426 \n", 632 | " \n", 633 | " max_pooling1d_2 (MaxPooling (None, 8, 82) 0 \n", 634 | " 1D) \n", 635 | " \n", 636 | " flatten (Flatten) (None, 656) 0 \n", 637 | " \n", 638 | " dense (Dense) (None, 82) 53874 \n", 639 | " \n", 640 | " dropout (Dropout) (None, 82) 0 \n", 641 | " \n", 642 | " dense_1 (Dense) (None, 42) 3486 \n", 643 | " \n", 644 | " dropout_1 (Dropout) (None, 42) 0 \n", 645 | " \n", 646 | " dense_2 (Dense) (None, 21) 903 \n", 647 | " \n", 648 | " dropout_2 (Dropout) (None, 21) 0 \n", 649 | " \n", 650 | " dense_3 (Dense) (None, 10) 220 \n", 651 | " \n", 652 | "=================================================================\n", 653 | "Total params: 181,729\n", 654 | "Trainable params: 181,073\n", 655 | "Non-trainable params: 656\n", 656 | "_________________________________________________________________\n" 657 | ] 658 | } 659 | ] 660 | }, 661 | { 662 | "cell_type": "code", 663 | "metadata": { 664 | "id": "A7abBpBSCY-o" 665 | }, 666 | "source": [ 667 | "model.compile(loss=keras.losses.categorical_crossentropy,\n", 668 | " optimizer='adam',\n", 669 | " metrics=['accuracy'])" 670 | ], 671 | "execution_count": null, 672 | "outputs": [] 673 | }, 674 | { 675 | "cell_type": "code", 676 | "metadata": { 677 | "id": "vaZ4RPIqCfYF", 678 | "colab": { 679 | "base_uri": "https://localhost:8080/" 680 | }, 681 | "outputId": "746500d7-c69c-4a95-cb8c-f776d565be8a" 682 | }, 683 | "source": [ 684 | "history=model.fit(x_train, y_train,\n", 685 | " batch_size=batch_size,\n", 686 | " epochs=epochs, \n", 687 | " verbose=1,validation_data=(x_test,y_test))" 688 | ], 689 | "execution_count": null, 690 | "outputs": [ 691 | { 692 | "output_type": "stream", 693 | "name": "stdout", 694 | "text": [ 695 | "Epoch 1/200\n", 696 | "183/183 [==============================] - 18s 35ms/step - loss: 1.7317 - accuracy: 0.3064 - val_loss: 1.7938 - val_accuracy: 0.3157\n", 697 | "Epoch 2/200\n", 698 | "183/183 [==============================] - 6s 31ms/step - loss: 1.4986 - accuracy: 0.3897 - val_loss: 1.4322 - val_accuracy: 0.4134\n", 699 | "Epoch 3/200\n", 700 | "183/183 [==============================] - 6s 32ms/step - loss: 1.3705 - accuracy: 0.4454 - val_loss: 1.2404 - val_accuracy: 0.5028\n", 701 | "Epoch 4/200\n", 702 | "183/183 [==============================] - 6s 31ms/step - loss: 1.2689 - accuracy: 0.4913 - val_loss: 1.1129 - val_accuracy: 0.5547\n", 703 | "Epoch 5/200\n", 704 | "183/183 [==============================] - 6s 30ms/step - loss: 1.1691 - accuracy: 0.5330 - val_loss: 1.0066 - val_accuracy: 0.6010\n", 705 | "Epoch 6/200\n", 706 | "183/183 [==============================] - 6s 30ms/step - loss: 1.0687 - accuracy: 0.5768 - val_loss: 0.9247 - val_accuracy: 0.6356\n", 707 | "Epoch 7/200\n", 708 | "183/183 [==============================] - 6s 32ms/step - loss: 0.9889 - accuracy: 0.6129 - val_loss: 0.8616 - val_accuracy: 0.6574\n", 709 | "Epoch 8/200\n", 710 | "183/183 [==============================] - 6s 30ms/step - loss: 0.9104 - accuracy: 0.6420 - val_loss: 0.7839 - val_accuracy: 0.6912\n", 711 | "Epoch 9/200\n", 712 | "183/183 [==============================] - 6s 33ms/step - loss: 0.8559 - accuracy: 0.6636 - val_loss: 0.7497 - val_accuracy: 0.7025\n", 713 | "Epoch 10/200\n", 714 | "183/183 [==============================] - 6s 31ms/step - loss: 0.8058 - accuracy: 0.6852 - val_loss: 0.7147 - val_accuracy: 0.7155\n", 715 | "Epoch 11/200\n", 716 | "183/183 [==============================] - 5s 30ms/step - loss: 0.7585 - accuracy: 0.7031 - val_loss: 0.7228 - val_accuracy: 0.7152\n", 717 | "Epoch 12/200\n", 718 | "183/183 [==============================] - 6s 31ms/step - loss: 0.7233 - accuracy: 0.7174 - val_loss: 0.6622 - val_accuracy: 0.7374\n", 719 | "Epoch 13/200\n", 720 | "183/183 [==============================] - 5s 30ms/step - loss: 0.6949 - accuracy: 0.7288 - val_loss: 0.6302 - val_accuracy: 0.7499\n", 721 | "Epoch 14/200\n", 722 | "183/183 [==============================] - 6s 33ms/step - loss: 0.6678 - accuracy: 0.7387 - val_loss: 0.6426 - val_accuracy: 0.7523\n", 723 | "Epoch 15/200\n", 724 | "183/183 [==============================] - 5s 30ms/step - loss: 0.6362 - accuracy: 0.7492 - val_loss: 0.6038 - val_accuracy: 0.7639\n", 725 | "Epoch 16/200\n", 726 | "183/183 [==============================] - 6s 32ms/step - loss: 0.6177 - accuracy: 0.7580 - val_loss: 0.6004 - val_accuracy: 0.7689\n", 727 | "Epoch 17/200\n", 728 | "183/183 [==============================] - 6s 30ms/step - loss: 0.6031 - accuracy: 0.7658 - val_loss: 0.5620 - val_accuracy: 0.7766\n", 729 | "Epoch 18/200\n", 730 | "183/183 [==============================] - 6s 33ms/step - loss: 0.5783 - accuracy: 0.7745 - val_loss: 0.5695 - val_accuracy: 0.7808\n", 731 | "Epoch 19/200\n", 732 | "183/183 [==============================] - 6s 32ms/step - loss: 0.5548 - accuracy: 0.7824 - val_loss: 0.5471 - val_accuracy: 0.7893\n", 733 | "Epoch 20/200\n", 734 | "183/183 [==============================] - 6s 32ms/step - loss: 0.5465 - accuracy: 0.7871 - val_loss: 0.5709 - val_accuracy: 0.7818\n", 735 | "Epoch 21/200\n", 736 | "183/183 [==============================] - 6s 30ms/step - loss: 0.5397 - accuracy: 0.7903 - val_loss: 0.5255 - val_accuracy: 0.7970\n", 737 | "Epoch 22/200\n", 738 | "183/183 [==============================] - 6s 32ms/step - loss: 0.5127 - accuracy: 0.7994 - val_loss: 0.5661 - val_accuracy: 0.7894\n", 739 | "Epoch 23/200\n", 740 | "183/183 [==============================] - 5s 30ms/step - loss: 0.5130 - accuracy: 0.8001 - val_loss: 0.5217 - val_accuracy: 0.7992\n", 741 | "Epoch 24/200\n", 742 | "183/183 [==============================] - 6s 31ms/step - loss: 0.4948 - accuracy: 0.8060 - val_loss: 0.5218 - val_accuracy: 0.8039\n", 743 | "Epoch 25/200\n", 744 | "183/183 [==============================] - 6s 30ms/step - loss: 0.4863 - accuracy: 0.8109 - val_loss: 0.5105 - val_accuracy: 0.8065\n", 745 | "Epoch 26/200\n", 746 | "183/183 [==============================] - 6s 31ms/step - loss: 0.4809 - accuracy: 0.8140 - val_loss: 0.5338 - val_accuracy: 0.8024\n", 747 | "Epoch 27/200\n", 748 | "183/183 [==============================] - 6s 32ms/step - loss: 0.4635 - accuracy: 0.8199 - val_loss: 0.5115 - val_accuracy: 0.8058\n", 749 | "Epoch 28/200\n", 750 | "183/183 [==============================] - 6s 32ms/step - loss: 0.4647 - accuracy: 0.8197 - val_loss: 0.4848 - val_accuracy: 0.8166\n", 751 | "Epoch 29/200\n", 752 | "183/183 [==============================] - 5s 30ms/step - loss: 0.4514 - accuracy: 0.8266 - val_loss: 0.5086 - val_accuracy: 0.8104\n", 753 | "Epoch 30/200\n", 754 | "183/183 [==============================] - 5s 30ms/step - loss: 0.4454 - accuracy: 0.8275 - val_loss: 0.5016 - val_accuracy: 0.8175\n", 755 | "Epoch 31/200\n", 756 | "183/183 [==============================] - 6s 31ms/step - loss: 0.4281 - accuracy: 0.8366 - val_loss: 0.4657 - val_accuracy: 0.8297\n", 757 | "Epoch 32/200\n", 758 | "183/183 [==============================] - 5s 30ms/step - loss: 0.4338 - accuracy: 0.8327 - val_loss: 0.4858 - val_accuracy: 0.8233\n", 759 | "Epoch 33/200\n", 760 | "183/183 [==============================] - 5s 30ms/step - loss: 0.4314 - accuracy: 0.8345 - val_loss: 0.4751 - val_accuracy: 0.8228\n", 761 | "Epoch 34/200\n", 762 | "183/183 [==============================] - 5s 30ms/step - loss: 0.4212 - accuracy: 0.8383 - val_loss: 0.4636 - val_accuracy: 0.8327\n", 763 | "Epoch 35/200\n", 764 | "183/183 [==============================] - 6s 30ms/step - loss: 0.4157 - accuracy: 0.8392 - val_loss: 0.4649 - val_accuracy: 0.8312\n", 765 | "Epoch 36/200\n", 766 | "183/183 [==============================] - 6s 30ms/step - loss: 0.4004 - accuracy: 0.8466 - val_loss: 0.4659 - val_accuracy: 0.8367\n", 767 | "Epoch 37/200\n", 768 | "183/183 [==============================] - 6s 30ms/step - loss: 0.4022 - accuracy: 0.8465 - val_loss: 0.4721 - val_accuracy: 0.8280\n", 769 | "Epoch 38/200\n", 770 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3929 - accuracy: 0.8491 - val_loss: 0.4919 - val_accuracy: 0.8282\n", 771 | "Epoch 39/200\n", 772 | "183/183 [==============================] - 6s 30ms/step - loss: 0.3855 - accuracy: 0.8539 - val_loss: 0.4857 - val_accuracy: 0.8321\n", 773 | "Epoch 40/200\n", 774 | "183/183 [==============================] - 5s 30ms/step - loss: 0.3842 - accuracy: 0.8537 - val_loss: 0.4619 - val_accuracy: 0.8407\n", 775 | "Epoch 41/200\n", 776 | "183/183 [==============================] - 6s 30ms/step - loss: 0.3819 - accuracy: 0.8556 - val_loss: 0.4683 - val_accuracy: 0.8340\n", 777 | "Epoch 42/200\n", 778 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3688 - accuracy: 0.8595 - val_loss: 0.4422 - val_accuracy: 0.8392\n", 779 | "Epoch 43/200\n", 780 | "183/183 [==============================] - 6s 30ms/step - loss: 0.3697 - accuracy: 0.8595 - val_loss: 0.4616 - val_accuracy: 0.8373\n", 781 | "Epoch 44/200\n", 782 | "183/183 [==============================] - 6s 32ms/step - loss: 0.3659 - accuracy: 0.8618 - val_loss: 0.4354 - val_accuracy: 0.8455\n", 783 | "Epoch 45/200\n", 784 | "183/183 [==============================] - 5s 30ms/step - loss: 0.3477 - accuracy: 0.8678 - val_loss: 0.4411 - val_accuracy: 0.8464\n", 785 | "Epoch 46/200\n", 786 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3547 - accuracy: 0.8659 - val_loss: 0.4600 - val_accuracy: 0.8449\n", 787 | "Epoch 47/200\n", 788 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3488 - accuracy: 0.8677 - val_loss: 0.4565 - val_accuracy: 0.8438\n", 789 | "Epoch 48/200\n", 790 | "183/183 [==============================] - 6s 32ms/step - loss: 0.3438 - accuracy: 0.8703 - val_loss: 0.4364 - val_accuracy: 0.8532\n", 791 | "Epoch 49/200\n", 792 | "183/183 [==============================] - 6s 30ms/step - loss: 0.3397 - accuracy: 0.8721 - val_loss: 0.4570 - val_accuracy: 0.8468\n", 793 | "Epoch 50/200\n", 794 | "183/183 [==============================] - 5s 30ms/step - loss: 0.3430 - accuracy: 0.8716 - val_loss: 0.4334 - val_accuracy: 0.8490\n", 795 | "Epoch 51/200\n", 796 | "183/183 [==============================] - 5s 30ms/step - loss: 0.3365 - accuracy: 0.8743 - val_loss: 0.4405 - val_accuracy: 0.8513\n", 797 | "Epoch 52/200\n", 798 | "183/183 [==============================] - 5s 30ms/step - loss: 0.3299 - accuracy: 0.8765 - val_loss: 0.4453 - val_accuracy: 0.8493\n", 799 | "Epoch 53/200\n", 800 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3210 - accuracy: 0.8797 - val_loss: 0.4245 - val_accuracy: 0.8604\n", 801 | "Epoch 54/200\n", 802 | "183/183 [==============================] - 6s 32ms/step - loss: 0.3353 - accuracy: 0.8766 - val_loss: 0.4291 - val_accuracy: 0.8497\n", 803 | "Epoch 55/200\n", 804 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3143 - accuracy: 0.8811 - val_loss: 0.4442 - val_accuracy: 0.8540\n", 805 | "Epoch 56/200\n", 806 | "183/183 [==============================] - 6s 30ms/step - loss: 0.3151 - accuracy: 0.8818 - val_loss: 0.4500 - val_accuracy: 0.8505\n", 807 | "Epoch 57/200\n", 808 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3130 - accuracy: 0.8840 - val_loss: 0.4253 - val_accuracy: 0.8595\n", 809 | "Epoch 58/200\n", 810 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3158 - accuracy: 0.8821 - val_loss: 0.4367 - val_accuracy: 0.8580\n", 811 | "Epoch 59/200\n", 812 | "183/183 [==============================] - 6s 31ms/step - loss: 0.3012 - accuracy: 0.8879 - val_loss: 0.4184 - val_accuracy: 0.8673\n", 813 | "Epoch 60/200\n", 814 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2995 - accuracy: 0.8891 - val_loss: 0.4354 - val_accuracy: 0.8576\n", 815 | "Epoch 61/200\n", 816 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2969 - accuracy: 0.8899 - val_loss: 0.4202 - val_accuracy: 0.8676\n", 817 | "Epoch 62/200\n", 818 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2982 - accuracy: 0.8902 - val_loss: 0.4272 - val_accuracy: 0.8625\n", 819 | "Epoch 63/200\n", 820 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2970 - accuracy: 0.8904 - val_loss: 0.4245 - val_accuracy: 0.8629\n", 821 | "Epoch 64/200\n", 822 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2900 - accuracy: 0.8941 - val_loss: 0.4037 - val_accuracy: 0.8675\n", 823 | "Epoch 65/200\n", 824 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2891 - accuracy: 0.8921 - val_loss: 0.4162 - val_accuracy: 0.8649\n", 825 | "Epoch 66/200\n", 826 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2892 - accuracy: 0.8944 - val_loss: 0.4342 - val_accuracy: 0.8619\n", 827 | "Epoch 67/200\n", 828 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2834 - accuracy: 0.8969 - val_loss: 0.4258 - val_accuracy: 0.8694\n", 829 | "Epoch 68/200\n", 830 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2842 - accuracy: 0.8959 - val_loss: 0.4349 - val_accuracy: 0.8630\n", 831 | "Epoch 69/200\n", 832 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2826 - accuracy: 0.8975 - val_loss: 0.4217 - val_accuracy: 0.8674\n", 833 | "Epoch 70/200\n", 834 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2749 - accuracy: 0.8996 - val_loss: 0.4146 - val_accuracy: 0.8706\n", 835 | "Epoch 71/200\n", 836 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2755 - accuracy: 0.8999 - val_loss: 0.4144 - val_accuracy: 0.8762\n", 837 | "Epoch 72/200\n", 838 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2694 - accuracy: 0.9020 - val_loss: 0.4383 - val_accuracy: 0.8661\n", 839 | "Epoch 73/200\n", 840 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2730 - accuracy: 0.8987 - val_loss: 0.4106 - val_accuracy: 0.8679\n", 841 | "Epoch 74/200\n", 842 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2689 - accuracy: 0.9014 - val_loss: 0.4478 - val_accuracy: 0.8709\n", 843 | "Epoch 75/200\n", 844 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2637 - accuracy: 0.9039 - val_loss: 0.4263 - val_accuracy: 0.8748\n", 845 | "Epoch 76/200\n", 846 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2552 - accuracy: 0.9065 - val_loss: 0.3977 - val_accuracy: 0.8775\n", 847 | "Epoch 77/200\n", 848 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2500 - accuracy: 0.9100 - val_loss: 0.4336 - val_accuracy: 0.8667\n", 849 | "Epoch 78/200\n", 850 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2615 - accuracy: 0.9053 - val_loss: 0.4230 - val_accuracy: 0.8741\n", 851 | "Epoch 79/200\n", 852 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2516 - accuracy: 0.9112 - val_loss: 0.4098 - val_accuracy: 0.8789\n", 853 | "Epoch 80/200\n", 854 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2507 - accuracy: 0.9104 - val_loss: 0.4069 - val_accuracy: 0.8790\n", 855 | "Epoch 81/200\n", 856 | "183/183 [==============================] - 6s 32ms/step - loss: 0.2573 - accuracy: 0.9091 - val_loss: 0.3911 - val_accuracy: 0.8818\n", 857 | "Epoch 82/200\n", 858 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2474 - accuracy: 0.9094 - val_loss: 0.4158 - val_accuracy: 0.8764\n", 859 | "Epoch 83/200\n", 860 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2430 - accuracy: 0.9120 - val_loss: 0.4112 - val_accuracy: 0.8787\n", 861 | "Epoch 84/200\n", 862 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2439 - accuracy: 0.9125 - val_loss: 0.4108 - val_accuracy: 0.8823\n", 863 | "Epoch 85/200\n", 864 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2461 - accuracy: 0.9121 - val_loss: 0.4340 - val_accuracy: 0.8728\n", 865 | "Epoch 86/200\n", 866 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2439 - accuracy: 0.9128 - val_loss: 0.4214 - val_accuracy: 0.8703\n", 867 | "Epoch 87/200\n", 868 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2443 - accuracy: 0.9130 - val_loss: 0.3913 - val_accuracy: 0.8834\n", 869 | "Epoch 88/200\n", 870 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2320 - accuracy: 0.9169 - val_loss: 0.3926 - val_accuracy: 0.8803\n", 871 | "Epoch 89/200\n", 872 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2421 - accuracy: 0.9142 - val_loss: 0.3919 - val_accuracy: 0.8832\n", 873 | "Epoch 90/200\n", 874 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2419 - accuracy: 0.9127 - val_loss: 0.3887 - val_accuracy: 0.8835\n", 875 | "Epoch 91/200\n", 876 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2350 - accuracy: 0.9157 - val_loss: 0.4152 - val_accuracy: 0.8790\n", 877 | "Epoch 92/200\n", 878 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2334 - accuracy: 0.9169 - val_loss: 0.4234 - val_accuracy: 0.8764\n", 879 | "Epoch 93/200\n", 880 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2204 - accuracy: 0.9216 - val_loss: 0.3911 - val_accuracy: 0.8861\n", 881 | "Epoch 94/200\n", 882 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2301 - accuracy: 0.9180 - val_loss: 0.4034 - val_accuracy: 0.8818\n", 883 | "Epoch 95/200\n", 884 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2244 - accuracy: 0.9209 - val_loss: 0.3904 - val_accuracy: 0.8929\n", 885 | "Epoch 96/200\n", 886 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2230 - accuracy: 0.9216 - val_loss: 0.3908 - val_accuracy: 0.8910\n", 887 | "Epoch 97/200\n", 888 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2274 - accuracy: 0.9201 - val_loss: 0.3925 - val_accuracy: 0.8837\n", 889 | "Epoch 98/200\n", 890 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2211 - accuracy: 0.9223 - val_loss: 0.3887 - val_accuracy: 0.8916\n", 891 | "Epoch 99/200\n", 892 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2105 - accuracy: 0.9254 - val_loss: 0.3919 - val_accuracy: 0.8893\n", 893 | "Epoch 100/200\n", 894 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2146 - accuracy: 0.9246 - val_loss: 0.4237 - val_accuracy: 0.8846\n", 895 | "Epoch 101/200\n", 896 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2098 - accuracy: 0.9264 - val_loss: 0.4072 - val_accuracy: 0.8849\n", 897 | "Epoch 102/200\n", 898 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2116 - accuracy: 0.9254 - val_loss: 0.4128 - val_accuracy: 0.8852\n", 899 | "Epoch 103/200\n", 900 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2112 - accuracy: 0.9262 - val_loss: 0.4047 - val_accuracy: 0.8870\n", 901 | "Epoch 104/200\n", 902 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2146 - accuracy: 0.9258 - val_loss: 0.3930 - val_accuracy: 0.8916\n", 903 | "Epoch 105/200\n", 904 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2096 - accuracy: 0.9283 - val_loss: 0.4111 - val_accuracy: 0.8848\n", 905 | "Epoch 106/200\n", 906 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2041 - accuracy: 0.9308 - val_loss: 0.3966 - val_accuracy: 0.8876\n", 907 | "Epoch 107/200\n", 908 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2116 - accuracy: 0.9258 - val_loss: 0.4205 - val_accuracy: 0.8855\n", 909 | "Epoch 108/200\n", 910 | "183/183 [==============================] - 6s 30ms/step - loss: 0.2127 - accuracy: 0.9260 - val_loss: 0.4055 - val_accuracy: 0.8896\n", 911 | "Epoch 109/200\n", 912 | "183/183 [==============================] - 5s 30ms/step - loss: 0.2034 - accuracy: 0.9282 - val_loss: 0.4145 - val_accuracy: 0.8914\n", 913 | "Epoch 110/200\n", 914 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1995 - accuracy: 0.9301 - val_loss: 0.4168 - val_accuracy: 0.8876\n", 915 | "Epoch 111/200\n", 916 | "183/183 [==============================] - 6s 31ms/step - loss: 0.2096 - accuracy: 0.9285 - val_loss: 0.4176 - val_accuracy: 0.8874\n", 917 | "Epoch 112/200\n", 918 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1998 - accuracy: 0.9302 - val_loss: 0.3956 - val_accuracy: 0.8871\n", 919 | "Epoch 113/200\n", 920 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1989 - accuracy: 0.9305 - val_loss: 0.3985 - val_accuracy: 0.8954\n", 921 | "Epoch 114/200\n", 922 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1996 - accuracy: 0.9315 - val_loss: 0.3954 - val_accuracy: 0.8940\n", 923 | "Epoch 115/200\n", 924 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1905 - accuracy: 0.9343 - val_loss: 0.3884 - val_accuracy: 0.8933\n", 925 | "Epoch 116/200\n", 926 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1977 - accuracy: 0.9309 - val_loss: 0.4101 - val_accuracy: 0.8916\n", 927 | "Epoch 117/200\n", 928 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1906 - accuracy: 0.9349 - val_loss: 0.3863 - val_accuracy: 0.8963\n", 929 | "Epoch 118/200\n", 930 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1975 - accuracy: 0.9322 - val_loss: 0.3891 - val_accuracy: 0.8952\n", 931 | "Epoch 119/200\n", 932 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1907 - accuracy: 0.9341 - val_loss: 0.4157 - val_accuracy: 0.8883\n", 933 | "Epoch 120/200\n", 934 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1876 - accuracy: 0.9356 - val_loss: 0.3943 - val_accuracy: 0.8983\n", 935 | "Epoch 121/200\n", 936 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1959 - accuracy: 0.9332 - val_loss: 0.3971 - val_accuracy: 0.8896\n", 937 | "Epoch 122/200\n", 938 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1884 - accuracy: 0.9339 - val_loss: 0.4335 - val_accuracy: 0.8860\n", 939 | "Epoch 123/200\n", 940 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1991 - accuracy: 0.9309 - val_loss: 0.3947 - val_accuracy: 0.8972\n", 941 | "Epoch 124/200\n", 942 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1864 - accuracy: 0.9357 - val_loss: 0.3895 - val_accuracy: 0.8977\n", 943 | "Epoch 125/200\n", 944 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1717 - accuracy: 0.9404 - val_loss: 0.4141 - val_accuracy: 0.8928\n", 945 | "Epoch 126/200\n", 946 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1893 - accuracy: 0.9360 - val_loss: 0.3840 - val_accuracy: 0.8995\n", 947 | "Epoch 127/200\n", 948 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1949 - accuracy: 0.9337 - val_loss: 0.4088 - val_accuracy: 0.8944\n", 949 | "Epoch 128/200\n", 950 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1858 - accuracy: 0.9368 - val_loss: 0.4147 - val_accuracy: 0.8930\n", 951 | "Epoch 129/200\n", 952 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1726 - accuracy: 0.9408 - val_loss: 0.4188 - val_accuracy: 0.8918\n", 953 | "Epoch 130/200\n", 954 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1730 - accuracy: 0.9414 - val_loss: 0.3859 - val_accuracy: 0.8965\n", 955 | "Epoch 131/200\n", 956 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1834 - accuracy: 0.9366 - val_loss: 0.3997 - val_accuracy: 0.8947\n", 957 | "Epoch 132/200\n", 958 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1810 - accuracy: 0.9378 - val_loss: 0.3875 - val_accuracy: 0.8969\n", 959 | "Epoch 133/200\n", 960 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1704 - accuracy: 0.9421 - val_loss: 0.3948 - val_accuracy: 0.9005\n", 961 | "Epoch 134/200\n", 962 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1805 - accuracy: 0.9381 - val_loss: 0.3803 - val_accuracy: 0.9008\n", 963 | "Epoch 135/200\n", 964 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1762 - accuracy: 0.9405 - val_loss: 0.3985 - val_accuracy: 0.8975\n", 965 | "Epoch 136/200\n", 966 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1656 - accuracy: 0.9446 - val_loss: 0.4087 - val_accuracy: 0.8975\n", 967 | "Epoch 137/200\n", 968 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1735 - accuracy: 0.9403 - val_loss: 0.4341 - val_accuracy: 0.8876\n", 969 | "Epoch 138/200\n", 970 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1770 - accuracy: 0.9401 - val_loss: 0.4198 - val_accuracy: 0.8929\n", 971 | "Epoch 139/200\n", 972 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1808 - accuracy: 0.9381 - val_loss: 0.4030 - val_accuracy: 0.9004\n", 973 | "Epoch 140/200\n", 974 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1650 - accuracy: 0.9439 - val_loss: 0.4256 - val_accuracy: 0.8907\n", 975 | "Epoch 141/200\n", 976 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1751 - accuracy: 0.9401 - val_loss: 0.4118 - val_accuracy: 0.8955\n", 977 | "Epoch 142/200\n", 978 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1707 - accuracy: 0.9422 - val_loss: 0.3889 - val_accuracy: 0.9017\n", 979 | "Epoch 143/200\n", 980 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1631 - accuracy: 0.9452 - val_loss: 0.4016 - val_accuracy: 0.8964\n", 981 | "Epoch 144/200\n", 982 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1639 - accuracy: 0.9441 - val_loss: 0.3909 - val_accuracy: 0.9024\n", 983 | "Epoch 145/200\n", 984 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1627 - accuracy: 0.9448 - val_loss: 0.3953 - val_accuracy: 0.8993\n", 985 | "Epoch 146/200\n", 986 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1649 - accuracy: 0.9436 - val_loss: 0.4016 - val_accuracy: 0.8981\n", 987 | "Epoch 147/200\n", 988 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1666 - accuracy: 0.9443 - val_loss: 0.4124 - val_accuracy: 0.8963\n", 989 | "Epoch 148/200\n", 990 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1667 - accuracy: 0.9438 - val_loss: 0.3945 - val_accuracy: 0.9024\n", 991 | "Epoch 149/200\n", 992 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1739 - accuracy: 0.9416 - val_loss: 0.3889 - val_accuracy: 0.9016\n", 993 | "Epoch 150/200\n", 994 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1651 - accuracy: 0.9436 - val_loss: 0.3841 - val_accuracy: 0.9058\n", 995 | "Epoch 151/200\n", 996 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1578 - accuracy: 0.9477 - val_loss: 0.3746 - val_accuracy: 0.9066\n", 997 | "Epoch 152/200\n", 998 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1605 - accuracy: 0.9454 - val_loss: 0.3988 - val_accuracy: 0.9022\n", 999 | "Epoch 153/200\n", 1000 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1632 - accuracy: 0.9447 - val_loss: 0.3953 - val_accuracy: 0.9025\n", 1001 | "Epoch 154/200\n", 1002 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1635 - accuracy: 0.9457 - val_loss: 0.4043 - val_accuracy: 0.8981\n", 1003 | "Epoch 155/200\n", 1004 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1609 - accuracy: 0.9454 - val_loss: 0.3834 - val_accuracy: 0.9008\n", 1005 | "Epoch 156/200\n", 1006 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1587 - accuracy: 0.9463 - val_loss: 0.4065 - val_accuracy: 0.8958\n", 1007 | "Epoch 157/200\n", 1008 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1588 - accuracy: 0.9469 - val_loss: 0.3838 - val_accuracy: 0.9043\n", 1009 | "Epoch 158/200\n", 1010 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1595 - accuracy: 0.9466 - val_loss: 0.3957 - val_accuracy: 0.9046\n", 1011 | "Epoch 159/200\n", 1012 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1591 - accuracy: 0.9468 - val_loss: 0.4048 - val_accuracy: 0.8992\n", 1013 | "Epoch 160/200\n", 1014 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1616 - accuracy: 0.9452 - val_loss: 0.3929 - val_accuracy: 0.8990\n", 1015 | "Epoch 161/200\n", 1016 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1486 - accuracy: 0.9504 - val_loss: 0.4137 - val_accuracy: 0.8996\n", 1017 | "Epoch 162/200\n", 1018 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1469 - accuracy: 0.9506 - val_loss: 0.4072 - val_accuracy: 0.8988\n", 1019 | "Epoch 163/200\n", 1020 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1563 - accuracy: 0.9486 - val_loss: 0.4039 - val_accuracy: 0.9019\n", 1021 | "Epoch 164/200\n", 1022 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1503 - accuracy: 0.9492 - val_loss: 0.4080 - val_accuracy: 0.9058\n", 1023 | "Epoch 165/200\n", 1024 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1525 - accuracy: 0.9496 - val_loss: 0.4359 - val_accuracy: 0.8947\n", 1025 | "Epoch 166/200\n", 1026 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1447 - accuracy: 0.9518 - val_loss: 0.4110 - val_accuracy: 0.9015\n", 1027 | "Epoch 167/200\n", 1028 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1570 - accuracy: 0.9480 - val_loss: 0.3911 - val_accuracy: 0.9055\n", 1029 | "Epoch 168/200\n", 1030 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1447 - accuracy: 0.9521 - val_loss: 0.4149 - val_accuracy: 0.9051\n", 1031 | "Epoch 169/200\n", 1032 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1508 - accuracy: 0.9497 - val_loss: 0.4153 - val_accuracy: 0.9024\n", 1033 | "Epoch 170/200\n", 1034 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1540 - accuracy: 0.9482 - val_loss: 0.4031 - val_accuracy: 0.8987\n", 1035 | "Epoch 171/200\n", 1036 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1570 - accuracy: 0.9474 - val_loss: 0.4073 - val_accuracy: 0.9014\n", 1037 | "Epoch 172/200\n", 1038 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1472 - accuracy: 0.9512 - val_loss: 0.4358 - val_accuracy: 0.8966\n", 1039 | "Epoch 173/200\n", 1040 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1518 - accuracy: 0.9505 - val_loss: 0.3820 - val_accuracy: 0.9056\n", 1041 | "Epoch 174/200\n", 1042 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1429 - accuracy: 0.9526 - val_loss: 0.4238 - val_accuracy: 0.9012\n", 1043 | "Epoch 175/200\n", 1044 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1485 - accuracy: 0.9496 - val_loss: 0.3763 - val_accuracy: 0.9078\n", 1045 | "Epoch 176/200\n", 1046 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1447 - accuracy: 0.9531 - val_loss: 0.3933 - val_accuracy: 0.9054\n", 1047 | "Epoch 177/200\n", 1048 | "183/183 [==============================] - 5s 30ms/step - loss: 0.1410 - accuracy: 0.9544 - val_loss: 0.4120 - val_accuracy: 0.9011\n", 1049 | "Epoch 178/200\n", 1050 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1418 - accuracy: 0.9536 - val_loss: 0.3757 - val_accuracy: 0.9080\n", 1051 | "Epoch 179/200\n", 1052 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1391 - accuracy: 0.9535 - val_loss: 0.4067 - val_accuracy: 0.9057\n", 1053 | "Epoch 180/200\n", 1054 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1420 - accuracy: 0.9533 - val_loss: 0.4211 - val_accuracy: 0.9019\n", 1055 | "Epoch 181/200\n", 1056 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1430 - accuracy: 0.9520 - val_loss: 0.4153 - val_accuracy: 0.9011\n", 1057 | "Epoch 182/200\n", 1058 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1410 - accuracy: 0.9539 - val_loss: 0.3826 - val_accuracy: 0.9089\n", 1059 | "Epoch 183/200\n", 1060 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1435 - accuracy: 0.9528 - val_loss: 0.4190 - val_accuracy: 0.8973\n", 1061 | "Epoch 184/200\n", 1062 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1484 - accuracy: 0.9512 - val_loss: 0.3891 - val_accuracy: 0.9062\n", 1063 | "Epoch 185/200\n", 1064 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1462 - accuracy: 0.9511 - val_loss: 0.3908 - val_accuracy: 0.9086\n", 1065 | "Epoch 186/200\n", 1066 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1358 - accuracy: 0.9559 - val_loss: 0.3922 - val_accuracy: 0.9071\n", 1067 | "Epoch 187/200\n", 1068 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1419 - accuracy: 0.9522 - val_loss: 0.3901 - val_accuracy: 0.9080\n", 1069 | "Epoch 188/200\n", 1070 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1353 - accuracy: 0.9561 - val_loss: 0.4185 - val_accuracy: 0.9024\n", 1071 | "Epoch 189/200\n", 1072 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1405 - accuracy: 0.9530 - val_loss: 0.4071 - val_accuracy: 0.9084\n", 1073 | "Epoch 190/200\n", 1074 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1445 - accuracy: 0.9537 - val_loss: 0.4384 - val_accuracy: 0.8966\n", 1075 | "Epoch 191/200\n", 1076 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1337 - accuracy: 0.9565 - val_loss: 0.4025 - val_accuracy: 0.9062\n", 1077 | "Epoch 192/200\n", 1078 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1325 - accuracy: 0.9567 - val_loss: 0.4019 - val_accuracy: 0.9081\n", 1079 | "Epoch 193/200\n", 1080 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1399 - accuracy: 0.9541 - val_loss: 0.4194 - val_accuracy: 0.8992\n", 1081 | "Epoch 194/200\n", 1082 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1324 - accuracy: 0.9572 - val_loss: 0.4096 - val_accuracy: 0.9057\n", 1083 | "Epoch 195/200\n", 1084 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1280 - accuracy: 0.9579 - val_loss: 0.3789 - val_accuracy: 0.9118\n", 1085 | "Epoch 196/200\n", 1086 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1340 - accuracy: 0.9561 - val_loss: 0.4124 - val_accuracy: 0.9062\n", 1087 | "Epoch 197/200\n", 1088 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1303 - accuracy: 0.9576 - val_loss: 0.4024 - val_accuracy: 0.9082\n", 1089 | "Epoch 198/200\n", 1090 | "183/183 [==============================] - 6s 31ms/step - loss: 0.1374 - accuracy: 0.9539 - val_loss: 0.3950 - val_accuracy: 0.9066\n", 1091 | "Epoch 199/200\n", 1092 | "183/183 [==============================] - 6s 30ms/step - loss: 0.1310 - accuracy: 0.9566 - val_loss: 0.4109 - val_accuracy: 0.9078\n", 1093 | "Epoch 200/200\n", 1094 | "183/183 [==============================] - 6s 32ms/step - loss: 0.1293 - accuracy: 0.9576 - val_loss: 0.4132 - val_accuracy: 0.9058\n" 1095 | ] 1096 | } 1097 | ] 1098 | }, 1099 | { 1100 | "cell_type": "code", 1101 | "metadata": { 1102 | "id": "JY7d6VDZCjaO", 1103 | "colab": { 1104 | "base_uri": "https://localhost:8080/" 1105 | }, 1106 | "outputId": "ccca5410-137d-448f-c351-b31dac8bb565" 1107 | }, 1108 | "source": [ 1109 | "score = model.evaluate(x_test, y_test, verbose=1)\n", 1110 | "print('Test loss:', score[0])\n", 1111 | "print('Test accuracy:', score[1])" 1112 | ], 1113 | "execution_count": null, 1114 | "outputs": [ 1115 | { 1116 | "output_type": "stream", 1117 | "name": "stdout", 1118 | "text": [ 1119 | "366/366 [==============================] - 2s 5ms/step - loss: 0.4132 - accuracy: 0.9058\n", 1120 | "Test loss: 0.41323205828666687\n", 1121 | "Test accuracy: 0.9058231115341187\n" 1122 | ] 1123 | } 1124 | ] 1125 | }, 1126 | { 1127 | "cell_type": "code", 1128 | "metadata": { 1129 | "id": "LV_xGFKhDt67", 1130 | "colab": { 1131 | "base_uri": "https://localhost:8080/" 1132 | }, 1133 | "outputId": "be214256-251d-4428-bee8-6217645c2fe4" 1134 | }, 1135 | "source": [ 1136 | "# list all data in history\n", 1137 | "print(history.history.keys())\n", 1138 | "import matplotlib.pyplot as plt\n", 1139 | "import numpy\n" 1140 | ], 1141 | "execution_count": null, 1142 | "outputs": [ 1143 | { 1144 | "output_type": "stream", 1145 | "name": "stdout", 1146 | "text": [ 1147 | "dict_keys(['loss', 'accuracy', 'val_loss', 'val_accuracy'])\n" 1148 | ] 1149 | } 1150 | ] 1151 | }, 1152 | { 1153 | "cell_type": "code", 1154 | "metadata": { 1155 | "id": "dDQGSy8xFoob", 1156 | "colab": { 1157 | "base_uri": "https://localhost:8080/", 1158 | "height": 295 1159 | }, 1160 | "outputId": "dd727042-17c3-41cf-9e8f-d8977f2384cb" 1161 | }, 1162 | "source": [ 1163 | "# summarize history for accuracy\n", 1164 | "plt.plot(history.history['accuracy'])\n", 1165 | "plt.plot(history.history['val_accuracy'])\n", 1166 | "plt.title('model accuracy')\n", 1167 | "plt.ylabel('accuracy')\n", 1168 | "plt.xlabel('epoch')\n", 1169 | "plt.legend(['train', 'test'], loc='upper left')\n", 1170 | "plt.show()" 1171 | ], 1172 | "execution_count": null, 1173 | "outputs": [ 1174 | { 1175 | "output_type": "display_data", 1176 | "data": { 1177 | "text/plain": [ 1178 | "
" 1179 | ], 1180 | "image/png": "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\n" 1181 | }, 1182 | "metadata": { 1183 | "needs_background": "light" 1184 | } 1185 | } 1186 | ] 1187 | }, 1188 | { 1189 | "cell_type": "code", 1190 | "metadata": { 1191 | "id": "Fgg6gD0BFnZS", 1192 | "colab": { 1193 | "base_uri": "https://localhost:8080/", 1194 | "height": 295 1195 | }, 1196 | "outputId": "8aaabdaf-7db8-4b59-cf8d-8822bef3660e" 1197 | }, 1198 | "source": [ 1199 | "# summarize history for loss\n", 1200 | "plt.plot(history.history['loss'])\n", 1201 | "plt.plot(history.history['val_loss'])\n", 1202 | "plt.title('model loss')\n", 1203 | "plt.ylabel('loss')\n", 1204 | "plt.xlabel('epoch')\n", 1205 | "plt.legend(['train', 'test'], loc='upper left')\n", 1206 | "plt.show()" 1207 | ], 1208 | "execution_count": null, 1209 | "outputs": [ 1210 | { 1211 | "output_type": "display_data", 1212 | "data": { 1213 | "text/plain": [ 1214 | "
" 1215 | ], 1216 | "image/png": "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\n" 1217 | }, 1218 | "metadata": { 1219 | "needs_background": "light" 1220 | } 1221 | } 1222 | ] 1223 | }, 1224 | { 1225 | "cell_type": "code", 1226 | "metadata": { 1227 | "id": "xZwaY3SeKnJb", 1228 | "colab": { 1229 | "base_uri": "https://localhost:8080/", 1230 | "height": 295 1231 | }, 1232 | "outputId": "f1fe8e20-c0c1-4e60-f66a-74464360b5c6" 1233 | }, 1234 | "source": [ 1235 | "plt.plot(history.history['val_accuracy'])\n", 1236 | "plt.plot(history.history['val_loss'])\n", 1237 | "plt.title('test model')\n", 1238 | "plt.ylabel('test accuracy')\n", 1239 | "plt.xlabel('test loss')\n", 1240 | "plt.show()" 1241 | ], 1242 | "execution_count": null, 1243 | "outputs": [ 1244 | { 1245 | "output_type": "display_data", 1246 | "data": { 1247 | "text/plain": [ 1248 | "
" 1249 | ], 1250 | "image/png": "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\n" 1251 | }, 1252 | "metadata": { 1253 | "needs_background": "light" 1254 | } 1255 | } 1256 | ] 1257 | }, 1258 | { 1259 | "cell_type": "code", 1260 | "metadata": { 1261 | "id": "NGR4wrOdL5DF" 1262 | }, 1263 | "source": [ 1264 | "y_pred=model.predict(x_test)\n", 1265 | "from sklearn.metrics import confusion_matrix\n", 1266 | "import numpy as np" 1267 | ], 1268 | "execution_count": null, 1269 | "outputs": [] 1270 | }, 1271 | { 1272 | "cell_type": "code", 1273 | "metadata": { 1274 | "id": "9y5wCoinVRhi", 1275 | "colab": { 1276 | "base_uri": "https://localhost:8080/" 1277 | }, 1278 | "outputId": "2bb476ee-c3f1-4886-b0fc-bf1aa2132608" 1279 | }, 1280 | "source": [ 1281 | "y_test[1]" 1282 | ], 1283 | "execution_count": null, 1284 | "outputs": [ 1285 | { 1286 | "output_type": "execute_result", 1287 | "data": { 1288 | "text/plain": [ 1289 | "array([0., 0., 0., 0., 0., 0., 0., 1., 0., 0.], dtype=float32)" 1290 | ] 1291 | }, 1292 | "metadata": {}, 1293 | "execution_count": 36 1294 | } 1295 | ] 1296 | }, 1297 | { 1298 | "cell_type": "code", 1299 | "metadata": { 1300 | "id": "2q13VADTXlQ9", 1301 | "colab": { 1302 | "base_uri": "https://localhost:8080/" 1303 | }, 1304 | "outputId": "03bd25e3-c211-4073-f2d8-347f721462d3" 1305 | }, 1306 | "source": [ 1307 | "y_pred[1]" 1308 | ], 1309 | "execution_count": null, 1310 | "outputs": [ 1311 | { 1312 | "output_type": "execute_result", 1313 | "data": { 1314 | "text/plain": [ 1315 | "array([0.0000000e+00, 2.6304622e-07, 0.0000000e+00, 2.7689800e-10,\n", 1316 | " 6.0896885e-11, 1.4118716e-06, 3.6095716e-06, 9.9999428e-01,\n", 1317 | " 8.4671825e-08, 4.2324689e-07], dtype=float32)" 1318 | ] 1319 | }, 1320 | "metadata": {}, 1321 | "execution_count": 37 1322 | } 1323 | ] 1324 | }, 1325 | { 1326 | "cell_type": "code", 1327 | "metadata": { 1328 | "id": "ilOzv9RdVOtg" 1329 | }, 1330 | "source": [ 1331 | "y_test1=np.argmax(y_test, axis=1)" 1332 | ], 1333 | "execution_count": null, 1334 | "outputs": [] 1335 | }, 1336 | { 1337 | "cell_type": "code", 1338 | "metadata": { 1339 | "id": "Pvkh6dE6XzNa" 1340 | }, 1341 | "source": [ 1342 | "y_pred=np.argmax(y_pred,axis=1)" 1343 | ], 1344 | "execution_count": null, 1345 | "outputs": [] 1346 | }, 1347 | { 1348 | "cell_type": "code", 1349 | "metadata": { 1350 | "id": "wLOOyigNaJke", 1351 | "colab": { 1352 | "base_uri": "https://localhost:8080/" 1353 | }, 1354 | "outputId": "67c29cde-a24e-43aa-9fac-75aebb7de2bc" 1355 | }, 1356 | "source": [ 1357 | "y_test1[1]" 1358 | ], 1359 | "execution_count": null, 1360 | "outputs": [ 1361 | { 1362 | "output_type": "execute_result", 1363 | "data": { 1364 | "text/plain": [ 1365 | "7" 1366 | ] 1367 | }, 1368 | "metadata": {}, 1369 | "execution_count": 40 1370 | } 1371 | ] 1372 | }, 1373 | { 1374 | "cell_type": "code", 1375 | "metadata": { 1376 | "id": "0f968lExaSRS", 1377 | "colab": { 1378 | "base_uri": "https://localhost:8080/" 1379 | }, 1380 | "outputId": "34366541-9a3f-4d7b-cfe3-76da95b04b1d" 1381 | }, 1382 | "source": [ 1383 | "y_pred[1]" 1384 | ], 1385 | "execution_count": null, 1386 | "outputs": [ 1387 | { 1388 | "output_type": "execute_result", 1389 | "data": { 1390 | "text/plain": [ 1391 | "7" 1392 | ] 1393 | }, 1394 | "metadata": {}, 1395 | "execution_count": 41 1396 | } 1397 | ] 1398 | }, 1399 | { 1400 | "cell_type": "code", 1401 | "metadata": { 1402 | "id": "45fHlde5OtWn" 1403 | }, 1404 | "source": [ 1405 | "cmatrix=confusion_matrix(y_test1, y_pred)" 1406 | ], 1407 | "execution_count": null, 1408 | "outputs": [] 1409 | }, 1410 | { 1411 | "cell_type": "code", 1412 | "metadata": { 1413 | "id": "7p70V5JCRyvZ", 1414 | "colab": { 1415 | "base_uri": "https://localhost:8080/", 1416 | "height": 599 1417 | }, 1418 | "outputId": "5f944d9d-c5e5-4a17-d225-3cc1d87e2366" 1419 | }, 1420 | "source": [ 1421 | "import seaborn as sns\n", 1422 | "figure = plt.figure(figsize=(8, 8))\n", 1423 | "sns.heatmap(cmatrix, annot=True,cmap=plt.cm.Blues)\n", 1424 | "plt.tight_layout()\n", 1425 | "plt.ylabel('True label')\n", 1426 | "plt.xlabel('Predicted label')\n", 1427 | "plt.show()" 1428 | ], 1429 | "execution_count": null, 1430 | "outputs": [ 1431 | { 1432 | "output_type": "display_data", 1433 | "data": { 1434 | "text/plain": [ 1435 | "
" 1436 | ], 1437 | "image/png": "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\n" 1438 | }, 1439 | "metadata": { 1440 | "needs_background": "light" 1441 | } 1442 | } 1443 | ] 1444 | }, 1445 | { 1446 | "cell_type": "code", 1447 | "source": [ 1448 | "from sklearn import metrics\n", 1449 | "y_pred = np.around(model.predict(x_test))\n", 1450 | "print(metrics.classification_report(y_test,y_pred))" 1451 | ], 1452 | "metadata": { 1453 | "id": "yyhYlGRvny4k", 1454 | "outputId": "66b496a7-a9f9-49fc-a2b3-6b8dd547de4a", 1455 | "colab": { 1456 | "base_uri": "https://localhost:8080/" 1457 | } 1458 | }, 1459 | "execution_count": null, 1460 | "outputs": [ 1461 | { 1462 | "output_type": "stream", 1463 | "name": "stdout", 1464 | "text": [ 1465 | " precision recall f1-score support\n", 1466 | "\n", 1467 | " 0 0.00 0.00 0.00 0\n", 1468 | " 1 0.84 0.86 0.85 1172\n", 1469 | " 2 0.00 0.00 0.00 0\n", 1470 | " 3 0.93 0.93 0.93 391\n", 1471 | " 4 0.94 0.88 0.91 391\n", 1472 | " 5 0.96 0.91 0.93 2046\n", 1473 | " 6 0.93 0.91 0.92 2733\n", 1474 | " 7 0.90 0.92 0.91 2734\n", 1475 | " 8 0.96 0.92 0.94 1172\n", 1476 | " 9 0.84 0.81 0.82 1073\n", 1477 | "\n", 1478 | " micro avg 0.91 0.90 0.91 11712\n", 1479 | " macro avg 0.73 0.71 0.72 11712\n", 1480 | "weighted avg 0.92 0.90 0.91 11712\n", 1481 | " samples avg 0.90 0.90 0.90 11712\n", 1482 | "\n" 1483 | ] 1484 | } 1485 | ] 1486 | }, 1487 | { 1488 | "cell_type": "markdown", 1489 | "source": [ 1490 | "" 1491 | ], 1492 | "metadata": { 1493 | "id": "lEquYJoNnysK" 1494 | } 1495 | } 1496 | ] 1497 | } 1498 | --------------------------------------------------------------------------------