diff --git "a/src/ml/experiment.ipynb" "b/src/ml/experiment.ipynb" new file mode 100644--- /dev/null +++ "b/src/ml/experiment.ipynb" @@ -0,0 +1,2201 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "import yfinance as yf\n", + "import pandas as pd\n", + "import numpy as np\n", + "from sklearn.preprocessing import StandardScaler, MinMaxScaler\n", + "from sklearn.compose import ColumnTransformer\n", + "import joblib\n", + "import keras\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [], + "source": [ + "TEST_DAYS = 40" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [], + "source": [ + "INDICATOR_DATASET = False" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/9c/8m67hqg13wd179_xl1xrnn2c0000gp/T/ipykernel_58100/1703223587.py:24: SettingWithCopyWarning: \n", + "A value is trying to be set on a copy of a slice from a DataFrame\n", + "\n", + "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", + " d.dropna(inplace=True)\n" + ] + } + ], + "source": [ + "if INDICATOR_DATASET:\n", + " d = joblib.load('nifty_data.pkl')\n", + "else:\n", + " d = yf.download(\n", + " tickers=\"^NSEI\",\n", + " period='max',\n", + " interval='1d',\n", + " progress=False,\n", + " timeout=10\n", + " )\n", + " d['target'] = d.Open/d.Close.shift(-1)\n", + " d.target = d.target.apply(np.floor)\n", + "\n", + " d['change'] = abs(d['Close'].pct_change() * 100)\n", + "\n", + " d['High'] = d['High'].pct_change() * 100\n", + " d['Low'] = d['Low'].pct_change() * 100\n", + " d['Open'] = d['Open'].pct_change() * 100\n", + " d['Close'] = d['Close'].pct_change() * 100 \n", + " # d.rename(columns = {'HighNew':'High','LowNew':'Low','OpenNew':'Open','CloseNew':'Close'}, inplace = True)\n", + "\n", + " # Remove outliers when Market closes +- 3.5%\n", + " d = d[d['change'] < 3.5]\n", + " d.dropna(inplace=True)\n", + " d.tail()" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [], + "source": [ + "def preprocessBeforeScaling(df):\n", + " df['High'] = df['High'].pct_change() * 100\n", + " df['Low'] = df['Low'].pct_change() * 100\n", + " df['Open'] = df['Open'].pct_change() * 100\n", + " df['Close'] = df['Close'].pct_change() * 100 \n", + " return df" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [], + "source": [ + "test_dataset = d.tail(TEST_DAYS)" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [], + "source": [ + "d = d[:-(TEST_DAYS+1)]" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [], + "source": [ + "if INDICATOR_DATASET:\n", + " x = d.drop(columns=['target'])\n", + " y = d.target\n", + "else:\n", + " x = d.drop(columns=['target', 'Adj Close', 'Volume', 'change'], errors='ignore')\n", + " y = d.target" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OpenHighLowClose
Date
2007-09-18-0.5389040.060452-0.0290061.146926
2007-09-204.0569220.4610703.7558350.321187
2007-09-210.3822741.9922930.2658311.895715
2007-09-241.7715251.7597812.1853881.956577
2007-09-252.1076500.2580370.8476070.134826
...............
2022-12-02-0.633474-0.559364-0.740220-0.618740
2022-12-05-0.175175-0.284047-0.2567150.026482
2022-12-06-0.635167-0.393512-0.072341-0.311751
2022-12-070.2053650.071833-0.266446-0.441190
2022-12-08-0.364829-0.2319480.0461390.263191
\n", + "

3632 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " Open High Low Close\n", + "Date \n", + "2007-09-18 -0.538904 0.060452 -0.029006 1.146926\n", + "2007-09-20 4.056922 0.461070 3.755835 0.321187\n", + "2007-09-21 0.382274 1.992293 0.265831 1.895715\n", + "2007-09-24 1.771525 1.759781 2.185388 1.956577\n", + "2007-09-25 2.107650 0.258037 0.847607 0.134826\n", + "... ... ... ... ...\n", + "2022-12-02 -0.633474 -0.559364 -0.740220 -0.618740\n", + "2022-12-05 -0.175175 -0.284047 -0.256715 0.026482\n", + "2022-12-06 -0.635167 -0.393512 -0.072341 -0.311751\n", + "2022-12-07 0.205365 0.071833 -0.266446 -0.441190\n", + "2022-12-08 -0.364829 -0.231948 0.046139 0.263191\n", + "\n", + "[3632 rows x 4 columns]" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Date\n", + "2007-09-18 0.0\n", + "2007-09-20 0.0\n", + "2007-09-21 0.0\n", + "2007-09-24 0.0\n", + "2007-09-25 0.0\n", + " ... \n", + "2022-12-02 1.0\n", + "2022-12-05 1.0\n", + "2022-12-06 1.0\n", + "2022-12-07 1.0\n", + "2022-12-08 1.0\n", + "Name: target, Length: 3632, dtype: float64" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "No. of Bullish samples: 1853\n", + "No. of Bearish samples: 1779\n" + ] + } + ], + "source": [ + "print('No. of Bullish samples: {}'.format(y[y == 0].size))\n", + "print('No. of Bearish samples: {}'.format(y[y == 1].size))" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using StandardScaler\n" + ] + }, + { + "data": { + "text/plain": [ + "array([[-0.44397101, 0.03341403, -0.07956986, 1.02006975],\n", + " [ 2.99061278, 0.42381322, 2.99941387, 0.25208989],\n", + " [ 0.24444976, 1.91598031, 0.16028141, 1.71648272],\n", + " ...,\n", + " [-0.51591104, -0.40897068, -0.11482332, -0.33657615],\n", + " [ 0.11224095, 0.04450465, -0.27272798, -0.4569611 ],\n", + " [-0.31388057, -0.25152816, -0.0184391 , 0.19815053]])" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "if not INDICATOR_DATASET:\n", + " print(\"Using StandardScaler\")\n", + " scaler = StandardScaler()\n", + " x = scaler.fit_transform(x.to_numpy())\n", + " x\n", + "else:\n", + " print(\"Using ColumnTransformer\")\n", + " col_names = ['Open', 'High', 'Low', 'Close', 'ATR']\n", + " scaler = ColumnTransformer(\n", + " [('StandardScaler', StandardScaler(), col_names)],\n", + " remainder='passthrough'\n", + " )\n", + " x = scaler.fit_transform(x)\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: \"sequential_5\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " dense_35 (Dense) (None, 64) 320 \n", + " \n", + " dense_36 (Dense) (None, 32) 2080 \n", + " \n", + " dense_37 (Dense) (None, 16) 528 \n", + " \n", + " dense_38 (Dense) (None, 8) 136 \n", + " \n", + " dense_39 (Dense) (None, 4) 36 \n", + " \n", + " dense_40 (Dense) (None, 2) 10 \n", + " \n", + " dense_41 (Dense) (None, 1) 3 \n", + " \n", + "=================================================================\n", + "Total params: 3,113\n", + "Trainable params: 3,113\n", + "Non-trainable params: 0\n", + "_________________________________________________________________\n" + ] + } + ], + "source": [ + "import tensorflow as tf\n", + "from keras import Sequential\n", + "from keras import Model\n", + "from keras.layers import Dense\n", + "from keras.optimizers import SGD\n", + "import keras\n", + "\n", + "lr_list = []\n", + "def scheduler(epoch, lr):\n", + " if epoch < 15:\n", + " lr = lr\n", + " else:\n", + " lr = lr * tf.math.exp(-0.01)\n", + " lr_list.append(lr)\n", + " return lr\n", + "\n", + "units = 64 #1024\n", + "# sgd = SGD(learning_rate=0.0001, momentum=0.0, nesterov=True)\n", + "sgd = SGD(learning_rate=0.001, momentum=0.45, nesterov=True)\n", + "kernel_init = 'he_uniform'\n", + "activation = 'relu'\n", + "\n", + "callback_mc = keras.callbacks.ModelCheckpoint(\n", + " 'best_model.h5',\n", + " verbose=1,\n", + " monitor='val_accuracy',\n", + " save_best_only=True,\n", + " mode='auto'\n", + " )\n", + "callback_es = keras.callbacks.EarlyStopping(\n", + " monitor='val_accuracy',\n", + " mode='auto',\n", + " verbose=0,\n", + " patience=200\n", + ")\n", + "callback_lr = keras.callbacks.LearningRateScheduler(scheduler)\n", + "\n", + "model = Sequential([\n", + " Dense(units, kernel_initializer=kernel_init, activation=activation, input_dim=x.shape[1]),\n", + " # Dense(units, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(units//2, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(units//4, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(units//8, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(units//16, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(units//32, kernel_initializer=kernel_init, activation=activation),\n", + " Dense(1, kernel_initializer=kernel_init, activation='sigmoid'),\n", + "])\n", + "model.compile(optimizer=sgd, loss='binary_crossentropy', metrics=['accuracy'])\n", + "model.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1/500\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-02-07 21:32:56.887556: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:113] Plugin optimizer for device_type GPU is enabled.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Epoch 1: val_accuracy improved from -inf to 0.56514, saving model to best_model.h5\n", + "25/25 - 1s - loss: 0.7395 - accuracy: 0.5190 - val_loss: 0.6813 - val_accuracy: 0.5651 - lr: 0.0010 - 798ms/epoch - 32ms/step\n", + "Epoch 2/500\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-02-07 21:32:57.345736: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:113] Plugin optimizer for device_type GPU is enabled.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Epoch 2: val_accuracy improved from 0.56514 to 0.56881, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.7237 - accuracy: 0.5238 - val_loss: 0.6748 - val_accuracy: 0.5688 - lr: 0.0010 - 227ms/epoch - 9ms/step\n", + "Epoch 3/500\n", + "\n", + "Epoch 3: val_accuracy improved from 0.56881 to 0.57064, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.7119 - accuracy: 0.5287 - val_loss: 0.6682 - val_accuracy: 0.5706 - lr: 0.0010 - 232ms/epoch - 9ms/step\n", + "Epoch 4/500\n", + "\n", + "Epoch 4: val_accuracy improved from 0.57064 to 0.57798, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.7027 - accuracy: 0.5368 - val_loss: 0.6624 - val_accuracy: 0.5780 - lr: 0.0010 - 228ms/epoch - 9ms/step\n", + "Epoch 5/500\n", + "\n", + "Epoch 5: val_accuracy improved from 0.57798 to 0.59266, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6922 - accuracy: 0.5465 - val_loss: 0.6567 - val_accuracy: 0.5927 - lr: 0.0010 - 205ms/epoch - 8ms/step\n", + "Epoch 6/500\n", + "\n", + "Epoch 6: val_accuracy improved from 0.59266 to 0.60734, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6815 - accuracy: 0.5640 - val_loss: 0.6493 - val_accuracy: 0.6073 - lr: 0.0010 - 205ms/epoch - 8ms/step\n", + "Epoch 7/500\n", + "\n", + "Epoch 7: val_accuracy improved from 0.60734 to 0.66055, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6670 - accuracy: 0.6158 - val_loss: 0.6347 - val_accuracy: 0.6606 - lr: 0.0010 - 203ms/epoch - 8ms/step\n", + "Epoch 8/500\n", + "\n", + "Epoch 8: val_accuracy improved from 0.66055 to 0.68257, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6458 - accuracy: 0.6683 - val_loss: 0.6256 - val_accuracy: 0.6826 - lr: 0.0010 - 214ms/epoch - 9ms/step\n", + "Epoch 9/500\n", + "\n", + "Epoch 9: val_accuracy improved from 0.68257 to 0.69358, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6340 - accuracy: 0.6796 - val_loss: 0.6224 - val_accuracy: 0.6936 - lr: 0.0010 - 210ms/epoch - 8ms/step\n", + "Epoch 10/500\n", + "\n", + "Epoch 10: val_accuracy improved from 0.69358 to 0.70642, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6285 - accuracy: 0.6884 - val_loss: 0.6199 - val_accuracy: 0.7064 - lr: 0.0010 - 208ms/epoch - 8ms/step\n", + "Epoch 11/500\n", + "\n", + "Epoch 11: val_accuracy improved from 0.70642 to 0.71376, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6239 - accuracy: 0.6916 - val_loss: 0.6174 - val_accuracy: 0.7138 - lr: 0.0010 - 207ms/epoch - 8ms/step\n", + "Epoch 12/500\n", + "\n", + "Epoch 12: val_accuracy improved from 0.71376 to 0.71927, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6202 - accuracy: 0.6910 - val_loss: 0.6154 - val_accuracy: 0.7193 - lr: 0.0010 - 206ms/epoch - 8ms/step\n", + "Epoch 13/500\n", + "\n", + "Epoch 13: val_accuracy improved from 0.71927 to 0.72661, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6181 - accuracy: 0.6923 - val_loss: 0.6136 - val_accuracy: 0.7266 - lr: 0.0010 - 214ms/epoch - 9ms/step\n", + "Epoch 14/500\n", + "\n", + "Epoch 14: val_accuracy improved from 0.72661 to 0.72844, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6157 - accuracy: 0.6929 - val_loss: 0.6117 - val_accuracy: 0.7284 - lr: 0.0010 - 212ms/epoch - 8ms/step\n", + "Epoch 15/500\n", + "\n", + "Epoch 15: val_accuracy did not improve from 0.72844\n", + "25/25 - 0s - loss: 0.6137 - accuracy: 0.6955 - val_loss: 0.6098 - val_accuracy: 0.7284 - lr: 0.0010 - 186ms/epoch - 7ms/step\n", + "Epoch 16/500\n", + "\n", + "Epoch 16: val_accuracy improved from 0.72844 to 0.73028, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6117 - accuracy: 0.6945 - val_loss: 0.6080 - val_accuracy: 0.7303 - lr: 9.9005e-04 - 256ms/epoch - 10ms/step\n", + "Epoch 17/500\n", + "\n", + "Epoch 17: val_accuracy improved from 0.73028 to 0.73578, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6098 - accuracy: 0.6952 - val_loss: 0.6064 - val_accuracy: 0.7358 - lr: 9.8020e-04 - 212ms/epoch - 8ms/step\n", + "Epoch 18/500\n", + "\n", + "Epoch 18: val_accuracy did not improve from 0.73578\n", + "25/25 - 0s - loss: 0.6079 - accuracy: 0.6948 - val_loss: 0.6044 - val_accuracy: 0.7339 - lr: 9.7045e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 19/500\n", + "\n", + "Epoch 19: val_accuracy did not improve from 0.73578\n", + "25/25 - 0s - loss: 0.6063 - accuracy: 0.6991 - val_loss: 0.6025 - val_accuracy: 0.7321 - lr: 9.6079e-04 - 195ms/epoch - 8ms/step\n", + "Epoch 20/500\n", + "\n", + "Epoch 20: val_accuracy did not improve from 0.73578\n", + "25/25 - 0s - loss: 0.6049 - accuracy: 0.6965 - val_loss: 0.6008 - val_accuracy: 0.7321 - lr: 9.5123e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 21/500\n", + "\n", + "Epoch 21: val_accuracy did not improve from 0.73578\n", + "25/25 - 0s - loss: 0.6032 - accuracy: 0.6968 - val_loss: 0.5987 - val_accuracy: 0.7358 - lr: 9.4176e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 22/500\n", + "\n", + "Epoch 22: val_accuracy improved from 0.73578 to 0.73761, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.6015 - accuracy: 0.6994 - val_loss: 0.5973 - val_accuracy: 0.7376 - lr: 9.3239e-04 - 224ms/epoch - 9ms/step\n", + "Epoch 23/500\n", + "\n", + "Epoch 23: val_accuracy did not improve from 0.73761\n", + "25/25 - 0s - loss: 0.6001 - accuracy: 0.6994 - val_loss: 0.5964 - val_accuracy: 0.7358 - lr: 9.2312e-04 - 187ms/epoch - 7ms/step\n", + "Epoch 24/500\n", + "\n", + "Epoch 24: val_accuracy did not improve from 0.73761\n", + "25/25 - 0s - loss: 0.5990 - accuracy: 0.7007 - val_loss: 0.5959 - val_accuracy: 0.7358 - lr: 9.1393e-04 - 188ms/epoch - 8ms/step\n", + "Epoch 25/500\n", + "\n", + "Epoch 25: val_accuracy improved from 0.73761 to 0.73945, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5980 - accuracy: 0.7007 - val_loss: 0.5947 - val_accuracy: 0.7394 - lr: 9.0484e-04 - 234ms/epoch - 9ms/step\n", + "Epoch 26/500\n", + "\n", + "Epoch 26: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5968 - accuracy: 0.7017 - val_loss: 0.5935 - val_accuracy: 0.7394 - lr: 8.9583e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 27/500\n", + "\n", + "Epoch 27: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5957 - accuracy: 0.7033 - val_loss: 0.5924 - val_accuracy: 0.7394 - lr: 8.8692e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 28/500\n", + "\n", + "Epoch 28: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5947 - accuracy: 0.7026 - val_loss: 0.5912 - val_accuracy: 0.7376 - lr: 8.7809e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 29/500\n", + "\n", + "Epoch 29: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5938 - accuracy: 0.7020 - val_loss: 0.5902 - val_accuracy: 0.7376 - lr: 8.6936e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 30/500\n", + "\n", + "Epoch 30: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5929 - accuracy: 0.7026 - val_loss: 0.5892 - val_accuracy: 0.7394 - lr: 8.6071e-04 - 201ms/epoch - 8ms/step\n", + "Epoch 31/500\n", + "\n", + "Epoch 31: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5920 - accuracy: 0.7023 - val_loss: 0.5884 - val_accuracy: 0.7358 - lr: 8.5214e-04 - 181ms/epoch - 7ms/step\n", + "Epoch 32/500\n", + "\n", + "Epoch 32: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5911 - accuracy: 0.7049 - val_loss: 0.5877 - val_accuracy: 0.7358 - lr: 8.4366e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 33/500\n", + "\n", + "Epoch 33: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5904 - accuracy: 0.7059 - val_loss: 0.5866 - val_accuracy: 0.7376 - lr: 8.3527e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 34/500\n", + "\n", + "Epoch 34: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5896 - accuracy: 0.7049 - val_loss: 0.5854 - val_accuracy: 0.7376 - lr: 8.2696e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 35/500\n", + "\n", + "Epoch 35: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5892 - accuracy: 0.7033 - val_loss: 0.5848 - val_accuracy: 0.7339 - lr: 8.1873e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 36/500\n", + "\n", + "Epoch 36: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5883 - accuracy: 0.7049 - val_loss: 0.5847 - val_accuracy: 0.7339 - lr: 8.1058e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 37/500\n", + "\n", + "Epoch 37: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5877 - accuracy: 0.7033 - val_loss: 0.5838 - val_accuracy: 0.7358 - lr: 8.0252e-04 - 194ms/epoch - 8ms/step\n", + "Epoch 38/500\n", + "\n", + "Epoch 38: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5869 - accuracy: 0.7039 - val_loss: 0.5832 - val_accuracy: 0.7358 - lr: 7.9453e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 39/500\n", + "\n", + "Epoch 39: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5863 - accuracy: 0.7039 - val_loss: 0.5825 - val_accuracy: 0.7358 - lr: 7.8663e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 40/500\n", + "\n", + "Epoch 40: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5857 - accuracy: 0.7052 - val_loss: 0.5821 - val_accuracy: 0.7358 - lr: 7.7880e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 41/500\n", + "\n", + "Epoch 41: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5849 - accuracy: 0.7046 - val_loss: 0.5817 - val_accuracy: 0.7339 - lr: 7.7105e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 42/500\n", + "\n", + "Epoch 42: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5844 - accuracy: 0.7039 - val_loss: 0.5811 - val_accuracy: 0.7358 - lr: 7.6338e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 43/500\n", + "\n", + "Epoch 43: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5837 - accuracy: 0.7042 - val_loss: 0.5806 - val_accuracy: 0.7358 - lr: 7.5578e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 44/500\n", + "\n", + "Epoch 44: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5831 - accuracy: 0.7046 - val_loss: 0.5797 - val_accuracy: 0.7339 - lr: 7.4826e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 45/500\n", + "\n", + "Epoch 45: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5826 - accuracy: 0.7042 - val_loss: 0.5794 - val_accuracy: 0.7358 - lr: 7.4082e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 46/500\n", + "\n", + "Epoch 46: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5819 - accuracy: 0.7046 - val_loss: 0.5790 - val_accuracy: 0.7358 - lr: 7.3345e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 47/500\n", + "\n", + "Epoch 47: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5813 - accuracy: 0.7055 - val_loss: 0.5788 - val_accuracy: 0.7358 - lr: 7.2615e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 48/500\n", + "\n", + "Epoch 48: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5810 - accuracy: 0.7059 - val_loss: 0.5785 - val_accuracy: 0.7376 - lr: 7.1892e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 49/500\n", + "\n", + "Epoch 49: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5804 - accuracy: 0.7062 - val_loss: 0.5779 - val_accuracy: 0.7394 - lr: 7.1177e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 50/500\n", + "\n", + "Epoch 50: val_accuracy did not improve from 0.73945\n", + "25/25 - 0s - loss: 0.5798 - accuracy: 0.7065 - val_loss: 0.5776 - val_accuracy: 0.7394 - lr: 7.0469e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 51/500\n", + "\n", + "Epoch 51: val_accuracy improved from 0.73945 to 0.74128, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5792 - accuracy: 0.7065 - val_loss: 0.5768 - val_accuracy: 0.7413 - lr: 6.9767e-04 - 208ms/epoch - 8ms/step\n", + "Epoch 52/500\n", + "\n", + "Epoch 52: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5786 - accuracy: 0.7081 - val_loss: 0.5762 - val_accuracy: 0.7394 - lr: 6.9073e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 53/500\n", + "\n", + "Epoch 53: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5780 - accuracy: 0.7065 - val_loss: 0.5758 - val_accuracy: 0.7394 - lr: 6.8386e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 54/500\n", + "\n", + "Epoch 54: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5777 - accuracy: 0.7085 - val_loss: 0.5753 - val_accuracy: 0.7394 - lr: 6.7706e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 55/500\n", + "\n", + "Epoch 55: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5773 - accuracy: 0.7088 - val_loss: 0.5746 - val_accuracy: 0.7413 - lr: 6.7032e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 56/500\n", + "\n", + "Epoch 56: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5768 - accuracy: 0.7088 - val_loss: 0.5739 - val_accuracy: 0.7413 - lr: 6.6365e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 57/500\n", + "\n", + "Epoch 57: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5764 - accuracy: 0.7101 - val_loss: 0.5735 - val_accuracy: 0.7394 - lr: 6.5705e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 58/500\n", + "\n", + "Epoch 58: val_accuracy did not improve from 0.74128\n", + "25/25 - 0s - loss: 0.5760 - accuracy: 0.7088 - val_loss: 0.5731 - val_accuracy: 0.7394 - lr: 6.5051e-04 - 187ms/epoch - 7ms/step\n", + "Epoch 59/500\n", + "\n", + "Epoch 59: val_accuracy improved from 0.74128 to 0.74312, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5757 - accuracy: 0.7091 - val_loss: 0.5722 - val_accuracy: 0.7431 - lr: 6.4403e-04 - 206ms/epoch - 8ms/step\n", + "Epoch 60/500\n", + "\n", + "Epoch 60: val_accuracy did not improve from 0.74312\n", + "25/25 - 0s - loss: 0.5753 - accuracy: 0.7101 - val_loss: 0.5717 - val_accuracy: 0.7413 - lr: 6.3763e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 61/500\n", + "\n", + "Epoch 61: val_accuracy did not improve from 0.74312\n", + "25/25 - 0s - loss: 0.5749 - accuracy: 0.7101 - val_loss: 0.5711 - val_accuracy: 0.7431 - lr: 6.3128e-04 - 181ms/epoch - 7ms/step\n", + "Epoch 62/500\n", + "\n", + "Epoch 62: val_accuracy did not improve from 0.74312\n", + "25/25 - 0s - loss: 0.5745 - accuracy: 0.7094 - val_loss: 0.5708 - val_accuracy: 0.7431 - lr: 6.2500e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 63/500\n", + "\n", + "Epoch 63: val_accuracy did not improve from 0.74312\n", + "25/25 - 0s - loss: 0.5741 - accuracy: 0.7101 - val_loss: 0.5704 - val_accuracy: 0.7413 - lr: 6.1878e-04 - 190ms/epoch - 8ms/step\n", + "Epoch 64/500\n", + "\n", + "Epoch 64: val_accuracy did not improve from 0.74312\n", + "25/25 - 0s - loss: 0.5737 - accuracy: 0.7104 - val_loss: 0.5698 - val_accuracy: 0.7431 - lr: 6.1262e-04 - 194ms/epoch - 8ms/step\n", + "Epoch 65/500\n", + "\n", + "Epoch 65: val_accuracy improved from 0.74312 to 0.74495, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5734 - accuracy: 0.7098 - val_loss: 0.5694 - val_accuracy: 0.7450 - lr: 6.0653e-04 - 210ms/epoch - 8ms/step\n", + "Epoch 66/500\n", + "\n", + "Epoch 66: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5730 - accuracy: 0.7098 - val_loss: 0.5691 - val_accuracy: 0.7450 - lr: 6.0049e-04 - 190ms/epoch - 8ms/step\n", + "Epoch 67/500\n", + "\n", + "Epoch 67: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5727 - accuracy: 0.7098 - val_loss: 0.5688 - val_accuracy: 0.7431 - lr: 5.9452e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 68/500\n", + "\n", + "Epoch 68: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5724 - accuracy: 0.7088 - val_loss: 0.5684 - val_accuracy: 0.7431 - lr: 5.8860e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 69/500\n", + "\n", + "Epoch 69: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5720 - accuracy: 0.7104 - val_loss: 0.5681 - val_accuracy: 0.7413 - lr: 5.8275e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 70/500\n", + "\n", + "Epoch 70: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5717 - accuracy: 0.7110 - val_loss: 0.5679 - val_accuracy: 0.7413 - lr: 5.7695e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 71/500\n", + "\n", + "Epoch 71: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5715 - accuracy: 0.7110 - val_loss: 0.5673 - val_accuracy: 0.7413 - lr: 5.7121e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 72/500\n", + "\n", + "Epoch 72: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5711 - accuracy: 0.7117 - val_loss: 0.5672 - val_accuracy: 0.7413 - lr: 5.6552e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 73/500\n", + "\n", + "Epoch 73: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5710 - accuracy: 0.7104 - val_loss: 0.5670 - val_accuracy: 0.7431 - lr: 5.5990e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 74/500\n", + "\n", + "Epoch 74: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5707 - accuracy: 0.7114 - val_loss: 0.5662 - val_accuracy: 0.7431 - lr: 5.5433e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 75/500\n", + "\n", + "Epoch 75: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5703 - accuracy: 0.7114 - val_loss: 0.5661 - val_accuracy: 0.7413 - lr: 5.4881e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 76/500\n", + "\n", + "Epoch 76: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5701 - accuracy: 0.7117 - val_loss: 0.5660 - val_accuracy: 0.7450 - lr: 5.4335e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 77/500\n", + "\n", + "Epoch 77: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5699 - accuracy: 0.7114 - val_loss: 0.5657 - val_accuracy: 0.7450 - lr: 5.3794e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 78/500\n", + "\n", + "Epoch 78: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5697 - accuracy: 0.7123 - val_loss: 0.5655 - val_accuracy: 0.7450 - lr: 5.3259e-04 - 194ms/epoch - 8ms/step\n", + "Epoch 79/500\n", + "\n", + "Epoch 79: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5694 - accuracy: 0.7117 - val_loss: 0.5654 - val_accuracy: 0.7450 - lr: 5.2729e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 80/500\n", + "\n", + "Epoch 80: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5692 - accuracy: 0.7120 - val_loss: 0.5655 - val_accuracy: 0.7450 - lr: 5.2204e-04 - 187ms/epoch - 7ms/step\n", + "Epoch 81/500\n", + "\n", + "Epoch 81: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5691 - accuracy: 0.7117 - val_loss: 0.5657 - val_accuracy: 0.7450 - lr: 5.1685e-04 - 188ms/epoch - 8ms/step\n", + "Epoch 82/500\n", + "\n", + "Epoch 82: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5690 - accuracy: 0.7130 - val_loss: 0.5653 - val_accuracy: 0.7450 - lr: 5.1171e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 83/500\n", + "\n", + "Epoch 83: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5687 - accuracy: 0.7127 - val_loss: 0.5647 - val_accuracy: 0.7450 - lr: 5.0661e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 84/500\n", + "\n", + "Epoch 84: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5685 - accuracy: 0.7123 - val_loss: 0.5645 - val_accuracy: 0.7450 - lr: 5.0157e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 85/500\n", + "\n", + "Epoch 85: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5683 - accuracy: 0.7133 - val_loss: 0.5643 - val_accuracy: 0.7450 - lr: 4.9658e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 86/500\n", + "\n", + "Epoch 86: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5681 - accuracy: 0.7123 - val_loss: 0.5642 - val_accuracy: 0.7450 - lr: 4.9164e-04 - 215ms/epoch - 9ms/step\n", + "Epoch 87/500\n", + "\n", + "Epoch 87: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5680 - accuracy: 0.7117 - val_loss: 0.5639 - val_accuracy: 0.7450 - lr: 4.8675e-04 - 188ms/epoch - 8ms/step\n", + "Epoch 88/500\n", + "\n", + "Epoch 88: val_accuracy did not improve from 0.74495\n", + "25/25 - 0s - loss: 0.5678 - accuracy: 0.7117 - val_loss: 0.5638 - val_accuracy: 0.7450 - lr: 4.8191e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 89/500\n", + "\n", + "Epoch 89: val_accuracy improved from 0.74495 to 0.74679, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5676 - accuracy: 0.7123 - val_loss: 0.5635 - val_accuracy: 0.7468 - lr: 4.7711e-04 - 219ms/epoch - 9ms/step\n", + "Epoch 90/500\n", + "\n", + "Epoch 90: val_accuracy did not improve from 0.74679\n", + "25/25 - 0s - loss: 0.5674 - accuracy: 0.7117 - val_loss: 0.5633 - val_accuracy: 0.7468 - lr: 4.7236e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 91/500\n", + "\n", + "Epoch 91: val_accuracy improved from 0.74679 to 0.75046, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5673 - accuracy: 0.7120 - val_loss: 0.5630 - val_accuracy: 0.7505 - lr: 4.6766e-04 - 223ms/epoch - 9ms/step\n", + "Epoch 92/500\n", + "\n", + "Epoch 92: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5671 - accuracy: 0.7130 - val_loss: 0.5628 - val_accuracy: 0.7468 - lr: 4.6301e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 93/500\n", + "\n", + "Epoch 93: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5670 - accuracy: 0.7123 - val_loss: 0.5626 - val_accuracy: 0.7468 - lr: 4.5840e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 94/500\n", + "\n", + "Epoch 94: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5668 - accuracy: 0.7117 - val_loss: 0.5624 - val_accuracy: 0.7486 - lr: 4.5384e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 95/500\n", + "\n", + "Epoch 95: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5666 - accuracy: 0.7127 - val_loss: 0.5621 - val_accuracy: 0.7468 - lr: 4.4933e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 96/500\n", + "\n", + "Epoch 96: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5665 - accuracy: 0.7123 - val_loss: 0.5617 - val_accuracy: 0.7486 - lr: 4.4486e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 97/500\n", + "\n", + "Epoch 97: val_accuracy did not improve from 0.75046\n", + "25/25 - 0s - loss: 0.5664 - accuracy: 0.7130 - val_loss: 0.5616 - val_accuracy: 0.7505 - lr: 4.4043e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 98/500\n", + "\n", + "Epoch 98: val_accuracy improved from 0.75046 to 0.75229, saving model to best_model.h5\n", + "25/25 - 0s - loss: 0.5662 - accuracy: 0.7120 - val_loss: 0.5615 - val_accuracy: 0.7523 - lr: 4.3605e-04 - 195ms/epoch - 8ms/step\n", + "Epoch 99/500\n", + "\n", + "Epoch 99: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5661 - accuracy: 0.7114 - val_loss: 0.5614 - val_accuracy: 0.7505 - lr: 4.3171e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 100/500\n", + "\n", + "Epoch 100: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5660 - accuracy: 0.7114 - val_loss: 0.5612 - val_accuracy: 0.7486 - lr: 4.2741e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 101/500\n", + "\n", + "Epoch 101: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5658 - accuracy: 0.7120 - val_loss: 0.5610 - val_accuracy: 0.7486 - lr: 4.2316e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 102/500\n", + "\n", + "Epoch 102: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5657 - accuracy: 0.7117 - val_loss: 0.5610 - val_accuracy: 0.7486 - lr: 4.1895e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 103/500\n", + "\n", + "Epoch 103: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5655 - accuracy: 0.7114 - val_loss: 0.5609 - val_accuracy: 0.7468 - lr: 4.1478e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 104/500\n", + "\n", + "Epoch 104: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5654 - accuracy: 0.7130 - val_loss: 0.5609 - val_accuracy: 0.7468 - lr: 4.1065e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 105/500\n", + "\n", + "Epoch 105: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5653 - accuracy: 0.7130 - val_loss: 0.5609 - val_accuracy: 0.7468 - lr: 4.0657e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 106/500\n", + "\n", + "Epoch 106: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5651 - accuracy: 0.7130 - val_loss: 0.5607 - val_accuracy: 0.7468 - lr: 4.0252e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 107/500\n", + "\n", + "Epoch 107: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5649 - accuracy: 0.7127 - val_loss: 0.5606 - val_accuracy: 0.7468 - lr: 3.9852e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 108/500\n", + "\n", + "Epoch 108: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5648 - accuracy: 0.7123 - val_loss: 0.5606 - val_accuracy: 0.7468 - lr: 3.9455e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 109/500\n", + "\n", + "Epoch 109: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5647 - accuracy: 0.7130 - val_loss: 0.5605 - val_accuracy: 0.7468 - lr: 3.9063e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 110/500\n", + "\n", + "Epoch 110: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5645 - accuracy: 0.7133 - val_loss: 0.5603 - val_accuracy: 0.7468 - lr: 3.8674e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 111/500\n", + "\n", + "Epoch 111: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5644 - accuracy: 0.7133 - val_loss: 0.5604 - val_accuracy: 0.7468 - lr: 3.8289e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 112/500\n", + "\n", + "Epoch 112: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5643 - accuracy: 0.7133 - val_loss: 0.5603 - val_accuracy: 0.7468 - lr: 3.7908e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 113/500\n", + "\n", + "Epoch 113: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5642 - accuracy: 0.7133 - val_loss: 0.5600 - val_accuracy: 0.7486 - lr: 3.7531e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 114/500\n", + "\n", + "Epoch 114: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5640 - accuracy: 0.7123 - val_loss: 0.5600 - val_accuracy: 0.7468 - lr: 3.7157e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 115/500\n", + "\n", + "Epoch 115: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5640 - accuracy: 0.7130 - val_loss: 0.5598 - val_accuracy: 0.7505 - lr: 3.6788e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 116/500\n", + "\n", + "Epoch 116: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5639 - accuracy: 0.7127 - val_loss: 0.5597 - val_accuracy: 0.7505 - lr: 3.6422e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 117/500\n", + "\n", + "Epoch 117: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5637 - accuracy: 0.7130 - val_loss: 0.5597 - val_accuracy: 0.7486 - lr: 3.6059e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 118/500\n", + "\n", + "Epoch 118: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5636 - accuracy: 0.7133 - val_loss: 0.5596 - val_accuracy: 0.7468 - lr: 3.5700e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 119/500\n", + "\n", + "Epoch 119: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5635 - accuracy: 0.7133 - val_loss: 0.5594 - val_accuracy: 0.7486 - lr: 3.5345e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 120/500\n", + "\n", + "Epoch 120: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5634 - accuracy: 0.7127 - val_loss: 0.5593 - val_accuracy: 0.7468 - lr: 3.4994e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 121/500\n", + "\n", + "Epoch 121: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5633 - accuracy: 0.7130 - val_loss: 0.5592 - val_accuracy: 0.7468 - lr: 3.4645e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 122/500\n", + "\n", + "Epoch 122: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5632 - accuracy: 0.7136 - val_loss: 0.5591 - val_accuracy: 0.7486 - lr: 3.4301e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 123/500\n", + "\n", + "Epoch 123: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5631 - accuracy: 0.7133 - val_loss: 0.5589 - val_accuracy: 0.7505 - lr: 3.3959e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 124/500\n", + "\n", + "Epoch 124: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5630 - accuracy: 0.7133 - val_loss: 0.5588 - val_accuracy: 0.7505 - lr: 3.3621e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 125/500\n", + "\n", + "Epoch 125: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5629 - accuracy: 0.7130 - val_loss: 0.5586 - val_accuracy: 0.7505 - lr: 3.3287e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 126/500\n", + "\n", + "Epoch 126: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5628 - accuracy: 0.7136 - val_loss: 0.5586 - val_accuracy: 0.7505 - lr: 3.2956e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 127/500\n", + "\n", + "Epoch 127: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5628 - accuracy: 0.7130 - val_loss: 0.5586 - val_accuracy: 0.7468 - lr: 3.2628e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 128/500\n", + "\n", + "Epoch 128: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5627 - accuracy: 0.7143 - val_loss: 0.5586 - val_accuracy: 0.7486 - lr: 3.2303e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 129/500\n", + "\n", + "Epoch 129: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5626 - accuracy: 0.7136 - val_loss: 0.5584 - val_accuracy: 0.7486 - lr: 3.1982e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 130/500\n", + "\n", + "Epoch 130: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5625 - accuracy: 0.7143 - val_loss: 0.5582 - val_accuracy: 0.7505 - lr: 3.1663e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 131/500\n", + "\n", + "Epoch 131: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5625 - accuracy: 0.7133 - val_loss: 0.5581 - val_accuracy: 0.7505 - lr: 3.1348e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 132/500\n", + "\n", + "Epoch 132: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5624 - accuracy: 0.7136 - val_loss: 0.5581 - val_accuracy: 0.7505 - lr: 3.1036e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 133/500\n", + "\n", + "Epoch 133: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5623 - accuracy: 0.7136 - val_loss: 0.5579 - val_accuracy: 0.7505 - lr: 3.0728e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 134/500\n", + "\n", + "Epoch 134: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5622 - accuracy: 0.7133 - val_loss: 0.5578 - val_accuracy: 0.7505 - lr: 3.0422e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 135/500\n", + "\n", + "Epoch 135: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5621 - accuracy: 0.7133 - val_loss: 0.5578 - val_accuracy: 0.7505 - lr: 3.0119e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 136/500\n", + "\n", + "Epoch 136: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5620 - accuracy: 0.7133 - val_loss: 0.5577 - val_accuracy: 0.7505 - lr: 2.9820e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 137/500\n", + "\n", + "Epoch 137: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5620 - accuracy: 0.7136 - val_loss: 0.5574 - val_accuracy: 0.7505 - lr: 2.9523e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 138/500\n", + "\n", + "Epoch 138: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5619 - accuracy: 0.7136 - val_loss: 0.5574 - val_accuracy: 0.7505 - lr: 2.9229e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 139/500\n", + "\n", + "Epoch 139: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5618 - accuracy: 0.7136 - val_loss: 0.5574 - val_accuracy: 0.7505 - lr: 2.8938e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 140/500\n", + "\n", + "Epoch 140: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5617 - accuracy: 0.7136 - val_loss: 0.5573 - val_accuracy: 0.7505 - lr: 2.8650e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 141/500\n", + "\n", + "Epoch 141: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5616 - accuracy: 0.7133 - val_loss: 0.5572 - val_accuracy: 0.7486 - lr: 2.8365e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 142/500\n", + "\n", + "Epoch 142: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5616 - accuracy: 0.7127 - val_loss: 0.5571 - val_accuracy: 0.7486 - lr: 2.8083e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 143/500\n", + "\n", + "Epoch 143: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5615 - accuracy: 0.7127 - val_loss: 0.5570 - val_accuracy: 0.7468 - lr: 2.7804e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 144/500\n", + "\n", + "Epoch 144: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5614 - accuracy: 0.7130 - val_loss: 0.5569 - val_accuracy: 0.7468 - lr: 2.7527e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 145/500\n", + "\n", + "Epoch 145: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5613 - accuracy: 0.7127 - val_loss: 0.5568 - val_accuracy: 0.7468 - lr: 2.7253e-04 - 181ms/epoch - 7ms/step\n", + "Epoch 146/500\n", + "\n", + "Epoch 146: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5613 - accuracy: 0.7123 - val_loss: 0.5567 - val_accuracy: 0.7468 - lr: 2.6982e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 147/500\n", + "\n", + "Epoch 147: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5612 - accuracy: 0.7123 - val_loss: 0.5567 - val_accuracy: 0.7468 - lr: 2.6713e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 148/500\n", + "\n", + "Epoch 148: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5612 - accuracy: 0.7127 - val_loss: 0.5567 - val_accuracy: 0.7468 - lr: 2.6448e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 149/500\n", + "\n", + "Epoch 149: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5611 - accuracy: 0.7130 - val_loss: 0.5564 - val_accuracy: 0.7468 - lr: 2.6184e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 150/500\n", + "\n", + "Epoch 150: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5610 - accuracy: 0.7117 - val_loss: 0.5563 - val_accuracy: 0.7468 - lr: 2.5924e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 151/500\n", + "\n", + "Epoch 151: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5609 - accuracy: 0.7123 - val_loss: 0.5562 - val_accuracy: 0.7468 - lr: 2.5666e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 152/500\n", + "\n", + "Epoch 152: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5609 - accuracy: 0.7136 - val_loss: 0.5562 - val_accuracy: 0.7468 - lr: 2.5411e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 153/500\n", + "\n", + "Epoch 153: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5608 - accuracy: 0.7123 - val_loss: 0.5562 - val_accuracy: 0.7468 - lr: 2.5158e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 154/500\n", + "\n", + "Epoch 154: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5608 - accuracy: 0.7130 - val_loss: 0.5562 - val_accuracy: 0.7468 - lr: 2.4907e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 155/500\n", + "\n", + "Epoch 155: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5607 - accuracy: 0.7123 - val_loss: 0.5561 - val_accuracy: 0.7468 - lr: 2.4660e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 156/500\n", + "\n", + "Epoch 156: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5606 - accuracy: 0.7130 - val_loss: 0.5560 - val_accuracy: 0.7468 - lr: 2.4414e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 157/500\n", + "\n", + "Epoch 157: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5606 - accuracy: 0.7123 - val_loss: 0.5559 - val_accuracy: 0.7468 - lr: 2.4171e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 158/500\n", + "\n", + "Epoch 158: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5605 - accuracy: 0.7127 - val_loss: 0.5558 - val_accuracy: 0.7468 - lr: 2.3931e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 159/500\n", + "\n", + "Epoch 159: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5605 - accuracy: 0.7123 - val_loss: 0.5557 - val_accuracy: 0.7468 - lr: 2.3693e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 160/500\n", + "\n", + "Epoch 160: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5604 - accuracy: 0.7130 - val_loss: 0.5556 - val_accuracy: 0.7468 - lr: 2.3457e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 161/500\n", + "\n", + "Epoch 161: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5603 - accuracy: 0.7123 - val_loss: 0.5556 - val_accuracy: 0.7468 - lr: 2.3223e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 162/500\n", + "\n", + "Epoch 162: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5602 - accuracy: 0.7133 - val_loss: 0.5556 - val_accuracy: 0.7468 - lr: 2.2992e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 163/500\n", + "\n", + "Epoch 163: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5602 - accuracy: 0.7130 - val_loss: 0.5555 - val_accuracy: 0.7468 - lr: 2.2764e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 164/500\n", + "\n", + "Epoch 164: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5601 - accuracy: 0.7123 - val_loss: 0.5553 - val_accuracy: 0.7468 - lr: 2.2537e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 165/500\n", + "\n", + "Epoch 165: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5600 - accuracy: 0.7127 - val_loss: 0.5554 - val_accuracy: 0.7468 - lr: 2.2313e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 166/500\n", + "\n", + "Epoch 166: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5599 - accuracy: 0.7127 - val_loss: 0.5554 - val_accuracy: 0.7468 - lr: 2.2091e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 167/500\n", + "\n", + "Epoch 167: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5599 - accuracy: 0.7130 - val_loss: 0.5554 - val_accuracy: 0.7468 - lr: 2.1871e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 168/500\n", + "\n", + "Epoch 168: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5599 - accuracy: 0.7123 - val_loss: 0.5554 - val_accuracy: 0.7468 - lr: 2.1653e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 169/500\n", + "\n", + "Epoch 169: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5598 - accuracy: 0.7127 - val_loss: 0.5553 - val_accuracy: 0.7468 - lr: 2.1438e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 170/500\n", + "\n", + "Epoch 170: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5597 - accuracy: 0.7130 - val_loss: 0.5552 - val_accuracy: 0.7468 - lr: 2.1225e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 171/500\n", + "\n", + "Epoch 171: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5597 - accuracy: 0.7123 - val_loss: 0.5552 - val_accuracy: 0.7468 - lr: 2.1013e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 172/500\n", + "\n", + "Epoch 172: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5596 - accuracy: 0.7130 - val_loss: 0.5551 - val_accuracy: 0.7468 - lr: 2.0804e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 173/500\n", + "\n", + "Epoch 173: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5595 - accuracy: 0.7136 - val_loss: 0.5550 - val_accuracy: 0.7468 - lr: 2.0597e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 174/500\n", + "\n", + "Epoch 174: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5595 - accuracy: 0.7133 - val_loss: 0.5550 - val_accuracy: 0.7468 - lr: 2.0392e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 175/500\n", + "\n", + "Epoch 175: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5594 - accuracy: 0.7130 - val_loss: 0.5549 - val_accuracy: 0.7468 - lr: 2.0189e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 176/500\n", + "\n", + "Epoch 176: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5594 - accuracy: 0.7127 - val_loss: 0.5547 - val_accuracy: 0.7468 - lr: 1.9989e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 177/500\n", + "\n", + "Epoch 177: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5593 - accuracy: 0.7127 - val_loss: 0.5548 - val_accuracy: 0.7468 - lr: 1.9790e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 178/500\n", + "\n", + "Epoch 178: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5593 - accuracy: 0.7130 - val_loss: 0.5547 - val_accuracy: 0.7468 - lr: 1.9593e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 179/500\n", + "\n", + "Epoch 179: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5592 - accuracy: 0.7133 - val_loss: 0.5546 - val_accuracy: 0.7468 - lr: 1.9398e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 180/500\n", + "\n", + "Epoch 180: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5592 - accuracy: 0.7133 - val_loss: 0.5545 - val_accuracy: 0.7468 - lr: 1.9205e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 181/500\n", + "\n", + "Epoch 181: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5591 - accuracy: 0.7127 - val_loss: 0.5545 - val_accuracy: 0.7468 - lr: 1.9014e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 182/500\n", + "\n", + "Epoch 182: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5591 - accuracy: 0.7127 - val_loss: 0.5544 - val_accuracy: 0.7468 - lr: 1.8825e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 183/500\n", + "\n", + "Epoch 183: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5590 - accuracy: 0.7130 - val_loss: 0.5542 - val_accuracy: 0.7468 - lr: 1.8637e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 184/500\n", + "\n", + "Epoch 184: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5590 - accuracy: 0.7120 - val_loss: 0.5542 - val_accuracy: 0.7468 - lr: 1.8452e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 185/500\n", + "\n", + "Epoch 185: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5589 - accuracy: 0.7123 - val_loss: 0.5542 - val_accuracy: 0.7468 - lr: 1.8268e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 186/500\n", + "\n", + "Epoch 186: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5589 - accuracy: 0.7127 - val_loss: 0.5542 - val_accuracy: 0.7468 - lr: 1.8086e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 187/500\n", + "\n", + "Epoch 187: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5589 - accuracy: 0.7127 - val_loss: 0.5541 - val_accuracy: 0.7468 - lr: 1.7906e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 188/500\n", + "\n", + "Epoch 188: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5588 - accuracy: 0.7127 - val_loss: 0.5540 - val_accuracy: 0.7468 - lr: 1.7728e-04 - 185ms/epoch - 7ms/step\n", + "Epoch 189/500\n", + "\n", + "Epoch 189: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5587 - accuracy: 0.7123 - val_loss: 0.5541 - val_accuracy: 0.7468 - lr: 1.7552e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 190/500\n", + "\n", + "Epoch 190: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5587 - accuracy: 0.7127 - val_loss: 0.5540 - val_accuracy: 0.7468 - lr: 1.7377e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 191/500\n", + "\n", + "Epoch 191: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5586 - accuracy: 0.7127 - val_loss: 0.5539 - val_accuracy: 0.7468 - lr: 1.7204e-04 - 187ms/epoch - 7ms/step\n", + "Epoch 192/500\n", + "\n", + "Epoch 192: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5586 - accuracy: 0.7120 - val_loss: 0.5538 - val_accuracy: 0.7468 - lr: 1.7033e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 193/500\n", + "\n", + "Epoch 193: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5586 - accuracy: 0.7120 - val_loss: 0.5539 - val_accuracy: 0.7468 - lr: 1.6864e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 194/500\n", + "\n", + "Epoch 194: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5585 - accuracy: 0.7123 - val_loss: 0.5537 - val_accuracy: 0.7468 - lr: 1.6696e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 195/500\n", + "\n", + "Epoch 195: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5585 - accuracy: 0.7120 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.6530e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 196/500\n", + "\n", + "Epoch 196: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5584 - accuracy: 0.7123 - val_loss: 0.5537 - val_accuracy: 0.7468 - lr: 1.6365e-04 - 191ms/epoch - 8ms/step\n", + "Epoch 197/500\n", + "\n", + "Epoch 197: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5584 - accuracy: 0.7123 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.6202e-04 - 204ms/epoch - 8ms/step\n", + "Epoch 198/500\n", + "\n", + "Epoch 198: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5583 - accuracy: 0.7127 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.6041e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 199/500\n", + "\n", + "Epoch 199: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5583 - accuracy: 0.7130 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.5882e-04 - 203ms/epoch - 8ms/step\n", + "Epoch 200/500\n", + "\n", + "Epoch 200: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5583 - accuracy: 0.7127 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.5724e-04 - 192ms/epoch - 8ms/step\n", + "Epoch 201/500\n", + "\n", + "Epoch 201: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5582 - accuracy: 0.7130 - val_loss: 0.5536 - val_accuracy: 0.7468 - lr: 1.5567e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 202/500\n", + "\n", + "Epoch 202: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5582 - accuracy: 0.7127 - val_loss: 0.5535 - val_accuracy: 0.7468 - lr: 1.5412e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 203/500\n", + "\n", + "Epoch 203: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5582 - accuracy: 0.7127 - val_loss: 0.5535 - val_accuracy: 0.7468 - lr: 1.5259e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 204/500\n", + "\n", + "Epoch 204: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5581 - accuracy: 0.7127 - val_loss: 0.5535 - val_accuracy: 0.7468 - lr: 1.5107e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 205/500\n", + "\n", + "Epoch 205: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5581 - accuracy: 0.7133 - val_loss: 0.5535 - val_accuracy: 0.7468 - lr: 1.4957e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 206/500\n", + "\n", + "Epoch 206: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5580 - accuracy: 0.7140 - val_loss: 0.5534 - val_accuracy: 0.7468 - lr: 1.4808e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 207/500\n", + "\n", + "Epoch 207: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5580 - accuracy: 0.7127 - val_loss: 0.5534 - val_accuracy: 0.7468 - lr: 1.4661e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 208/500\n", + "\n", + "Epoch 208: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5580 - accuracy: 0.7140 - val_loss: 0.5533 - val_accuracy: 0.7468 - lr: 1.4515e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 209/500\n", + "\n", + "Epoch 209: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5579 - accuracy: 0.7143 - val_loss: 0.5533 - val_accuracy: 0.7468 - lr: 1.4370e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 210/500\n", + "\n", + "Epoch 210: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5579 - accuracy: 0.7143 - val_loss: 0.5533 - val_accuracy: 0.7468 - lr: 1.4227e-04 - 189ms/epoch - 8ms/step\n", + "Epoch 211/500\n", + "\n", + "Epoch 211: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5579 - accuracy: 0.7146 - val_loss: 0.5533 - val_accuracy: 0.7468 - lr: 1.4086e-04 - 228ms/epoch - 9ms/step\n", + "Epoch 212/500\n", + "\n", + "Epoch 212: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5578 - accuracy: 0.7140 - val_loss: 0.5533 - val_accuracy: 0.7468 - lr: 1.3946e-04 - 184ms/epoch - 7ms/step\n", + "Epoch 213/500\n", + "\n", + "Epoch 213: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5578 - accuracy: 0.7143 - val_loss: 0.5532 - val_accuracy: 0.7468 - lr: 1.3807e-04 - 193ms/epoch - 8ms/step\n", + "Epoch 214/500\n", + "\n", + "Epoch 214: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5578 - accuracy: 0.7143 - val_loss: 0.5532 - val_accuracy: 0.7486 - lr: 1.3669e-04 - 186ms/epoch - 7ms/step\n", + "Epoch 215/500\n", + "\n", + "Epoch 215: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5577 - accuracy: 0.7140 - val_loss: 0.5532 - val_accuracy: 0.7486 - lr: 1.3533e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 216/500\n", + "\n", + "Epoch 216: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5577 - accuracy: 0.7143 - val_loss: 0.5532 - val_accuracy: 0.7486 - lr: 1.3399e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 217/500\n", + "\n", + "Epoch 217: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5577 - accuracy: 0.7153 - val_loss: 0.5531 - val_accuracy: 0.7486 - lr: 1.3265e-04 - 181ms/epoch - 7ms/step\n", + "Epoch 218/500\n", + "\n", + "Epoch 218: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5577 - accuracy: 0.7143 - val_loss: 0.5531 - val_accuracy: 0.7486 - lr: 1.3133e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 219/500\n", + "\n", + "Epoch 219: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5576 - accuracy: 0.7156 - val_loss: 0.5531 - val_accuracy: 0.7486 - lr: 1.3003e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 220/500\n", + "\n", + "Epoch 220: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5576 - accuracy: 0.7156 - val_loss: 0.5531 - val_accuracy: 0.7486 - lr: 1.2873e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 221/500\n", + "\n", + "Epoch 221: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5575 - accuracy: 0.7156 - val_loss: 0.5530 - val_accuracy: 0.7486 - lr: 1.2745e-04 - 177ms/epoch - 7ms/step\n", + "Epoch 222/500\n", + "\n", + "Epoch 222: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5575 - accuracy: 0.7153 - val_loss: 0.5530 - val_accuracy: 0.7486 - lr: 1.2618e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 223/500\n", + "\n", + "Epoch 223: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5575 - accuracy: 0.7156 - val_loss: 0.5530 - val_accuracy: 0.7486 - lr: 1.2493e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 224/500\n", + "\n", + "Epoch 224: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5575 - accuracy: 0.7156 - val_loss: 0.5529 - val_accuracy: 0.7486 - lr: 1.2369e-04 - 183ms/epoch - 7ms/step\n", + "Epoch 225/500\n", + "\n", + "Epoch 225: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5574 - accuracy: 0.7153 - val_loss: 0.5529 - val_accuracy: 0.7486 - lr: 1.2245e-04 - 191ms/epoch - 8ms/step\n", + "Epoch 226/500\n", + "\n", + "Epoch 226: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5574 - accuracy: 0.7149 - val_loss: 0.5528 - val_accuracy: 0.7468 - lr: 1.2124e-04 - 182ms/epoch - 7ms/step\n", + "Epoch 227/500\n", + "\n", + "Epoch 227: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5573 - accuracy: 0.7156 - val_loss: 0.5528 - val_accuracy: 0.7486 - lr: 1.2003e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 228/500\n", + "\n", + "Epoch 228: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5573 - accuracy: 0.7153 - val_loss: 0.5528 - val_accuracy: 0.7486 - lr: 1.1884e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 229/500\n", + "\n", + "Epoch 229: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5573 - accuracy: 0.7153 - val_loss: 0.5528 - val_accuracy: 0.7486 - lr: 1.1765e-04 - 204ms/epoch - 8ms/step\n", + "Epoch 230/500\n", + "\n", + "Epoch 230: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5573 - accuracy: 0.7156 - val_loss: 0.5527 - val_accuracy: 0.7486 - lr: 1.1648e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 231/500\n", + "\n", + "Epoch 231: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5572 - accuracy: 0.7153 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.1532e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 232/500\n", + "\n", + "Epoch 232: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5572 - accuracy: 0.7153 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.1418e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 233/500\n", + "\n", + "Epoch 233: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5572 - accuracy: 0.7153 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.1304e-04 - 176ms/epoch - 7ms/step\n", + "Epoch 234/500\n", + "\n", + "Epoch 234: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5571 - accuracy: 0.7156 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.1192e-04 - 175ms/epoch - 7ms/step\n", + "Epoch 235/500\n", + "\n", + "Epoch 235: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5571 - accuracy: 0.7153 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.1080e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 236/500\n", + "\n", + "Epoch 236: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5571 - accuracy: 0.7153 - val_loss: 0.5526 - val_accuracy: 0.7486 - lr: 1.0970e-04 - 174ms/epoch - 7ms/step\n", + "Epoch 237/500\n", + "\n", + "Epoch 237: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5571 - accuracy: 0.7149 - val_loss: 0.5525 - val_accuracy: 0.7486 - lr: 1.0861e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 238/500\n", + "\n", + "Epoch 238: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5570 - accuracy: 0.7153 - val_loss: 0.5525 - val_accuracy: 0.7486 - lr: 1.0753e-04 - 171ms/epoch - 7ms/step\n", + "Epoch 239/500\n", + "\n", + "Epoch 239: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5570 - accuracy: 0.7149 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0646e-04 - 180ms/epoch - 7ms/step\n", + "Epoch 240/500\n", + "\n", + "Epoch 240: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5570 - accuracy: 0.7159 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0540e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 241/500\n", + "\n", + "Epoch 241: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5570 - accuracy: 0.7153 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0435e-04 - 178ms/epoch - 7ms/step\n", + "Epoch 242/500\n", + "\n", + "Epoch 242: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5570 - accuracy: 0.7159 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0331e-04 - 172ms/epoch - 7ms/step\n", + "Epoch 243/500\n", + "\n", + "Epoch 243: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5569 - accuracy: 0.7153 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0228e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 244/500\n", + "\n", + "Epoch 244: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5569 - accuracy: 0.7153 - val_loss: 0.5524 - val_accuracy: 0.7486 - lr: 1.0127e-04 - 173ms/epoch - 7ms/step\n", + "Epoch 245/500\n", + "\n", + "Epoch 245: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5569 - accuracy: 0.7153 - val_loss: 0.5523 - val_accuracy: 0.7486 - lr: 1.0026e-04 - 179ms/epoch - 7ms/step\n", + "Epoch 246/500\n", + "\n", + "Epoch 246: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5569 - accuracy: 0.7159 - val_loss: 0.5523 - val_accuracy: 0.7486 - lr: 9.9260e-05 - 179ms/epoch - 7ms/step\n", + "Epoch 247/500\n", + "\n", + "Epoch 247: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5568 - accuracy: 0.7156 - val_loss: 0.5523 - val_accuracy: 0.7486 - lr: 9.8272e-05 - 175ms/epoch - 7ms/step\n", + "Epoch 248/500\n", + "\n", + "Epoch 248: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5568 - accuracy: 0.7153 - val_loss: 0.5522 - val_accuracy: 0.7486 - lr: 9.7294e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 249/500\n", + "\n", + "Epoch 249: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5568 - accuracy: 0.7149 - val_loss: 0.5522 - val_accuracy: 0.7486 - lr: 9.6326e-05 - 175ms/epoch - 7ms/step\n", + "Epoch 250/500\n", + "\n", + "Epoch 250: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5567 - accuracy: 0.7159 - val_loss: 0.5522 - val_accuracy: 0.7486 - lr: 9.5368e-05 - 178ms/epoch - 7ms/step\n", + "Epoch 251/500\n", + "\n", + "Epoch 251: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5567 - accuracy: 0.7159 - val_loss: 0.5522 - val_accuracy: 0.7468 - lr: 9.4419e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 252/500\n", + "\n", + "Epoch 252: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5567 - accuracy: 0.7156 - val_loss: 0.5522 - val_accuracy: 0.7468 - lr: 9.3479e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 253/500\n", + "\n", + "Epoch 253: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5567 - accuracy: 0.7159 - val_loss: 0.5521 - val_accuracy: 0.7486 - lr: 9.2549e-05 - 181ms/epoch - 7ms/step\n", + "Epoch 254/500\n", + "\n", + "Epoch 254: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5567 - accuracy: 0.7162 - val_loss: 0.5521 - val_accuracy: 0.7486 - lr: 9.1628e-05 - 179ms/epoch - 7ms/step\n", + "Epoch 255/500\n", + "\n", + "Epoch 255: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5566 - accuracy: 0.7159 - val_loss: 0.5521 - val_accuracy: 0.7468 - lr: 9.0717e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 256/500\n", + "\n", + "Epoch 256: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5566 - accuracy: 0.7153 - val_loss: 0.5520 - val_accuracy: 0.7468 - lr: 8.9814e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 257/500\n", + "\n", + "Epoch 257: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5566 - accuracy: 0.7153 - val_loss: 0.5520 - val_accuracy: 0.7468 - lr: 8.8920e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 258/500\n", + "\n", + "Epoch 258: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5566 - accuracy: 0.7149 - val_loss: 0.5520 - val_accuracy: 0.7468 - lr: 8.8036e-05 - 177ms/epoch - 7ms/step\n", + "Epoch 259/500\n", + "\n", + "Epoch 259: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5566 - accuracy: 0.7159 - val_loss: 0.5520 - val_accuracy: 0.7486 - lr: 8.7160e-05 - 171ms/epoch - 7ms/step\n", + "Epoch 260/500\n", + "\n", + "Epoch 260: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5565 - accuracy: 0.7159 - val_loss: 0.5520 - val_accuracy: 0.7486 - lr: 8.6292e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 261/500\n", + "\n", + "Epoch 261: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5565 - accuracy: 0.7156 - val_loss: 0.5520 - val_accuracy: 0.7486 - lr: 8.5434e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 262/500\n", + "\n", + "Epoch 262: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5565 - accuracy: 0.7159 - val_loss: 0.5520 - val_accuracy: 0.7486 - lr: 8.4584e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 263/500\n", + "\n", + "Epoch 263: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5565 - accuracy: 0.7153 - val_loss: 0.5520 - val_accuracy: 0.7486 - lr: 8.3742e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 264/500\n", + "\n", + "Epoch 264: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5565 - accuracy: 0.7149 - val_loss: 0.5519 - val_accuracy: 0.7486 - lr: 8.2909e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 265/500\n", + "\n", + "Epoch 265: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7162 - val_loss: 0.5519 - val_accuracy: 0.7486 - lr: 8.2084e-05 - 183ms/epoch - 7ms/step\n", + "Epoch 266/500\n", + "\n", + "Epoch 266: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7159 - val_loss: 0.5519 - val_accuracy: 0.7486 - lr: 8.1267e-05 - 179ms/epoch - 7ms/step\n", + "Epoch 267/500\n", + "\n", + "Epoch 267: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7156 - val_loss: 0.5519 - val_accuracy: 0.7486 - lr: 8.0458e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 268/500\n", + "\n", + "Epoch 268: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7156 - val_loss: 0.5519 - val_accuracy: 0.7486 - lr: 7.9658e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 269/500\n", + "\n", + "Epoch 269: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7143 - val_loss: 0.5518 - val_accuracy: 0.7486 - lr: 7.8865e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 270/500\n", + "\n", + "Epoch 270: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5564 - accuracy: 0.7149 - val_loss: 0.5518 - val_accuracy: 0.7486 - lr: 7.8081e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 271/500\n", + "\n", + "Epoch 271: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5563 - accuracy: 0.7153 - val_loss: 0.5518 - val_accuracy: 0.7486 - lr: 7.7304e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 272/500\n", + "\n", + "Epoch 272: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5563 - accuracy: 0.7149 - val_loss: 0.5518 - val_accuracy: 0.7486 - lr: 7.6534e-05 - 177ms/epoch - 7ms/step\n", + "Epoch 273/500\n", + "\n", + "Epoch 273: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5563 - accuracy: 0.7156 - val_loss: 0.5518 - val_accuracy: 0.7486 - lr: 7.5773e-05 - 201ms/epoch - 8ms/step\n", + "Epoch 274/500\n", + "\n", + "Epoch 274: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5563 - accuracy: 0.7149 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.5019e-05 - 175ms/epoch - 7ms/step\n", + "Epoch 275/500\n", + "\n", + "Epoch 275: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5563 - accuracy: 0.7149 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.4272e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 276/500\n", + "\n", + "Epoch 276: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7156 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.3533e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 277/500\n", + "\n", + "Epoch 277: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7149 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.2802e-05 - 181ms/epoch - 7ms/step\n", + "Epoch 278/500\n", + "\n", + "Epoch 278: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7156 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.2077e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 279/500\n", + "\n", + "Epoch 279: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7153 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.1360e-05 - 176ms/epoch - 7ms/step\n", + "Epoch 280/500\n", + "\n", + "Epoch 280: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7153 - val_loss: 0.5517 - val_accuracy: 0.7486 - lr: 7.0650e-05 - 179ms/epoch - 7ms/step\n", + "Epoch 281/500\n", + "\n", + "Epoch 281: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7149 - val_loss: 0.5516 - val_accuracy: 0.7486 - lr: 6.9947e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 282/500\n", + "\n", + "Epoch 282: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5562 - accuracy: 0.7149 - val_loss: 0.5515 - val_accuracy: 0.7486 - lr: 6.9251e-05 - 179ms/epoch - 7ms/step\n", + "Epoch 283/500\n", + "\n", + "Epoch 283: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7149 - val_loss: 0.5515 - val_accuracy: 0.7486 - lr: 6.8562e-05 - 177ms/epoch - 7ms/step\n", + "Epoch 284/500\n", + "\n", + "Epoch 284: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7146 - val_loss: 0.5515 - val_accuracy: 0.7486 - lr: 6.7880e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 285/500\n", + "\n", + "Epoch 285: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7149 - val_loss: 0.5515 - val_accuracy: 0.7486 - lr: 6.7204e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 286/500\n", + "\n", + "Epoch 286: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7153 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.6536e-05 - 170ms/epoch - 7ms/step\n", + "Epoch 287/500\n", + "\n", + "Epoch 287: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.5874e-05 - 170ms/epoch - 7ms/step\n", + "Epoch 288/500\n", + "\n", + "Epoch 288: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.5218e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 289/500\n", + "\n", + "Epoch 289: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5561 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.4569e-05 - 172ms/epoch - 7ms/step\n", + "Epoch 290/500\n", + "\n", + "Epoch 290: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.3927e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 291/500\n", + "\n", + "Epoch 291: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.3291e-05 - 170ms/epoch - 7ms/step\n", + "Epoch 292/500\n", + "\n", + "Epoch 292: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7153 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.2661e-05 - 169ms/epoch - 7ms/step\n", + "Epoch 293/500\n", + "\n", + "Epoch 293: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7153 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.2038e-05 - 168ms/epoch - 7ms/step\n", + "Epoch 294/500\n", + "\n", + "Epoch 294: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7149 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.1420e-05 - 171ms/epoch - 7ms/step\n", + "Epoch 295/500\n", + "\n", + "Epoch 295: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7153 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.0809e-05 - 174ms/epoch - 7ms/step\n", + "Epoch 296/500\n", + "\n", + "Epoch 296: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5560 - accuracy: 0.7153 - val_loss: 0.5514 - val_accuracy: 0.7486 - lr: 6.0204e-05 - 173ms/epoch - 7ms/step\n", + "Epoch 297/500\n", + "\n", + "Epoch 297: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5559 - accuracy: 0.7153 - val_loss: 0.5513 - val_accuracy: 0.7486 - lr: 5.9605e-05 - 170ms/epoch - 7ms/step\n", + "Epoch 298/500\n", + "\n", + "Epoch 298: val_accuracy did not improve from 0.75229\n", + "25/25 - 0s - loss: 0.5559 - accuracy: 0.7156 - val_loss: 0.5513 - val_accuracy: 0.7486 - lr: 5.9012e-05 - 168ms/epoch - 7ms/step\n" + ] + } + ], + "source": [ + "BATCH_SIZE = 128 #24 #4\n", + "history = model.fit(x, y, callbacks=[callback_mc, callback_es, callback_lr], batch_size=BATCH_SIZE, epochs=500, validation_split=0.15, verbose=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABaEAAAFqCAYAAAADXpY3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAD5RElEQVR4nOzdd1hU19YG8HcYeu9dKYoIdkEQUMCGLWqsmChqjKAxMRrUGKPGGI2aaBTFFqIG21UTa6Imigas2GvsDRUBAZXemfP9QZjPcagKDML7e555bjizZ5+1B657zjp71hYJgiCAiIiIiIiIiIiIiKgaKCk6ACIiIiIiIiIiIiKqu5iEJiIiIiIiIiIiIqJqwyQ0EREREREREREREVUbJqGJiIiIiIiIiIiIqNowCU1ERERERERERERE1YZJaCIiIiIiIiIiIiKqNkxCExEREREREREREVG1YRKaiIiIiIiIiIiIiKoNk9BEREREREREREREVG2YhCYiIiIiIiIiIiKiasMkNBERERERERERERFVGyahiYiIiIiIiIiIiKjaMAlNRERERERERERERNWGSWgiIiIiIiIiIiIiqjZMQhMRERERERERERFRtWESmoiIiIiIiIiIiIiqDZPQRERERERERERERFRtmIQmIiIiIiIiIiIiomrDJDQRERERERERERERVRsmoYmIiIiIiIiIiIio2jAJTURERERERERERETVhkloIiIiIiIiIiIiIqo2TEITERERERERERERUbVhEpqIiIiIiIiIiIiIqg2T0ERERERERERERERUbZiEJiIiIiIiIiIiIqJqwyQ0EREREREREREREVUbJqGp1ouKioJIJEJUVJSiQyEiIqIawvmfiIiIarPw8HCIRCLExMQoOhSidwKT0PTGRCJRhR7h4eGKDrVMc+bMgUgkQpcuXRQdSp2xZcsWtGzZEurq6rCxscHs2bORn59f7uuKEw6lPQIDA2Xaz58/H++//z4sLS0hEokwbty4Evst/nBQ0uPevXsybUeNGlViO2tra7l+s7OzMX/+fDg7O0NTUxOWlpbo168fzp8/L9e2orG+bt68eRCJRGjatGmJz2/btg3u7u7Q19eHoaEhPD098dtvv1WobyKiN/Euz//ffvstRCIREhISFB3KG3v27BkCAgJgZGQEbW1tdO7cGRcuXKjQa6trPrS1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ec9uzu8NzfU9nvfs6jXX6/kw3rOpofCezXt2c35vaK7v8bxnV6+5Xs8HNfr9+nFnTqS6W7t2rSCTyYQlS5YIp06dEt577z3ByMhIyMjI0HRoT2TixIlCUlKScPHiRWH//v3CoEGDBBMTE1U+X375pWBiYiJs2LBBOHHihBAWFibY29sLd+7c0XDktSsoKBDS0tKEtLQ0wcDAQJgxY4aQlpYmXL58WRCEuuU1duxYwcHBQUhMTBSOHj0qhISECJ06dRIqKio0lZaa2nIsKCgQJk6cKOzbt0+4dOmSsGvXLuGZZ54RWrZs2axyjIqKEkxMTIQdO3YI2dnZqldBQYGqjTZcy0flqS3X84MPPhD27NkjXLp0SUhPTxc+/PBDQSQSCVu3bhUEQTuuJTUtvGfznt1U3ht4z66kDdeS92zes6lh8J7Ne3ZTeW/gPbuSNlxLXbhnN4X7NYvQDWzBggWCk5OTIJfLhS5dugi7d+/WdEhP7P4/QJlMJjg4OAhDhw4VTp48qdquVCqF6dOnC3Z2doKenp4QHBwsnDhxQoMR182uXbsEAFVeERERgiDULa/i4mLhnXfeESwsLAQDAwPhueeeE65cuaKBbKpXW45FRUVCaGioYG1tLchkMqF169ZCRERElfibeo7V5QdAmD59uqqNNlzLR+WpLdczIiJCaN26tSCXywVra2uhT58+wrZt21TbteFaUtPDezbv2U0B79mVtOFa8p5dSRuuJTU9vGfznt0U8J5dSRuupS7cs5vC/VokCIJQtz7TRERERERERERERESPh2NCExEREREREREREVGDYRGaiIiIiIiIiIiIiBoMi9BERERERERERERE1GBYhCYiIiIiIiIiIiKiBsMiNBERERERERERERE1GBahiYiIiIiIiIiIiKjBsAhNRERERKQDMjIyIBKJcPjwYU2HQkRERLXgPZu0EYvQRERERERERERERNRgWIQmIiIiIiIiIiIiogbDIjQRERERUSMQBAFfffUV2rRpAwMDA3To0AHff/89gH8fu/3hhx/QvXt36Ovro127dvjzzz/VjrFnzx74+/tDX18ftra2GD9+PMrKytTO8c0338DNzQ16enpwdHTElClT1I5x+fJl9OvXD4aGhvDy8kJiYmLDJ09ERNSM8J5NVP9YhCYiIiIiagQfffQRli1bhgULFuDUqVOYMmUKxowZgy1btqjavP/++3jvvfdw7Ngx9OvXDy+88AKuXr0KALh69SoGDBgAHx8fpKWlYdmyZVizZo3aB9apU6fis88+w5QpU3Dy5EmsX78erVq1Uotj2rRpeO+993D8+HF07doVL730EgoLCxvnh0BERNQM8J5NVP9EgiAImg6CiIiIiEib3b17F1ZWVvjzzz/Ro0cP1fpx48bh77//xsKFC+Hi4oKZM2di2rRpAAClUol27drhP//5j2r9unXr8Pfff0MsruxLkpCQgDFjxuDmzZtQKpWwsrJCbGwsxo4dWyWGjIwMuLi4ID4+HmPGjAFQ+SHZ0dERycnJ6N69eyP8JIiIiJo23rOJGoZU0wEQEREREWm7U6dOoaSkBM8++yxEIpFqfXl5OZydnVXLAQEBqr+LxWL4+/vj1KlTAIDTp08jICBA9WEWALp3746ysjKcP38eJSUlKC0tRZ8+fWqNpWPHjqq/Ozg4AAByc3OfKj8iIiJtwXs2UcNgEZqIiIiIqIEplUoAwK+//orWrVurbZPJZKjLw4mCIKh9GH6QSCSq0zHun+/B/R6Mj4iISNfxnk3UMDgmNBERERFRA/Py8oKenh4uX76Mtm3bqr2cnJxU7fbv36/6uyAIOHjwIDw9PVXHSE1NVfvwmZKSArlcjjZt2qjOsWPHjsZLjIiISMvwnk3UMNgTmoiIiIiogZmYmGDSpEmYNGkSBEFAcHAwCgsLsX//fojFYoSGhgIAFi1aBHd3d3To0AELFy7E5cuX8dZbbwEAoqKiEBsbi6ioKERHR+PixYv48MMP8c4778DQ0BAAEB0djSlTpkBPTw/BwcHIz8/HkSNHVMcgIiKi2vGeTdQwWIQmIiIiImoEn332GWxtbRETE4O33noLpqam6Ny5M95//31Vmy+//BJz5szB0aNH4eTkhE2bNsHR0REA0LJlS/z++++YPHkyOnfujBYtWuCVV17BF198odp/1qxZMDc3x2effYbMzEzY2tritddea/RciYiImjPes4nqn0io60A0RERERETUIDIyMuDi4oJDhw7Bz89P0+EQERFRDXjPJnoyHBOaiIiIiIiIiIiIiBoMi9BERERERERERERE1GA4HAcRERERERERERERNRj2hCYiIiIiIiIiIiKiBsMiNBERERERERERERE1GBahiYiIiIiIiIiIiKjBsAhNRERERERERERERA2GRWgiIiIiIiIiIiIiajAsQhMRERERERERERFRg/l/49VFlq4bXf8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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sLAQGzZswL1797BhwwaFNlauXIl+/frBy8sLAQEByM7OxooVK9CiRQuF819Xr16N//73v+jcubPKM3aHDx8OExMTAICXlxc6duwId3d3WFlZyZ+bnp6ucCZeRWLdvXs3/vvf/2LQoEFwcnLCkydPEBUVhatXr2LevHlqn3dHRFRRmnyHl8jKysKiRYuUyu3s7DBx4kR8/fXXmDt3Lvr27Yt33nkHDx48QEhICBwdHREUFAQAasW3adMmfP/99xg+fDiaN2+O3NxcbNy4Ebq6ugrvmrlz52LTpk24e/duuee8Ll68GB4eHujZsyc+/vhjPHv2DMuXL4erqyumTJmiUNfV1RW9evWSn/2ZmpqKHj164J133kHLli0hEolw5MgR/Pbbb+jVqxfee+89+b0VfU9ERkbi/v378u8vXbok/xn7+fnJpwmPHTsWsbGxeP/99/HgwQOF95+pqanClN3p06cjNzcXnTp1AgDs2LEDx44dw9KlS+Wzl4Di373atWuHJUuWICkpCT179kRKSgrWrFkDfX19zJ49W173/v37GDlyJIYMGQJ7e3v89ddfCAsLg42NDdauXavQp4rESlpI01ky1X2vfgpbYu/evYKPj4/QoEEDwcjISGjRooUwfvx44dy5c4IgCEJmZqbwr3/9S3B1dRVMTU2FBg0aCG5ubsL69esV2klNTRUGDx4sNGzYUAAgODg4qIwjPT1dEIvFwrvvvltqrDKZTGjcuLHQpUsXedn169eFESNGCBYWFoKhoaHg4uIifPrppwr3PXjwQBg/frxgY2Mj6OvrC46OjkJAQIDC5gpXrlwRvLy8BH19fUEikQhffPGFfJROnZFUQSj+tLB///5Cw4YNBQsLC+G9996Tf6r76nEA6sRUokuXLgIA4ebNmwrlFTmCRhCKN2/44osvhCZNmgj6+vpCu3bthMjISKV6JRtJ/bPfJUq20793755azyxR2s9NKpUKYWFhQpcuXQQzMzPByMhI8PDwKHUH4+joaKF79+6CoaGhYGFhIYwdO1ZpJLnkuIHSvv55DMF//vMfoUePHoKlpaUgFosFGxsbYejQoSqPB1I31osXLwpDhgyR/5xNTU2FHj16CFu2bKnQz4yIqDza8g4v8c+NeF796tixo7zeDz/8ILRr107Q19cXLC0tBT8/PyE5OVl+XZ34Ll26JLz//vuCg4OD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dHQz1arh6XQ6/PTTT2jTpg3CwsIQEBBgE7NOp8OxY8ccOubaxNWnTx8oFAqbMlevXkV6erpDx56fn4+cnBy0adMGgGPFOWPGDGzfvh2HDx9G586dbc45U5tWF2dlHLlN72WxWKDX652qLal+2O/+ft7R+13AuT6n68pRP6dbSr8LsO9tkvas3x5PVJ2dO3cKhUIhNmzYINLS0sT06dOFq6uryMzMbO6qPbBZs2aJ5ORkkZGRIU6ePCmeeuop4e7ubo1p6dKlwt3dXezZs0dcvHhRjBkzRrRp00bcuXOnmWtevaKiIpGamipSU1OFRqMR7777rkhNTRVZWVlCiNrFNXnyZBEYGCgOHjwozp49K4YMGSIeeughYTKZmiusCqqLs6ioSMyaNUucOHFCXLlyRRw5ckQMGDBABAUFOVycU6ZMEe7u7uLQoUPi2rVr1kdRUZG1jDO0aU1xOkub/vnPfxZHjx4VV65cERcuXBBvv/22kEgkYv/+/UII52hLahjsdx2n3xWCfa8z9b0tpd8Vgn1vU/W9TFIbWUJCgggJCRFKpVL07t1bfPPNN81dpXop/wNUKBQiMDBQjBo1Svz444/W8xaLRcyfP18EBAQIlUolYmJixMWLF5uxxrVz5MgRAaDCIz4+XghRu7hKS0vF1KlThbe3t9BoNOLpp58W2dnZzRBN1aqLs6SkRMTGxgpfX1+hUChEu3btRHx8fIUYHCHOymIEIObPn28t4wxtWlOcztKm8fHxol27dkKpVApfX18xdOhQm+3rnaEtqeGw33WMflcI9r3O1Pe2lH5XCPa95Rq7PSVCCFGr8V0iIiIiIiKiRsY1qURERERERGQ3mKQSERERERGR3WCSSkRERERERHaDSSoRERERERHZDSapREREREREZDeYpBIREREREZHdYJJKRERERORgMjMzIZFIcObMmeauClGDY5JKREREREREdoNJKhEREREREdkNJqlERERERHUkhMDy5cvRoUMHaDQa9OjRA9u2bQPw+1Tc7du3Y/DgwVCr1ejcuTO++uorm2scPXoU/fv3h1qthr+/P9544w0YDAab91ixYgUiIiKgUqkQHByMuXPn2lwjKysLTzzxBFxcXNC1a1ccPHiw8YMnamRMUomIiIiI6ugvf/kLNm3ahISEBKSlpWHu3LmYNGkSvvjiC2uZt956C9OnT8e5c+fwxBNP4JlnnkFOTg4AICcnB8OHD0evXr2QmpqKTZs2YceOHTZJ6Lx587Bw4ULMnTsXP/74I3bv3o22bdva1OOdd97B9OnTcf78efTt2xdxcXHQarVN849A1EgkQgjR3JUgIiIiInIUxcXF8PHxwVdffYWHH37YenzmzJm4dOkS1q5di7CwMCxatAjvvPMOAMBisaBz584YPXq09fiuXbtw6dIlSKVl40ZJSUmYNGkSbt++DYvFAh8fH6xevRqTJ0+uUIfMzEyEhYVh/fr1mDRpEoCyxDc4OBjHjh3D4MGDm+BfgqhxyJu7AkREREREjiQtLQ06nQ7Dhg2DRCKxHjcajQgNDbU+HzhwoPV3qVSK/v37Iy0tDQCQnp6OgQMHWhNUABg8eDAMBgN++eUX6HQ66PV6DB06tNq69OzZ0/p7YGAgAODGjRv1io+ouTFJJSIiIiKqA4vFAgDYt28f2rVrZ3NOoVCgNhMVhRA2Ce69JBJJra5R/n73vu7e+hE5Kq5JJSIiIiKqg65du0KlUiErKwvh4eE2j5CQEGu5kydPWn8XQuDUqVPo0qWL9RrfffedTUJ5/PhxKJVKdOjQwfoehw4darrAiOwER1KJiIiIiOrA3d0ds2fPxuzZsyGEQExMDLRaLU6ePAmpVIrY2FgAwLp169CxY0f06NEDa9euRVZWFl5//XUAwJQpU7B69WpMmTIFM2bMQEZGBt5++21MnToVLi4uAIAZM2Zg7ty5UKlUiImJQUFBAVJSUqzXIHJWTFKJiIiIiOpo4cKF8Pf3x/vvv4/XX38dHh4eiIyMxFtvvWUts3TpUqxcuRJnz55FSEgI9u7di+DgYABAUFAQDhw4gDlz5iAyMhKtWrXC2LFjsXjxYuvrlyxZAi8vLyxcuBBXr16Fv78/xo0b1+SxEjU17u5LRERERNSAynfePX36NKKiopq7OkQOh2tSiYiIiIiIyG4wSSUiIiIiIiK7wem+REREREREZDc4kkpERERERER2g0kqERERERER2Q0mqURERERERGQ3mKQSERERERGR3WCSSkRERERERHaDSSoRERERERHZjf8P9N1dug66djIAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "acc = history.history['accuracy']\n", + "loss = history.history['loss']\n", + "\n", + "plt.figure(figsize=(21,6))\n", + "plt.rcParams['figure.figsize'] = [8,8]\n", + "plt.rcParams['font.size'] = 14\n", + "plt.rcParams['axes.grid'] = True\n", + "plt.rcParams['figure.facecolor'] = 'white'\n", + "\n", + "plt.subplot(1, 3, 1)\n", + "plt.plot(acc, label='Training Accuracy')\n", + "plt.legend(loc='lower right')\n", + "plt.ylabel('Accuracy')\n", + "plt.title(f'\\nTrain Accuracy: {round(acc[-1],8)}')\n", + "\n", + "plt.subplot(1, 3, 2)\n", + "plt.plot(loss, label='Training Loss')\n", + "plt.legend(loc='upper right')\n", + "plt.ylabel('Cross Entropy')\n", + "plt.title(f'\\nTrain Loss: {round(loss[-1],8)}')\n", + "plt.xlabel('epoch')\n", + "\n", + "plt.subplot(1, 3, 3)\n", + "plt.plot(lr_list, label='Learning Rate')\n", + "plt.legend(loc='upper right')\n", + "plt.ylabel('LR')\n", + "plt.title(f'\\nLearning Rate')\n", + "plt.xlabel('epoch')\n", + "\n", + "plt.tight_layout(pad=3.0)\n", + "plt.show()\n", + "\n", + "acc = history.history['val_accuracy']\n", + "loss = history.history['val_loss']\n", + "\n", + "plt.figure(figsize=(14,6))\n", + "plt.rcParams['figure.figsize'] = [8,8]\n", + "plt.rcParams['font.size'] = 14\n", + "plt.rcParams['axes.grid'] = True\n", + "plt.rcParams['figure.facecolor'] = 'white'\n", + "plt.subplot(1, 2, 1)\n", + "plt.plot(acc, label='Val Accuracy')\n", + "plt.legend(loc='lower right')\n", + "plt.ylabel('Accuracy')\n", + "plt.title(f'\\nTest Accuracy: {round(acc[-1],8)}')\n", + "\n", + "plt.subplot(1, 2, 2)\n", + "plt.plot(loss, label='Val Loss')\n", + "plt.legend(loc='upper right')\n", + "plt.ylabel('Cross Entropy')\n", + "plt.title(f'\\nTest Loss: {round(loss[-1],8)}')\n", + "plt.xlabel('epoch')\n", + "plt.tight_layout(pad=3.0)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Try Realtime Inference" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [], + "source": [ + "metrics = {\n", + " \"TP\": 0, \"FP\": 0, \"TN\": 0, \"FN\": 0\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-02-07 21:41:16.408838: I tensorflow/core/grappler/optimizers/custom_graph_optimizer_registry.cc:113] Plugin optimizer for device_type GPU is enabled.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "13-12-2022 Nifty Prediction -> Market may Close BEARISH on 14-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.57\n", + "14-12-2022 Nifty Prediction -> Market may Close BULLISH on 15-12-2022! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.4\n", + "15-12-2022 Nifty Prediction -> Market may Close BEARISH on 16-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.86\n", + "16-12-2022 Nifty Prediction -> Market may Close BEARISH on 17-12-2022! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.67\n", + "19-12-2022 Nifty Prediction -> Market may Close BULLISH on 20-12-2022! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.35\n", + "20-12-2022 Nifty Prediction -> Market may Close BEARISH on 21-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.59\n", + "21-12-2022 Nifty Prediction -> Market may Close BEARISH on 22-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.8\n", + "22-12-2022 Nifty Prediction -> Market may Close BEARISH on 23-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.65\n", + "23-12-2022 Nifty Prediction -> Market may Close BEARISH on 24-12-2022! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.86\n", + "26-12-2022 Nifty Prediction -> Market may Close BULLISH on 27-12-2022! Actual -> BULLISH, Prediction -> Correct, Pred = 0.28\n", + "27-12-2022 Nifty Prediction -> Market may Close BULLISH on 28-12-2022! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.27\n", + "28-12-2022 Nifty Prediction -> Market may Close BEARISH on 29-12-2022! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.56\n", + "29-12-2022 Nifty Prediction -> Market may Close BULLISH on 30-12-2022! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.43\n", + "30-12-2022 Nifty Prediction -> Market may Close BEARISH on 31-12-2022! Actual -> BEARISH, Prediction -> Correct, Pred = 0.62\n", + "02-01-2023 Nifty Prediction -> Market may Close BULLISH on 03-01-2023! Actual -> BULLISH, Prediction -> Correct, Pred = 0.36\n", + "03-01-2023 Nifty Prediction -> Market may Close BULLISH on 04-01-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.43\n", + "04-01-2023 Nifty Prediction -> Market may Close BEARISH on 05-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.86\n", + "05-01-2023 Nifty Prediction -> Market may Close BEARISH on 06-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.54\n", + "06-01-2023 Nifty Prediction -> Market may Close BEARISH on 07-01-2023! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.74\n", + "09-01-2023 Nifty Prediction -> Market may Close BULLISH on 10-01-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.2\n", + "10-01-2023 Nifty Prediction -> Market may Close BEARISH on 11-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.85\n", + "11-01-2023 Nifty Prediction -> Market may Close BULLISH on 12-01-2023! Actual -> BULLISH, Prediction -> Correct, Pred = 0.48\n", + "12-01-2023 Nifty Prediction -> Market may Close BEARISH on 13-01-2023! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.62\n", + "13-01-2023 Nifty Prediction -> Market may Close BULLISH on 14-01-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.39\n", + "16-01-2023 Nifty Prediction -> Market may Close BEARISH on 17-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.63\n", + "17-01-2023 Nifty Prediction -> Market may Close BULLISH on 18-01-2023! Actual -> BULLISH, Prediction -> Correct, Pred = 0.32\n", + "18-01-2023 Nifty Prediction -> Market may Close BULLISH on 19-01-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.31\n", + "19-01-2023 Nifty Prediction -> Market may Close BEARISH on 20-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.59\n", + "20-01-2023 Nifty Prediction -> Market may Close BEARISH on 21-01-2023! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.71\n", + "23-01-2023 Nifty Prediction -> Market may Close BULLISH on 24-01-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.36\n", + "24-01-2023 Nifty Prediction -> Market may Close BEARISH on 25-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.6\n", + "25-01-2023 Nifty Prediction -> Market may Close BEARISH on 26-01-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.82\n", + "27-01-2023 Nifty Prediction -> Market may Close BEARISH on 28-01-2023! Actual -> BULLISH, Prediction -> Wrong, Pred = 0.82\n", + "30-01-2023 Nifty Prediction -> Market may Close BULLISH on 31-01-2023! Actual -> BULLISH, Prediction -> Correct, Pred = 0.34\n", + "31-01-2023 Nifty Prediction -> Market may Close BEARISH on 01-02-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.57\n", + "01-02-2023 Nifty Prediction -> Market may Close BEARISH on 02-02-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.51\n", + "02-02-2023 Nifty Prediction -> Market may Close BULLISH on 03-02-2023! Actual -> BULLISH, Prediction -> Correct, Pred = 0.39\n", + "03-02-2023 Nifty Prediction -> Market may Close BULLISH on 04-02-2023! Actual -> BEARISH, Prediction -> Wrong, Pred = 0.21\n", + "06-02-2023 Nifty Prediction -> Market may Close BEARISH on 07-02-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.6\n", + "07-02-2023 Nifty Prediction -> Market may Close BEARISH on 08-02-2023! Actual -> BEARISH, Prediction -> Correct, Pred = 0.66\n", + "Correct: 111, Wrong: 17, Accuracy: 0.8671875\n", + "{'TP': 12, 'FP': 14, 'TN': 34, 'FN': 20}\n" + ] + } + ], + "source": [ + "endpoint = keras.models.load_model('best_model.h5')\n", + "try:\n", + " scaler\n", + "except NameError:\n", + " pkl = joblib.load('nifty_model.pkl')\n", + " scaler = pkl['scaler']\n", + "today = yf.download(\n", + " tickers=\"^NSEI\",\n", + " period=f'{TEST_DAYS}d',\n", + " interval='1d',\n", + " progress=False,\n", + " timeout=10\n", + " )\n", + "today = today.drop(columns=['Adj Close', 'Volume'])\n", + "\n", + "###\n", + "today = preprocessBeforeScaling(today)\n", + "###\n", + "\n", + "cnt_corrct, cnt_wrong = 0, 0\n", + "for i in range(-TEST_DAYS,0):\n", + " df = today.iloc[i]\n", + " twr = today.iloc[i+1]['Close']\n", + " df = scaler.transform([df])\n", + " pred = endpoint.predict([df], verbose=0)\n", + "\n", + " if twr > today.iloc[i]['Open']:\n", + " fact = \"BULLISH\"\n", + " else:\n", + " fact = \"BEARISH\"\n", + "\n", + " if pred > 0.5:\n", + " out = \"BEARISH\"\n", + " else:\n", + " out = \"BULLISH\"\n", + "\n", + " if out == fact:\n", + " cnt_correct += 1\n", + " if out == \"BULLISH\":\n", + " metrics[\"TP\"] += 1\n", + " else:\n", + " metrics[\"TN\"] += 1\n", + " else:\n", + " cnt_wrong += 1\n", + " if out == \"BULLISH\":\n", + " metrics[\"FN\"] += 1\n", + " else:\n", + " metrics[\"FP\"] += 1\n", + "\n", + " \n", + " print(\"{} Nifty Prediction -> Market may Close {} on {}! Actual -> {}, Prediction -> {}, Pred = {}\".format(\n", + " today.iloc[i].name.strftime(\"%d-%m-%Y\"),\n", + " out,\n", + " (today.iloc[i].name + pd.Timedelta(days=1)).strftime(\"%d-%m-%Y\"),\n", + " fact,\n", + " \"Correct\" if fact == out else \"Wrong\",\n", + " str(np.round(pred[0][0], 2))\n", + " )\n", + " )\n", + "\n", + "print(\"Correct: {}, Wrong: {}, Accuracy: {}\".format(cnt_correct, cnt_wrong, cnt_correct/(cnt_correct+cnt_wrong)))\n", + "print(metrics)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Save Model for Screeni-py integration" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['nifty_model.pkl']" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pkl = {\n", + " # 'model': model,\n", + " 'scaler': scaler,\n", + " 'columns': ['Open', 'Close', 'High', 'Low']\n", + "}\n", + "\n", + "joblib.dump(pkl, 'nifty_model.pkl')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pkl = joblib.load('nifty_model.pkl')\n", + "z = yf.download(\n", + " tickers=\"^NSEI\",\n", + " period='1d',\n", + " interval='1d',\n", + " progress=False,\n", + " timeout=10\n", + " )\n", + "z = preprocessBeforeScaling(z)\n", + "z = z.iloc[-1]\n", + "z = z[pkl['columns']]\n", + "print(z)\n", + "z = pkl['scaler'].transform([z])\n", + "endpoint.predict(z)" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
OpenHighLowCloseAdj CloseVolume
Date
2023-02-01NaNNaNNaNNaN17616.300781512900
2023-02-02-1.653417-1.7710620.533318-0.03349417610.400391490100
2023-02-031.1682891.2257940.7924481.38356017854.050781424100
2023-02-060.546226-0.2607770.649165-0.50101317764.599609282500
2023-02-07-0.159672-0.070405-0.258775-0.24261517721.5000000
\n", + "
" + ], + "text/plain": [ + " Open High Low Close Adj Close Volume\n", + "Date \n", + "2023-02-01 NaN NaN NaN NaN 17616.300781 512900\n", + "2023-02-02 -1.653417 -1.771062 0.533318 -0.033494 17610.400391 490100\n", + "2023-02-03 1.168289 1.225794 0.792448 1.383560 17854.050781 424100\n", + "2023-02-06 0.546226 -0.260777 0.649165 -0.501013 17764.599609 282500\n", + "2023-02-07 -0.159672 -0.070405 -0.258775 -0.242615 17721.500000 0" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "z = yf.download(\n", + " tickers=\"^NSEI\",\n", + " period='5d',\n", + " interval='1d',\n", + " progress=False,\n", + " timeout=10\n", + " )\n", + "z = preprocessBeforeScaling(z)\n", + "z" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pkl['model'].save('nifty_model.h5')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pkl" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "del pkl['model']" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "pkl" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "92.66973999999999" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def getSigmoidConfidence(x):\n", + " out_min, out_max = 0, 100\n", + " if x > 0.5:\n", + " in_min = 0.50001\n", + " in_max = 1\n", + " else:\n", + " in_min = 0\n", + " in_max = 0.5\n", + " return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min\n", + "\n", + "map_range(0.9633487, 0.5, 1, 0, 100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3.9.13 ('ds')", + "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.9.13" + }, + "orig_nbformat": 4, + "vscode": { + "interpreter": { + "hash": "272f5af4762c02c25377d17b8d5be1b9d83b050e7634f4572d665f6d13ef995d" + } + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}