844 lines
167 KiB
Text
844 lines
167 KiB
Text
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"id": "e1669893-591c-483d-9d3f-439bf90bc826",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Import Libraries\n",
|
|
"import os\n",
|
|
"import pandas as pd\n",
|
|
"import numpy as np\n",
|
|
"import tensorflow as tf \n",
|
|
"from tensorflow import keras \n",
|
|
"import matplotlib as mp\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import matplotlib.font_manager as fm\n",
|
|
"import MetaTrader5 as mt5"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "9383c7f0-afb2-4c79-b351-39ba652bb6b0",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"if not mt5.initialize():\n",
|
|
" print(\"initialize() failed, error code =\",mt5.last_error())\n",
|
|
" quit()\n",
|
|
"\n",
|
|
"path=os.path.join(mt5.terminal_info().data_path,r'MQL5\\Files')\n",
|
|
"mt5.shutdown()\n",
|
|
"filename = os.path.join(path,'study_pricedelt_data.csv')\n",
|
|
"data = np.asarray( pd.read_table(filename,\n",
|
|
" sep=',',\n",
|
|
" header=None,\n",
|
|
" skipinitialspace=True,\n",
|
|
" encoding='utf-8',\n",
|
|
" float_precision='high',\n",
|
|
" dtype=np.float64,\n",
|
|
" low_memory=False))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "7c7df479-995c-44b9-bd26-6a0e1f9daf76",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"inputs=data.shape[1]-3\n",
|
|
"targerts=3\n",
|
|
"train_data=data[:,0:inputs]\n",
|
|
"train_target=data[:,inputs:]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"id": "f46f3696-dfd8-4d4f-98aa-03399c105f53",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Model: \"sequential_3\"\n",
|
|
"_________________________________________________________________\n",
|
|
" Layer (type) Output Shape Param # \n",
|
|
"=================================================================\n",
|
|
" reshape_3 (Reshape) (None, 2, 2) 0 \n",
|
|
" \n",
|
|
" lstm_3 (LSTM) (None, 40) 6880 \n",
|
|
" \n",
|
|
" dense_12 (Dense) (None, 40) 1640 \n",
|
|
" \n",
|
|
" dense_13 (Dense) (None, 40) 1640 \n",
|
|
" \n",
|
|
" dense_14 (Dense) (None, 40) 1640 \n",
|
|
" \n",
|
|
" dense_15 (Dense) (None, 3) 123 \n",
|
|
" \n",
|
|
"=================================================================\n",
|
|
"Total params: 11,923\n",
|
|
"Trainable params: 11,923\n",
|
|
"Non-trainable params: 0\n",
|
|
"_________________________________________________________________\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=20)\n",
|
|
"\n",
|
|
"# Add the LSTM block to the model\n",
|
|
"model1 = keras.Sequential([keras.layers.InputLayer(input_shape=inputs),\n",
|
|
" # Reformat tensor to a 3-dimensional one. Specify 2 dimensions as 3rd one is defined by batch size\n",
|
|
" keras.layers.Reshape((-1,2)), \n",
|
|
" # LSTM block contains 40 elements and returns results at each step \n",
|
|
" keras.layers.LSTM(40, return_sequences=False, \n",
|
|
" kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)),\n",
|
|
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
|
|
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
|
|
" keras.layers.Dense(40, activation=tf.nn.tanh, kernel_regularizer=keras.regularizers.l1_l2(l1=1e-4, l2=1e-3)), \n",
|
|
" keras.layers.Dense(targerts, activation=tf.nn.tanh) \n",
|
|
" ])\n",
|
|
"model1.summary()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"id": "cdd346bf-2b49-4586-bcad-d0a447ef5a85",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Epoch 1/200\n",
|
|
"15/15 - 3s - loss: 0.4125 - accuracy: 0.7534 - val_loss: 0.3328 - val_accuracy: 0.7656 - 3s/epoch - 224ms/step\n",
|
|
"Epoch 2/200\n",
|
|
"15/15 - 0s - loss: 0.2977 - accuracy: 0.7912 - val_loss: 0.2921 - val_accuracy: 0.7915 - 134ms/epoch - 9ms/step\n",
|
|
"Epoch 3/200\n",
|
|
"15/15 - 0s - loss: 0.2788 - accuracy: 0.7978 - val_loss: 0.2758 - val_accuracy: 0.7938 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 4/200\n",
|
|
"15/15 - 0s - loss: 0.2612 - accuracy: 0.8039 - val_loss: 0.2626 - val_accuracy: 0.7984 - 131ms/epoch - 9ms/step\n",
|
|
"Epoch 5/200\n",
|
|
"15/15 - 0s - loss: 0.2470 - accuracy: 0.8125 - val_loss: 0.2491 - val_accuracy: 0.7970 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 6/200\n",
|
|
"15/15 - 0s - loss: 0.2336 - accuracy: 0.8130 - val_loss: 0.2365 - val_accuracy: 0.7936 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 7/200\n",
|
|
"15/15 - 0s - loss: 0.2212 - accuracy: 0.8191 - val_loss: 0.2251 - val_accuracy: 0.7935 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 8/200\n",
|
|
"15/15 - 0s - loss: 0.2098 - accuracy: 0.8213 - val_loss: 0.2146 - val_accuracy: 0.7934 - 142ms/epoch - 9ms/step\n",
|
|
"Epoch 9/200\n",
|
|
"15/15 - 0s - loss: 0.1993 - accuracy: 0.8236 - val_loss: 0.2048 - val_accuracy: 0.7923 - 158ms/epoch - 11ms/step\n",
|
|
"Epoch 10/200\n",
|
|
"15/15 - 0s - loss: 0.1897 - accuracy: 0.8237 - val_loss: 0.1958 - val_accuracy: 0.7926 - 171ms/epoch - 11ms/step\n",
|
|
"Epoch 11/200\n",
|
|
"15/15 - 0s - loss: 0.1810 - accuracy: 0.8256 - val_loss: 0.1875 - val_accuracy: 0.7926 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 12/200\n",
|
|
"15/15 - 0s - loss: 0.1730 - accuracy: 0.8282 - val_loss: 0.1799 - val_accuracy: 0.7936 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 13/200\n",
|
|
"15/15 - 0s - loss: 0.1657 - accuracy: 0.8287 - val_loss: 0.1729 - val_accuracy: 0.7940 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 14/200\n",
|
|
"15/15 - 0s - loss: 0.1591 - accuracy: 0.8299 - val_loss: 0.1666 - val_accuracy: 0.7943 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 15/200\n",
|
|
"15/15 - 0s - loss: 0.1531 - accuracy: 0.8294 - val_loss: 0.1608 - val_accuracy: 0.7947 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 16/200\n",
|
|
"15/15 - 0s - loss: 0.1476 - accuracy: 0.8303 - val_loss: 0.1555 - val_accuracy: 0.7947 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 17/200\n",
|
|
"15/15 - 0s - loss: 0.1425 - accuracy: 0.8305 - val_loss: 0.1507 - val_accuracy: 0.7953 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 18/200\n",
|
|
"15/15 - 0s - loss: 0.1380 - accuracy: 0.8317 - val_loss: 0.1463 - val_accuracy: 0.7949 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 19/200\n",
|
|
"15/15 - 0s - loss: 0.1338 - accuracy: 0.8320 - val_loss: 0.1423 - val_accuracy: 0.7949 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 20/200\n",
|
|
"15/15 - 0s - loss: 0.1301 - accuracy: 0.8324 - val_loss: 0.1387 - val_accuracy: 0.7958 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 21/200\n",
|
|
"15/15 - 0s - loss: 0.1266 - accuracy: 0.8330 - val_loss: 0.1354 - val_accuracy: 0.7962 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 22/200\n",
|
|
"15/15 - 0s - loss: 0.1235 - accuracy: 0.8332 - val_loss: 0.1324 - val_accuracy: 0.7966 - 174ms/epoch - 12ms/step\n",
|
|
"Epoch 23/200\n",
|
|
"15/15 - 0s - loss: 0.1207 - accuracy: 0.8341 - val_loss: 0.1296 - val_accuracy: 0.7970 - 137ms/epoch - 9ms/step\n",
|
|
"Epoch 24/200\n",
|
|
"15/15 - 0s - loss: 0.1181 - accuracy: 0.8347 - val_loss: 0.1271 - val_accuracy: 0.7976 - 146ms/epoch - 10ms/step\n",
|
|
"Epoch 25/200\n",
|
|
"15/15 - 0s - loss: 0.1158 - accuracy: 0.8351 - val_loss: 0.1249 - val_accuracy: 0.7984 - 152ms/epoch - 10ms/step\n",
|
|
"Epoch 26/200\n",
|
|
"15/15 - 0s - loss: 0.1137 - accuracy: 0.8359 - val_loss: 0.1228 - val_accuracy: 0.7989 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 27/200\n",
|
|
"15/15 - 0s - loss: 0.1118 - accuracy: 0.8357 - val_loss: 0.1210 - val_accuracy: 0.7996 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 28/200\n",
|
|
"15/15 - 0s - loss: 0.1100 - accuracy: 0.8359 - val_loss: 0.1193 - val_accuracy: 0.7997 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 29/200\n",
|
|
"15/15 - 0s - loss: 0.1085 - accuracy: 0.8359 - val_loss: 0.1177 - val_accuracy: 0.7997 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 30/200\n",
|
|
"15/15 - 0s - loss: 0.1070 - accuracy: 0.8355 - val_loss: 0.1163 - val_accuracy: 0.8007 - 135ms/epoch - 9ms/step\n",
|
|
"Epoch 31/200\n",
|
|
"15/15 - 0s - loss: 0.1058 - accuracy: 0.8371 - val_loss: 0.1151 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 32/200\n",
|
|
"15/15 - 0s - loss: 0.1046 - accuracy: 0.8370 - val_loss: 0.1139 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 33/200\n",
|
|
"15/15 - 0s - loss: 0.1035 - accuracy: 0.8371 - val_loss: 0.1128 - val_accuracy: 0.8008 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 34/200\n",
|
|
"15/15 - 0s - loss: 0.1026 - accuracy: 0.8374 - val_loss: 0.1119 - val_accuracy: 0.8018 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 35/200\n",
|
|
"15/15 - 0s - loss: 0.1017 - accuracy: 0.8378 - val_loss: 0.1110 - val_accuracy: 0.8024 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 36/200\n",
|
|
"15/15 - 0s - loss: 0.1009 - accuracy: 0.8379 - val_loss: 0.1101 - val_accuracy: 0.8032 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 37/200\n",
|
|
"15/15 - 0s - loss: 0.1001 - accuracy: 0.8379 - val_loss: 0.1094 - val_accuracy: 0.8034 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 38/200\n",
|
|
"15/15 - 0s - loss: 0.0994 - accuracy: 0.8381 - val_loss: 0.1087 - val_accuracy: 0.8037 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 39/200\n",
|
|
"15/15 - 0s - loss: 0.0988 - accuracy: 0.8387 - val_loss: 0.1080 - val_accuracy: 0.8039 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 40/200\n",
|
|
"15/15 - 0s - loss: 0.0982 - accuracy: 0.8394 - val_loss: 0.1074 - val_accuracy: 0.8037 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 41/200\n",
|
|
"15/15 - 0s - loss: 0.0977 - accuracy: 0.8390 - val_loss: 0.1068 - val_accuracy: 0.8034 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 42/200\n",
|
|
"15/15 - 0s - loss: 0.0972 - accuracy: 0.8391 - val_loss: 0.1063 - val_accuracy: 0.8035 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 43/200\n",
|
|
"15/15 - 0s - loss: 0.0967 - accuracy: 0.8393 - val_loss: 0.1059 - val_accuracy: 0.8041 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 44/200\n",
|
|
"15/15 - 0s - loss: 0.0963 - accuracy: 0.8391 - val_loss: 0.1054 - val_accuracy: 0.8046 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 45/200\n",
|
|
"15/15 - 0s - loss: 0.0959 - accuracy: 0.8394 - val_loss: 0.1050 - val_accuracy: 0.8049 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 46/200\n",
|
|
"15/15 - 0s - loss: 0.0955 - accuracy: 0.8393 - val_loss: 0.1046 - val_accuracy: 0.8051 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 47/200\n",
|
|
"15/15 - 0s - loss: 0.0952 - accuracy: 0.8391 - val_loss: 0.1042 - val_accuracy: 0.8060 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 48/200\n",
|
|
"15/15 - 0s - loss: 0.0948 - accuracy: 0.8389 - val_loss: 0.1038 - val_accuracy: 0.8068 - 170ms/epoch - 11ms/step\n",
|
|
"Epoch 49/200\n",
|
|
"15/15 - 0s - loss: 0.0945 - accuracy: 0.8391 - val_loss: 0.1035 - val_accuracy: 0.8070 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 50/200\n",
|
|
"15/15 - 0s - loss: 0.0942 - accuracy: 0.8393 - val_loss: 0.1031 - val_accuracy: 0.8070 - 174ms/epoch - 12ms/step\n",
|
|
"Epoch 51/200\n",
|
|
"15/15 - 0s - loss: 0.0939 - accuracy: 0.8397 - val_loss: 0.1028 - val_accuracy: 0.8070 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 52/200\n",
|
|
"15/15 - 0s - loss: 0.0936 - accuracy: 0.8394 - val_loss: 0.1025 - val_accuracy: 0.8072 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 53/200\n",
|
|
"15/15 - 0s - loss: 0.0934 - accuracy: 0.8393 - val_loss: 0.1022 - val_accuracy: 0.8073 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 54/200\n",
|
|
"15/15 - 0s - loss: 0.0931 - accuracy: 0.8395 - val_loss: 0.1020 - val_accuracy: 0.8077 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 55/200\n",
|
|
"15/15 - 0s - loss: 0.0929 - accuracy: 0.8395 - val_loss: 0.1017 - val_accuracy: 0.8081 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 56/200\n",
|
|
"15/15 - 0s - loss: 0.0927 - accuracy: 0.8398 - val_loss: 0.1014 - val_accuracy: 0.8087 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 57/200\n",
|
|
"15/15 - 0s - loss: 0.0924 - accuracy: 0.8401 - val_loss: 0.1012 - val_accuracy: 0.8092 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 58/200\n",
|
|
"15/15 - 0s - loss: 0.0922 - accuracy: 0.8398 - val_loss: 0.1010 - val_accuracy: 0.8095 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 59/200\n",
|
|
"15/15 - 0s - loss: 0.0920 - accuracy: 0.8397 - val_loss: 0.1007 - val_accuracy: 0.8100 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 60/200\n",
|
|
"15/15 - 0s - loss: 0.0918 - accuracy: 0.8399 - val_loss: 0.1005 - val_accuracy: 0.8099 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 61/200\n",
|
|
"15/15 - 0s - loss: 0.0916 - accuracy: 0.8404 - val_loss: 0.1003 - val_accuracy: 0.8100 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 62/200\n",
|
|
"15/15 - 0s - loss: 0.0914 - accuracy: 0.8406 - val_loss: 0.1001 - val_accuracy: 0.8100 - 156ms/epoch - 10ms/step\n",
|
|
"Epoch 63/200\n",
|
|
"15/15 - 0s - loss: 0.0912 - accuracy: 0.8412 - val_loss: 0.0999 - val_accuracy: 0.8103 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 64/200\n",
|
|
"15/15 - 0s - loss: 0.0911 - accuracy: 0.8418 - val_loss: 0.0997 - val_accuracy: 0.8104 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 65/200\n",
|
|
"15/15 - 0s - loss: 0.0909 - accuracy: 0.8417 - val_loss: 0.0995 - val_accuracy: 0.8103 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 66/200\n",
|
|
"15/15 - 0s - loss: 0.0907 - accuracy: 0.8417 - val_loss: 0.0993 - val_accuracy: 0.8104 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 67/200\n",
|
|
"15/15 - 0s - loss: 0.0906 - accuracy: 0.8418 - val_loss: 0.0991 - val_accuracy: 0.8104 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 68/200\n",
|
|
"15/15 - 0s - loss: 0.0904 - accuracy: 0.8417 - val_loss: 0.0990 - val_accuracy: 0.8107 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 69/200\n",
|
|
"15/15 - 0s - loss: 0.0902 - accuracy: 0.8416 - val_loss: 0.0988 - val_accuracy: 0.8107 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 70/200\n",
|
|
"15/15 - 0s - loss: 0.0901 - accuracy: 0.8416 - val_loss: 0.0986 - val_accuracy: 0.8108 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 71/200\n",
|
|
"15/15 - 0s - loss: 0.0899 - accuracy: 0.8418 - val_loss: 0.0985 - val_accuracy: 0.8108 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 72/200\n",
|
|
"15/15 - 0s - loss: 0.0898 - accuracy: 0.8417 - val_loss: 0.0983 - val_accuracy: 0.8111 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 73/200\n",
|
|
"15/15 - 0s - loss: 0.0896 - accuracy: 0.8420 - val_loss: 0.0981 - val_accuracy: 0.8114 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 74/200\n",
|
|
"15/15 - 0s - loss: 0.0895 - accuracy: 0.8418 - val_loss: 0.0980 - val_accuracy: 0.8118 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 75/200\n",
|
|
"15/15 - 0s - loss: 0.0894 - accuracy: 0.8420 - val_loss: 0.0978 - val_accuracy: 0.8118 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 76/200\n",
|
|
"15/15 - 0s - loss: 0.0892 - accuracy: 0.8422 - val_loss: 0.0977 - val_accuracy: 0.8121 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 77/200\n",
|
|
"15/15 - 0s - loss: 0.0891 - accuracy: 0.8422 - val_loss: 0.0975 - val_accuracy: 0.8125 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 78/200\n",
|
|
"15/15 - 0s - loss: 0.0890 - accuracy: 0.8425 - val_loss: 0.0974 - val_accuracy: 0.8125 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 79/200\n",
|
|
"15/15 - 0s - loss: 0.0888 - accuracy: 0.8427 - val_loss: 0.0972 - val_accuracy: 0.8127 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 80/200\n",
|
|
"15/15 - 0s - loss: 0.0887 - accuracy: 0.8429 - val_loss: 0.0971 - val_accuracy: 0.8130 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 81/200\n",
|
|
"15/15 - 0s - loss: 0.0886 - accuracy: 0.8432 - val_loss: 0.0970 - val_accuracy: 0.8131 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 82/200\n",
|
|
"15/15 - 0s - loss: 0.0884 - accuracy: 0.8435 - val_loss: 0.0968 - val_accuracy: 0.8133 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 83/200\n",
|
|
"15/15 - 0s - loss: 0.0883 - accuracy: 0.8436 - val_loss: 0.0967 - val_accuracy: 0.8137 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 84/200\n",
|
|
"15/15 - 0s - loss: 0.0882 - accuracy: 0.8439 - val_loss: 0.0966 - val_accuracy: 0.8137 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 85/200\n",
|
|
"15/15 - 0s - loss: 0.0880 - accuracy: 0.8437 - val_loss: 0.0964 - val_accuracy: 0.8137 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 86/200\n",
|
|
"15/15 - 0s - loss: 0.0879 - accuracy: 0.8439 - val_loss: 0.0963 - val_accuracy: 0.8146 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 87/200\n",
|
|
"15/15 - 0s - loss: 0.0878 - accuracy: 0.8439 - val_loss: 0.0962 - val_accuracy: 0.8149 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 88/200\n",
|
|
"15/15 - 0s - loss: 0.0877 - accuracy: 0.8439 - val_loss: 0.0960 - val_accuracy: 0.8150 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 89/200\n",
|
|
"15/15 - 0s - loss: 0.0875 - accuracy: 0.8435 - val_loss: 0.0959 - val_accuracy: 0.8153 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 90/200\n",
|
|
"15/15 - 0s - loss: 0.0874 - accuracy: 0.8439 - val_loss: 0.0958 - val_accuracy: 0.8153 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 91/200\n",
|
|
"15/15 - 0s - loss: 0.0873 - accuracy: 0.8448 - val_loss: 0.0956 - val_accuracy: 0.8154 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 92/200\n",
|
|
"15/15 - 0s - loss: 0.0872 - accuracy: 0.8448 - val_loss: 0.0955 - val_accuracy: 0.8161 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 93/200\n",
|
|
"15/15 - 0s - loss: 0.0871 - accuracy: 0.8445 - val_loss: 0.0954 - val_accuracy: 0.8165 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 94/200\n",
|
|
"15/15 - 0s - loss: 0.0869 - accuracy: 0.8443 - val_loss: 0.0953 - val_accuracy: 0.8168 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 95/200\n",
|
|
"15/15 - 0s - loss: 0.0868 - accuracy: 0.8443 - val_loss: 0.0951 - val_accuracy: 0.8169 - 151ms/epoch - 10ms/step\n",
|
|
"Epoch 96/200\n",
|
|
"15/15 - 0s - loss: 0.0867 - accuracy: 0.8443 - val_loss: 0.0950 - val_accuracy: 0.8173 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 97/200\n",
|
|
"15/15 - 0s - loss: 0.0866 - accuracy: 0.8445 - val_loss: 0.0949 - val_accuracy: 0.8176 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 98/200\n",
|
|
"15/15 - 0s - loss: 0.0865 - accuracy: 0.8444 - val_loss: 0.0948 - val_accuracy: 0.8172 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 99/200\n",
|
|
"15/15 - 0s - loss: 0.0864 - accuracy: 0.8450 - val_loss: 0.0947 - val_accuracy: 0.8175 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 100/200\n",
|
|
"15/15 - 0s - loss: 0.0862 - accuracy: 0.8448 - val_loss: 0.0945 - val_accuracy: 0.8179 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 101/200\n",
|
|
"15/15 - 0s - loss: 0.0861 - accuracy: 0.8452 - val_loss: 0.0944 - val_accuracy: 0.8180 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 102/200\n",
|
|
"15/15 - 0s - loss: 0.0860 - accuracy: 0.8456 - val_loss: 0.0943 - val_accuracy: 0.8179 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 103/200\n",
|
|
"15/15 - 0s - loss: 0.0859 - accuracy: 0.8458 - val_loss: 0.0942 - val_accuracy: 0.8181 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 104/200\n",
|
|
"15/15 - 0s - loss: 0.0858 - accuracy: 0.8460 - val_loss: 0.0941 - val_accuracy: 0.8183 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 105/200\n",
|
|
"15/15 - 0s - loss: 0.0856 - accuracy: 0.8463 - val_loss: 0.0939 - val_accuracy: 0.8184 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 106/200\n",
|
|
"15/15 - 0s - loss: 0.0855 - accuracy: 0.8463 - val_loss: 0.0938 - val_accuracy: 0.8184 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 107/200\n",
|
|
"15/15 - 0s - loss: 0.0854 - accuracy: 0.8464 - val_loss: 0.0937 - val_accuracy: 0.8188 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 108/200\n",
|
|
"15/15 - 0s - loss: 0.0853 - accuracy: 0.8464 - val_loss: 0.0936 - val_accuracy: 0.8191 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 109/200\n",
|
|
"15/15 - 0s - loss: 0.0852 - accuracy: 0.8467 - val_loss: 0.0935 - val_accuracy: 0.8190 - 142ms/epoch - 9ms/step\n",
|
|
"Epoch 110/200\n",
|
|
"15/15 - 0s - loss: 0.0851 - accuracy: 0.8467 - val_loss: 0.0934 - val_accuracy: 0.8192 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 111/200\n",
|
|
"15/15 - 0s - loss: 0.0849 - accuracy: 0.8471 - val_loss: 0.0932 - val_accuracy: 0.8194 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 112/200\n",
|
|
"15/15 - 0s - loss: 0.0848 - accuracy: 0.8477 - val_loss: 0.0931 - val_accuracy: 0.8198 - 188ms/epoch - 13ms/step\n",
|
|
"Epoch 113/200\n",
|
|
"15/15 - 0s - loss: 0.0847 - accuracy: 0.8478 - val_loss: 0.0930 - val_accuracy: 0.8200 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 114/200\n",
|
|
"15/15 - 0s - loss: 0.0846 - accuracy: 0.8481 - val_loss: 0.0929 - val_accuracy: 0.8199 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 115/200\n",
|
|
"15/15 - 0s - loss: 0.0845 - accuracy: 0.8485 - val_loss: 0.0928 - val_accuracy: 0.8202 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 116/200\n",
|
|
"15/15 - 0s - loss: 0.0844 - accuracy: 0.8490 - val_loss: 0.0927 - val_accuracy: 0.8207 - 171ms/epoch - 11ms/step\n",
|
|
"Epoch 117/200\n",
|
|
"15/15 - 0s - loss: 0.0843 - accuracy: 0.8487 - val_loss: 0.0926 - val_accuracy: 0.8209 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 118/200\n",
|
|
"15/15 - 0s - loss: 0.0842 - accuracy: 0.8492 - val_loss: 0.0925 - val_accuracy: 0.8209 - 204ms/epoch - 14ms/step\n",
|
|
"Epoch 119/200\n",
|
|
"15/15 - 0s - loss: 0.0841 - accuracy: 0.8494 - val_loss: 0.0924 - val_accuracy: 0.8209 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 120/200\n",
|
|
"15/15 - 0s - loss: 0.0840 - accuracy: 0.8494 - val_loss: 0.0923 - val_accuracy: 0.8206 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 121/200\n",
|
|
"15/15 - 0s - loss: 0.0839 - accuracy: 0.8502 - val_loss: 0.0922 - val_accuracy: 0.8210 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 122/200\n",
|
|
"15/15 - 0s - loss: 0.0838 - accuracy: 0.8509 - val_loss: 0.0921 - val_accuracy: 0.8217 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 123/200\n",
|
|
"15/15 - 0s - loss: 0.0837 - accuracy: 0.8513 - val_loss: 0.0920 - val_accuracy: 0.8219 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 124/200\n",
|
|
"15/15 - 0s - loss: 0.0836 - accuracy: 0.8515 - val_loss: 0.0920 - val_accuracy: 0.8229 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 125/200\n",
|
|
"15/15 - 0s - loss: 0.0835 - accuracy: 0.8516 - val_loss: 0.0919 - val_accuracy: 0.8233 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 126/200\n",
|
|
"15/15 - 0s - loss: 0.0834 - accuracy: 0.8519 - val_loss: 0.0918 - val_accuracy: 0.8238 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 127/200\n",
|
|
"15/15 - 0s - loss: 0.0833 - accuracy: 0.8520 - val_loss: 0.0917 - val_accuracy: 0.8240 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 128/200\n",
|
|
"15/15 - 0s - loss: 0.0832 - accuracy: 0.8523 - val_loss: 0.0916 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 129/200\n",
|
|
"15/15 - 0s - loss: 0.0831 - accuracy: 0.8527 - val_loss: 0.0915 - val_accuracy: 0.8242 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 130/200\n",
|
|
"15/15 - 0s - loss: 0.0830 - accuracy: 0.8528 - val_loss: 0.0914 - val_accuracy: 0.8244 - 168ms/epoch - 11ms/step\n",
|
|
"Epoch 131/200\n",
|
|
"15/15 - 0s - loss: 0.0830 - accuracy: 0.8531 - val_loss: 0.0914 - val_accuracy: 0.8244 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 132/200\n",
|
|
"15/15 - 0s - loss: 0.0829 - accuracy: 0.8531 - val_loss: 0.0913 - val_accuracy: 0.8242 - 155ms/epoch - 10ms/step\n",
|
|
"Epoch 133/200\n",
|
|
"15/15 - 0s - loss: 0.0828 - accuracy: 0.8534 - val_loss: 0.0912 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 134/200\n",
|
|
"15/15 - 0s - loss: 0.0827 - accuracy: 0.8536 - val_loss: 0.0911 - val_accuracy: 0.8245 - 142ms/epoch - 9ms/step\n",
|
|
"Epoch 135/200\n",
|
|
"15/15 - 0s - loss: 0.0826 - accuracy: 0.8535 - val_loss: 0.0911 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 136/200\n",
|
|
"15/15 - 0s - loss: 0.0825 - accuracy: 0.8529 - val_loss: 0.0910 - val_accuracy: 0.8249 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 137/200\n",
|
|
"15/15 - 0s - loss: 0.0825 - accuracy: 0.8534 - val_loss: 0.0909 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 138/200\n",
|
|
"15/15 - 0s - loss: 0.0824 - accuracy: 0.8540 - val_loss: 0.0908 - val_accuracy: 0.8246 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 139/200\n",
|
|
"15/15 - 0s - loss: 0.0823 - accuracy: 0.8542 - val_loss: 0.0908 - val_accuracy: 0.8244 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 140/200\n",
|
|
"15/15 - 0s - loss: 0.0822 - accuracy: 0.8544 - val_loss: 0.0907 - val_accuracy: 0.8244 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 141/200\n",
|
|
"15/15 - 0s - loss: 0.0822 - accuracy: 0.8546 - val_loss: 0.0906 - val_accuracy: 0.8244 - 162ms/epoch - 11ms/step\n",
|
|
"Epoch 142/200\n",
|
|
"15/15 - 0s - loss: 0.0821 - accuracy: 0.8546 - val_loss: 0.0905 - val_accuracy: 0.8245 - 152ms/epoch - 10ms/step\n",
|
|
"Epoch 143/200\n",
|
|
"15/15 - 0s - loss: 0.0820 - accuracy: 0.8543 - val_loss: 0.0905 - val_accuracy: 0.8249 - 149ms/epoch - 10ms/step\n",
|
|
"Epoch 144/200\n",
|
|
"15/15 - 0s - loss: 0.0819 - accuracy: 0.8546 - val_loss: 0.0904 - val_accuracy: 0.8249 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 145/200\n",
|
|
"15/15 - 0s - loss: 0.0819 - accuracy: 0.8550 - val_loss: 0.0903 - val_accuracy: 0.8246 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 146/200\n",
|
|
"15/15 - 0s - loss: 0.0818 - accuracy: 0.8548 - val_loss: 0.0903 - val_accuracy: 0.8241 - 172ms/epoch - 11ms/step\n",
|
|
"Epoch 147/200\n",
|
|
"15/15 - 0s - loss: 0.0817 - accuracy: 0.8548 - val_loss: 0.0902 - val_accuracy: 0.8242 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 148/200\n",
|
|
"15/15 - 0s - loss: 0.0817 - accuracy: 0.8550 - val_loss: 0.0901 - val_accuracy: 0.8245 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 149/200\n",
|
|
"15/15 - 0s - loss: 0.0816 - accuracy: 0.8551 - val_loss: 0.0900 - val_accuracy: 0.8248 - 188ms/epoch - 13ms/step\n",
|
|
"Epoch 150/200\n",
|
|
"15/15 - 0s - loss: 0.0815 - accuracy: 0.8548 - val_loss: 0.0900 - val_accuracy: 0.8249 - 167ms/epoch - 11ms/step\n",
|
|
"Epoch 151/200\n",
|
|
"15/15 - 0s - loss: 0.0815 - accuracy: 0.8547 - val_loss: 0.0899 - val_accuracy: 0.8253 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 152/200\n",
|
|
"15/15 - 0s - loss: 0.0814 - accuracy: 0.8550 - val_loss: 0.0899 - val_accuracy: 0.8253 - 188ms/epoch - 13ms/step\n",
|
|
"Epoch 153/200\n",
|
|
"15/15 - 0s - loss: 0.0813 - accuracy: 0.8552 - val_loss: 0.0898 - val_accuracy: 0.8252 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 154/200\n",
|
|
"15/15 - 0s - loss: 0.0813 - accuracy: 0.8558 - val_loss: 0.0897 - val_accuracy: 0.8253 - 185ms/epoch - 12ms/step\n",
|
|
"Epoch 155/200\n",
|
|
"15/15 - 0s - loss: 0.0812 - accuracy: 0.8562 - val_loss: 0.0897 - val_accuracy: 0.8253 - 145ms/epoch - 10ms/step\n",
|
|
"Epoch 156/200\n",
|
|
"15/15 - 0s - loss: 0.0812 - accuracy: 0.8559 - val_loss: 0.0896 - val_accuracy: 0.8255 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 157/200\n",
|
|
"15/15 - 0s - loss: 0.0811 - accuracy: 0.8561 - val_loss: 0.0895 - val_accuracy: 0.8256 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 158/200\n",
|
|
"15/15 - 0s - loss: 0.0810 - accuracy: 0.8563 - val_loss: 0.0895 - val_accuracy: 0.8257 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 159/200\n",
|
|
"15/15 - 0s - loss: 0.0810 - accuracy: 0.8566 - val_loss: 0.0894 - val_accuracy: 0.8259 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 160/200\n",
|
|
"15/15 - 0s - loss: 0.0809 - accuracy: 0.8570 - val_loss: 0.0893 - val_accuracy: 0.8260 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 161/200\n",
|
|
"15/15 - 0s - loss: 0.0809 - accuracy: 0.8571 - val_loss: 0.0893 - val_accuracy: 0.8263 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 162/200\n",
|
|
"15/15 - 0s - loss: 0.0808 - accuracy: 0.8573 - val_loss: 0.0892 - val_accuracy: 0.8263 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 163/200\n",
|
|
"15/15 - 0s - loss: 0.0808 - accuracy: 0.8575 - val_loss: 0.0892 - val_accuracy: 0.8264 - 160ms/epoch - 11ms/step\n",
|
|
"Epoch 164/200\n",
|
|
"15/15 - 0s - loss: 0.0807 - accuracy: 0.8573 - val_loss: 0.0891 - val_accuracy: 0.8268 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 165/200\n",
|
|
"15/15 - 0s - loss: 0.0807 - accuracy: 0.8571 - val_loss: 0.0891 - val_accuracy: 0.8267 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 166/200\n",
|
|
"15/15 - 0s - loss: 0.0806 - accuracy: 0.8574 - val_loss: 0.0890 - val_accuracy: 0.8269 - 175ms/epoch - 12ms/step\n",
|
|
"Epoch 167/200\n",
|
|
"15/15 - 0s - loss: 0.0806 - accuracy: 0.8573 - val_loss: 0.0889 - val_accuracy: 0.8271 - 152ms/epoch - 10ms/step\n",
|
|
"Epoch 168/200\n",
|
|
"15/15 - 0s - loss: 0.0805 - accuracy: 0.8574 - val_loss: 0.0889 - val_accuracy: 0.8269 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 169/200\n",
|
|
"15/15 - 0s - loss: 0.0805 - accuracy: 0.8571 - val_loss: 0.0888 - val_accuracy: 0.8269 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 170/200\n",
|
|
"15/15 - 0s - loss: 0.0804 - accuracy: 0.8569 - val_loss: 0.0888 - val_accuracy: 0.8271 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 171/200\n",
|
|
"15/15 - 0s - loss: 0.0804 - accuracy: 0.8570 - val_loss: 0.0887 - val_accuracy: 0.8275 - 176ms/epoch - 12ms/step\n",
|
|
"Epoch 172/200\n",
|
|
"15/15 - 0s - loss: 0.0803 - accuracy: 0.8570 - val_loss: 0.0887 - val_accuracy: 0.8278 - 169ms/epoch - 11ms/step\n",
|
|
"Epoch 173/200\n",
|
|
"15/15 - 0s - loss: 0.0803 - accuracy: 0.8574 - val_loss: 0.0886 - val_accuracy: 0.8278 - 156ms/epoch - 10ms/step\n",
|
|
"Epoch 174/200\n",
|
|
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8575 - val_loss: 0.0886 - val_accuracy: 0.8278 - 175ms/epoch - 12ms/step\n",
|
|
"Epoch 175/200\n",
|
|
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8580 - val_loss: 0.0885 - val_accuracy: 0.8278 - 170ms/epoch - 11ms/step\n",
|
|
"Epoch 176/200\n",
|
|
"15/15 - 0s - loss: 0.0802 - accuracy: 0.8578 - val_loss: 0.0885 - val_accuracy: 0.8282 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 177/200\n",
|
|
"15/15 - 0s - loss: 0.0801 - accuracy: 0.8580 - val_loss: 0.0885 - val_accuracy: 0.8282 - 158ms/epoch - 11ms/step\n",
|
|
"Epoch 178/200\n",
|
|
"15/15 - 0s - loss: 0.0801 - accuracy: 0.8578 - val_loss: 0.0884 - val_accuracy: 0.8280 - 155ms/epoch - 10ms/step\n",
|
|
"Epoch 179/200\n",
|
|
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8578 - val_loss: 0.0884 - val_accuracy: 0.8280 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 180/200\n",
|
|
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8580 - val_loss: 0.0883 - val_accuracy: 0.8279 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 181/200\n",
|
|
"15/15 - 0s - loss: 0.0800 - accuracy: 0.8580 - val_loss: 0.0883 - val_accuracy: 0.8279 - 156ms/epoch - 10ms/step\n",
|
|
"Epoch 182/200\n",
|
|
"15/15 - 0s - loss: 0.0799 - accuracy: 0.8582 - val_loss: 0.0882 - val_accuracy: 0.8280 - 141ms/epoch - 9ms/step\n",
|
|
"Epoch 183/200\n",
|
|
"15/15 - 0s - loss: 0.0799 - accuracy: 0.8584 - val_loss: 0.0882 - val_accuracy: 0.8280 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 184/200\n",
|
|
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8584 - val_loss: 0.0881 - val_accuracy: 0.8280 - 188ms/epoch - 13ms/step\n",
|
|
"Epoch 185/200\n",
|
|
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8582 - val_loss: 0.0881 - val_accuracy: 0.8283 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 186/200\n",
|
|
"15/15 - 0s - loss: 0.0798 - accuracy: 0.8581 - val_loss: 0.0881 - val_accuracy: 0.8284 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 187/200\n",
|
|
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8581 - val_loss: 0.0880 - val_accuracy: 0.8284 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 188/200\n",
|
|
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8582 - val_loss: 0.0880 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 189/200\n",
|
|
"15/15 - 0s - loss: 0.0797 - accuracy: 0.8582 - val_loss: 0.0879 - val_accuracy: 0.8288 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 190/200\n",
|
|
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8582 - val_loss: 0.0879 - val_accuracy: 0.8290 - 173ms/epoch - 12ms/step\n",
|
|
"Epoch 191/200\n",
|
|
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8584 - val_loss: 0.0878 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 192/200\n",
|
|
"15/15 - 0s - loss: 0.0796 - accuracy: 0.8582 - val_loss: 0.0878 - val_accuracy: 0.8287 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 193/200\n",
|
|
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8582 - val_loss: 0.0878 - val_accuracy: 0.8288 - 159ms/epoch - 11ms/step\n",
|
|
"Epoch 194/200\n",
|
|
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8581 - val_loss: 0.0877 - val_accuracy: 0.8288 - 155ms/epoch - 10ms/step\n",
|
|
"Epoch 195/200\n",
|
|
"15/15 - 0s - loss: 0.0795 - accuracy: 0.8581 - val_loss: 0.0877 - val_accuracy: 0.8294 - 145ms/epoch - 10ms/step\n",
|
|
"Epoch 196/200\n",
|
|
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0877 - val_accuracy: 0.8292 - 157ms/epoch - 10ms/step\n",
|
|
"Epoch 197/200\n",
|
|
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0876 - val_accuracy: 0.8294 - 182ms/epoch - 12ms/step\n",
|
|
"Epoch 198/200\n",
|
|
"15/15 - 0s - loss: 0.0794 - accuracy: 0.8582 - val_loss: 0.0876 - val_accuracy: 0.8290 - 151ms/epoch - 10ms/step\n",
|
|
"Epoch 199/200\n",
|
|
"15/15 - 0s - loss: 0.0793 - accuracy: 0.8582 - val_loss: 0.0875 - val_accuracy: 0.8290 - 170ms/epoch - 11ms/step\n",
|
|
"Epoch 200/200\n",
|
|
"15/15 - 0s - loss: 0.0793 - accuracy: 0.8584 - val_loss: 0.0875 - val_accuracy: 0.8288 - 157ms/epoch - 10ms/step\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"model1.compile(optimizer='Adam', \n",
|
|
" loss='mean_squared_error', \n",
|
|
" metrics=['accuracy'])\n",
|
|
"history1 = model1.fit(train_data, train_target,\n",
|
|
" epochs=200, batch_size=500,\n",
|
|
" callbacks=[callback],\n",
|
|
" verbose=2,\n",
|
|
" validation_split=0.5,\n",
|
|
" shuffle=False)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 19,
|
|
"id": "5d19012b-72e2-42f8-9e7a-1d142ca20c1e",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.legend.Legend at 0x18fde3954f0>"
|
|
]
|
|
},
|
|
"execution_count": 19,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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0dx0003+fNt8ud1QU952z18vOBL0u+K1cuVK3G43t9xyCwAbNmzgzJkzzJkzh2XLlpGTk0NVVRVms5mHHnqIhIQE77bFxcW89NJL/OpXv6K6upq33nqLM2fOYLVaqamp8a63detWtm7dSm1tLdXV1dx2220MGzas0X7VP5fD4eD999/n+PHjGAwGhg4dyqxZsygpKeFvf/sbAwcOJCcnh9raWubOnUv//v2/xi9EYwoZflRaWcuZsupAlyGd2PkaB0N/vqZNXyPz5zOIDLG0bpvMTAC6d+/O2rVriYiI4JlnnsHlcvH666+zZcsWBg8eTElJCY888giJiYnk5OSwZs0annnmGSIjI1m2bBlbt24lNDQUm83G97//fYxGI//85z9Zs2YNt9xyCw6Hg5iYGO68806OHTvG//7v//Lcc89x9913s3z5cubNm0dxcbHP6xw6dIgtW7bw1FNPERoayooVK1i6dCkPPPCAt/6nnnqK06dP86c//YmJEyf6DLadNWsW27dv5+GHH/Y2+0dHR/Poo4/idrv5y1/+woMPPkh0dDS5ubn86U9/avTlA1BeXs53v/tdbDYbv/71r5k8eTJRUVGX8xZ9tZpy+G2ftnnuhn6cAyHdWrVJZ/5dGTduHH/961+5+eabMRgMfPnll8yePZtTp05RVVXFU089hcFgYNmyZWzcuJHZs2c3+TP66KOPiIiI4N///d8pLi7md7/7HQA1NTVs27aNf/u3fyM0NJTMzEw++ugjhg0b1mi/6q1evZra2lp+9KMf4XQ6+fvf/87WrVtJTU2loKCAOXPmMHfuXNavX8+aNWv41re+1ar386soZPiRxWSg1ukKdBnSiUUEm8n8+Yw2f42vUlVV5f3gczqdREVF8eijjxIcHMzBgweprq72fpnU1tYSFhbG4MGDsVgsJCYmAnD06FGGDBnibTK/4447APjHP/5BTk4OL774ovf54+LiAM9I90mTJgEwYMAAgoODycvLa1Rfw9c5fPgwo0aNIjQ0FICrr77aWztAeno6AL1798Zut1NbW0twcPAl9z85Odlbz6OPPsr+/fs5d+4c+fn5Pv91NjRkyBAMBgNRUVFERERQWVnZdiEjONITANpa8Fd3d3Sl35WEhASsVitHjx4lIiICu91Ov379AE+30aZNmygoKCArK4ukpKRmf2ZHjhxhzpw5AMTE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",
|
|
"text/plain": [
|
|
"<Figure size 600x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Add fonts\n",
|
|
"font_list=fm.findSystemFonts()\n",
|
|
"for f in font_list:\n",
|
|
" if(f.__contains__('ClearSans')):\n",
|
|
" fm.fontManager.addfont(f)\n",
|
|
"\n",
|
|
"# Set parameters for output graphs\n",
|
|
"mp.rcParams.update({'font.family':'Arial',\n",
|
|
" 'font.serif':'Arial',\n",
|
|
" 'axes.titlesize': 'x-large',\n",
|
|
" 'axes.labelsize':'medium',\n",
|
|
" 'xtick.labelsize':'small',\n",
|
|
" 'ytick.labelsize':'small',\n",
|
|
" 'legend.fontsize':'small',\n",
|
|
" 'figure.figsize':[6.0,4.0],\n",
|
|
" 'axes.titlecolor': '#707070',\n",
|
|
" 'axes.labelcolor': '#707070',\n",
|
|
" 'axes.edgecolor': '#707070',\n",
|
|
" 'xtick.labelcolor': '#707070',\n",
|
|
" 'ytick.labelcolor': '#707070',\n",
|
|
" 'xtick.color': '#707070',\n",
|
|
" 'ytick.color': '#707070',\n",
|
|
" 'text.color': '#707070',\n",
|
|
" 'lines.linewidth': 0.8,\n",
|
|
" 'axes.linewidth': 0.5\n",
|
|
" })\n",
|
|
"# Render model training results\n",
|
|
"plt.figure()\n",
|
|
"plt.plot(history1.history['loss'], label='Perceptron train')\n",
|
|
"plt.plot(history1.history['val_loss'], label='Perceptron validation')\n",
|
|
"plt.ylabel('$MSE$ $loss$')\n",
|
|
"plt.xlabel('$Epochs$')\n",
|
|
"plt.title('Model training dynamics')\n",
|
|
"plt.legend(loc='upper right', ncol=2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 20,
|
|
"id": "e079ffc1-2342-4a12-8257-634e7bb45d59",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"<matplotlib.legend.Legend at 0x18fe0498250>"
|
|
]
|
|
},
|
|
"execution_count": 20,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhsAAAGKCAYAAACl9YPGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABoGklEQVR4nO3deXhU9aH/8ffMZCchC0kgC4QAIYFA2BFZFERF3IoiuNUV6621LrRqe3u13l8X7eJSW1trpVdbStWKC4IgCIoiiyBrCIQdEpKQfV9mPb8/xowMhC1kmCyf1/PkgTlz5pzvmZnMfPJdTYZhGIiIiIj4iNnfBRAREZHOTWFDREREfEphQ0RERHxKYUNERER8SmFDREREfEphQ0RERHxKYUNERER8SmFDREREfEphQ0RERHxKYUO6rI8//pi5c+cyd+5cVqxYcdp933vvPc++FRUVbVqOzz//nLlz57Jx48ZWPf7ll19m7ty5NDY2nnHfvLw8cnNzW3We09m4cSNz587l888/b9Xjz+UaLqTGxkbmzp3Lyy+/7O+itKnzfb1EzpXChgiwY8eOU95nGMZp7+8ocnJy+MMf/kBxcXGbHzspKYlp06aRkpLSqsePHTuWadOmERAQ0MYlk5ac7+slcq70my1dXkREBAUFBVRUVBATE3PS/YcPH6a6uprg4GCsVqsfStg26uvr8dVSSElJSSQlJbX68WPHjm3D0siZnO/rJXKuVLMhXd7QoUOBU9dubN++nZCQEPr163chiyUi0mmoZkO6vLS0NLZu3cqOHTuYPHnySffv2LGDIUOG0NTU1OLj9+zZw6effsqRI0dwuVzEx8czbtw4xo8fj9nsneezs7NZtWoVRUVFhIWFMX78+FM2HdTU1LBixQp27txJXV0dkZGRDB8+nCuuuIKQkJBzusZ///vfbNq0CYAPPviADz74gKeeeoqKigr+/Oc/c9NNN3HgwAF27txJSEgId999N/369aOiooJVq1axZ88eqqurMZvNnuubMGGC5/gbN27kzTffZMaMGVx66aUA/OIXvyAmJoZZs2bx4YcfcvDgQQzDoF+/flxzzTVef1m//PLLHDhwgGeeeYbQ0FD279/Pn//8Z2699VYMw+Dzzz+ntLSUbt26MWLECKZPn05QUJDXNa5bt44vv/ySsrIyIiIiGD9+PN27d+ff//43Dz74IAMGDDjtc1RRUcHSpUvZs2cPdrudgQMHctVVV3ntc+DAAV5++WVGjRrFd7/73ZOO8atf/Qqn08lTTz3F119/zZtvvskDDzxAQUEB69ato7KykqioKC666CKmTp3q9f6wWq18/vnnbN++nfLycpxOJ1FRUQwdOpRp06YRHBzsKecvf/lLpk+fTq9evVixYgUlJSWEh4dzySWXMHnyZA4ePMiSJUsoKCggPDycMWPGcMUVV2CxWE75egEUFhaycuVK9u/fj9VqJS4ujkmTJjF27FhMJhMAtbW1fPTRRxw4cICqqirCwsJIS0tj2rRpxMXFnfY5lq5LYUO6PIvFQmZmJps3b6a2tpaIiAjPfUeOHKGyspJhw4bx1VdfnfTYL774gvfff5+QkBCGDh1KcHAwubm5vPvuuxw8eJA77rjD8yG9YcMG3n77bcLDwxk1ahQ2m41PPvmkxeBQWVnJH//4R6qrq8nMzCQ+Pp7CwkI+/fRT9uzZw0MPPeT58jkbQ4cOpbGxkZ07d5KRkUFKSgqhoaGe+5cvX05wcDATJ07k2LFjJCcnU1FRwQsvvIDNZiMrK4uoqCiqq6vZvn07CxcuxOVyMWnSpNOet6qqipdeeom4uDguvvhiiouL2bVrF4cPH+ZnP/sZ4eHhp338mjVrKCoqIisri4yMDLKzs1m9ejU1NTXccccdnv3ef/99vvjiC2JjYxk3bhz19fUsXbqU6Ojos3p+mstZW1tLZmYm0dHR5Obm8te//tVrv379+hETE8POnTux2WxegefQoUOUl5efFCIWL15MSUkJw4cPJzQ0lC1btrB06VJsNhvXXHMNAE6nk1deeYW8vDzS09PJyMjAarWyc+dOPvvsM8rLy7nnnnu8yrJjxw5WrFjB8OHD6d+/P5s3b2bRokVUVFSwfv16Bg0axIQJE9i2bRvLly8nNDTUK1icaN++fbz22mu4XC6GDBlCdHQ0u3bt4q233qKiooLp06djt9t59dVXPa/JsGHDKCsrY+vWrezZs4ef/vSndOvW7ayec+laFDZEgGHDhvH111+TnZ3N+PHjPdubm1AyMjJOChtlZWUsWrSI6OhofvCDHxAbGwu4/0L9+9//ztatWxk0aBBjxoyhsbGRRYsWERUVxSOPPEJUVBTgHh3S0kiHd955h+rqaubMmUNmZqZne3O4Wb58Oddff/1ZX9+JYePELx2r1cpjjz1G9+7dPdtWrlxJfX093//+90lPT/dsnzhxIn/4wx/YsmXLGcNGeXk5EydO5MYbb/SErrfffpsNGzawfft2r9qRlhQWFvLQQw/Rt29fAK644gqeeeYZtm3bxuzZswkODiYvL481a9aQkpLCAw884AlhI0eOZN68eWf1/Hz00UfU1NRw6623evqPWK1W5s2bR21trWc/k8nE6NGjWbFiBTk5OYwYMcJz3+bNmwEYPXq017HLysp47LHHPH/1X3LJJTzzzDN89dVXnrCxfft2jhw5whVXXMHVV1/teey1117LM88802K4KSgo4N577/U0Aw4aNIhXX32VNWvWMHPmTCZOnAi4X69f/vKXbNmy5ZRhw+Vy8dZbbwHwwx/+0PN8X3311fzhD39g5cqVTJw4kby8PAoKCrjyyiuZPn265/GfffYZH374IVu3bvWcV+R46rMhAqSnpxMcHEx2drbX9h07dpCZmdliU8eWLVtwuVxMmzbNEzQAgoODueGGGwA8AWXXrl00NTVxySWXeIIGQJ8+fRgzZozXcaurq8nNzWXQoEFeQQPcXxxRUVGeJpG20rdvX6+gAe4vzVtuucUraACkpKQQGBhIXV3dWR37sssu8wQNgMGDBwOc1RDi/v37e774AEJDQ+nbty8ul4uqqioAvv76awzD4JprrvGq7cnMzGTgwIFnPIfD4SA7O5tevXp5dVQNDg7m2muvPWn/5tdry5Ytnm1Op5Nt27aRnJxMr169vPYfNmyYV/NCTEwMPXv2pLa2FrvdDkBycjI333wzl1xyiddjQ0JCSE5OxuVy0dDQ4HVfTEyMJ2gApKamAhAUFOQVmGNiYoiIiDjt83348GEqKioYNWqU1/MdGBjI9ddfz1VXXYXD4fB0MC4qKvKUHWDChAn8/Oc/P2N4lK5LNRsiuD9UBw8ezI4dO2hsbCQ0NJT8/HzKy8uZMWNGi48pKCgAaLHjaEJCAqGhoRQWFgJ4/u3du/dJ+/bt25d169Z5bh89ehTDMKivr+fjjz8+af+AgACqqqqoqqryCi7no0ePHidt69evH/369aO+vp7CwkJKS0spLS3l8OHDOBwOXC7XGY8bGBh4UlNGc7ORw+E44+Nb6gNw4uPz8vIAd3A7UWpqKnv37j3tOcrLy7FarS2+Nr179/b0c2gWGxtLamoqu3fvpqGhgbCwMHJzc6mvr+eKK644q2tobsJyOBwEBgYSHx9PfHw8drudI0eOUFJSQllZGUePHmX//v0AJz3fxwdcwBO0oqKiTuorFBAQcNo5TJrfn8cHjWbp6emewNmtWzd69OhBdnY2P//5zxk4cCCDBg1i8ODBZ91kJV2TwobIN7Kysti6dSu7du1i1KhR7Nixg+DgYDIyMlrcv7nD6PF9H47XvXt3ysrKADx/lbbUzyIsLKzF4x45coQjR46csrwNDQ1tFjYCAwNbPP4HH3zAli1bcDqdmEwmoqOjSUtLo6Cg4KyG0Z74RQ141XKcSUs1Sic+vr6+nqCgoBaf28jIyDOe43SvjdlsbrFPzejRozl06BA7duxg3LhxbN68GbPZzMiRI8/qGk7kcrlYtWoVq1ev9pQnPDyc1NRUYmJiWpwb5cQOsudyvhM1B5EzdTwOCgri0Ucf5ZNPPmHbtm3s2LGDHTt2YDKZyMrKYtasWeqzIS1S2BD5xqBBgwgMDGTHjh2MGjWK7du3n7IJBb79cqqurm6xo2NjY6Png7c5ULQ0osVms3ndbv4SObFd/EL717/+xe7duxk/fjyjR48mISHB82V0fBOCv4WEhFBRUYHT6Twp3JxqBNHxTvfaGIZx0usDMGLECD744AO2bt3KqFGjyMnJIT093atz8blYvXo1S5cuZcCAAVx22WUkJSV5mrVeffVVn0zEdrzm91xL88g4nU4Mw/D8HoSHh3PDDTcwY8YMCgsLyc3N5euvv2b79u2YTCbuuusun5ZVOib12RD5RnMtRm5uLnl5eZSWljJ8+PBT7t88dPPgwYMn3VdaWkpNTY2n/T45ORlwj1g4UX5+vtftxMTEFrc3W7ZsGStXrjyrZojWamxsZPfu3fTu3ZtZs2aRmprqCRoVFRVe7fX+1tynoaXn63Q1Q81iY2MJCQnh8OHDJ9137NixFq81NDSUzMxMDhw4QHZ2Njab7aSOoediy5YtmM1m5syZw6BBgzxBwzAMSkpKPP/3leb3XHOT1PG2bdvGE088waZNmzhw4ADvvfceZWVlmEwmkpKSmDp1KnPnziU4OLjF3wURUNgQ8ZKVlYXNZuO99947bRMKwKhRozCbzaxcudLTXALuvw7fffdd4NuRCYMHDyY8PJwvvvjC8+UBUFxczIYNG7yO26NHD/r378/u3bvZtm2b132bNm1ixYoV5ObmnnN1efNf/WcTUiwWCyaTicbGRq/9bTab59qcTuc5nd9XLrroIgDPcNJm+/btO6nDb0ssFgujRo2irKyM1atXe7Y7HA4++uijUz5u9OjROJ1OlixZQnBwMEOGDGn1NQQEBOByuU7qdLtixQpPx05fPt/9+vXzdDxu7osE7udg9erVmM1m0tLSqKmpYc2aNV7PE+Dp7Kp+G3IqakYROU5mZiYWi4UjR44wcuTIFvsyNIuNjeU73/kO77//Ps8//7xnno3du3dTXl7OiBEjPCMXgoODmT17Nm+88QYvvvgiw4YNA9xDHsPDw0/qvDd79mz+9Kc/8Y9//IONGzfSq1cvSktLycnJISwsjJtuuumcr625/8K6detoaGg4aeTD8YKCgsjKymL79u28+OKLpKenY7PZyMnJoaamhrCwMBobG3G5XCd1RrzQ+vbty/jx41m3bh3PPfccGRkZ1NXVsX37dkJDQ6mvrz9jP5Grr76avXv3smjRInJzc+nZsyf79u2joaHhlO+BjIwMIiIiqKysZOzYsafsQ3E2Ro8ezZEjR/jjH//I8OHDsVgs7N+/n6NHjxIeHk5dXd1Jo1HaksVi4ZZbbmHevHm89NJLZGVlER4ezq5duygtLWXGjBmeCcb69u3L2rVrKSwspG/fvjQ1NXlm3/Vns5+0b6rZEDlOaGioZ7hkcyA4nUsuuYT777+f3r17s2PHDjZu3Ei3bt24+eabvSadAvdcFz/4wQ9ITk5m27Zt5OTkcPHFF3vNq9AsPj6eH/3oR4wbN47CwkK++OILCgoKGD16NHPnzj1peOXZ6N+/PxMnTqShoYEvv/ySY8eOnXb/W265hUsuuYTGxka+/PJLT7PKI488wujRo7Hb7Z6REv42c+ZMz7wj69at48iRI1x//fWeWo8zBYGwsDAefvhhxo8fT1FREevXryciIoIHHnigxU6u4P6CzsrKAk6eW+NcTZgwgRtvvJGwsDA2bNjAli1bCA4O5o477mD27NmAe/i0L6Wnp/Pwww8zcOBAdu3axZdffklQUBC33XabZ36OgIAAvve973HZZZdRX1/Pl19+yfbt2+nTpw8PPvjgScOkRZqZDF82BIqI+FhNTQ0Wi6XFURALFizg66+/5he/+EWrO2+ezksvvUR1dTVPPfXUOY2yEelqVLMhIh3a5s2befLJJ9m4caPX9rKyMrKzs+nZs6dPgkZubi6HDx/moosuUtAQOQP12RCRDm3EiBF88skn/Oc//2HXrl3ExsZSW1vLjh07cDqdzJw5s03P9/7773Pw4EEKCwvp1q2bpucWOQtqRhGRDq+0tJRVq1axb98+ampqCA0NpV+/fkydOrXFmUHPx6pVq1ixYgUxMTHcfPPNLc66KSLeFDZERETEp9RnQ0RERHxKYUNERER8SmFDREREfEqjUYDf/OY3Jy3XLCIiImdWVlbGT3/609Puo7CBe9rp++67z9/FEBER6XDmzZt3xn3UjCIiIiI+pbAhIiIiPqWwISIiIj6lsCEiIiI+1W46iGZnZ7N06VIcDgdpaWnMnDnTa2lnu93O22+/TUFBAYZhMGnSJCZMmABAfn4+7733HjabjbCwMG6//XaioqL8dCUiIiJyvHZRs1FTU8M777zD/fffz89+9jNsNhtr1qzx2mf9+vU4HA6eeOIJHnnkET7++GPKysqwWq289tprXHvttTz++ONkZGSwePFiP12JiIiInKhdhI09e/aQmppKdHQ0JpOJcePGsXXrVq99DMPAarXicrmw2WyYTCYsFgt79uyhV69e9O/fH4CJEydy1VVXnfJcDoeDpqYmrx8tDyMiIuI77aIZpbq62qvZIzIykqqqKq99JkyYwNatW3n66aexWq1MnjyZ6OhotmzZQnh4OAsWLKCoqIgePXpwww03nPJcK1euZPny5V7b4uLi2vJyRERE5DjtImy0VLNgMpm8bi9btoyEhAQeeughGhsbeeWVV0hOTsblcrF7924eeughEhMTWbVqFQsWLODBBx9s8VyXX345kydP9to2f/78NrsWERER8dYumlGioqKoqanx3K6pqTmpg2dOTg4XXXQRFouF8PBwRowYwf79++nevTuJiYkkJiYCMHbsWPLy8k55roCAAEJCQrx+Tgw2IiIi0nbaRdjIyMjg4MGDVFRUYBgGGzZsIDMz02uf5ORktm3bBrhHpuTm5tKnTx/S09MpLi6mqKgIcI9q6d2794W+BBERETmFdtGMEhERwaxZs5g3bx4Oh4OUlBSmTJnC2rVrqampYfr06cyYMYOFCxfy7LPPYjabycrKYsyYMQDccccdLFiwAIfDQXh4OLfccoufr0hERLqi/SV1fLKrmN1FNRworcPmcAGQEBXKwPhwBvaKYGDPCOIj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+tGPSExMZP369fz973/nsccea/EYK1euZPny5V7b4uLi2uAqvDnt34QNs2o2RESka2sXYSMqKorCwkLP7ZqamhY7eObl5RESEkJSUpJn26FDh4iPjycxMRGAiy++mPfff5/6+nrCw8NPOsbll1/u1RcE3J1P25rT3vhNM4pqNkREpGtrF392Z2RkcPDgQSoqKjAMgw0bNpCZmXnSfocOHWLAgAFe2xITEykoKKC8vByA3bt307179xaDBkBAQAAhISFePy3VgJwvp60JK0HqICoiIl1eu6jZiIiIYNasWcybNw+Hw0FKSgpTpkxh7dq11NTUMH36dADKysro0aOH12Pj4+O54YYbmDdvHmazmdDQUO69915/XIYXw279ps+GwoaIiHRt7SJsAAwZMoQhQ4Z4bZswYYLX7ZtuuqnFx44cOZKRI0f6rGyt4bI3YiUQi1nNKCIi0rXpz24fcdmtOEz+H4IrIiLibwobvmJvxG4K8ncpRERE/E5hw0dcDisOhQ0RERGFDZ+xN6lmQ0REBIUN33E24TQrbIiIiChs+IrdisMc7O9SiIiI+J3Chq84m3CoZkNERERhw1dMDhsu1WyIiIgobPiM04rLonk2REREFDZ8xOy04lTNhoiIiMKGr5icVjWjiIiIoLDhM2anFZdFYUNERERhw0fMTitGgMKGiIiIwoaPmF1WDNVsiIiIKGz4isVpU9gQERFBYcNnLC4rRkCIv4shIiLidwobvuByYTEcYNEMoiIiIgobvuC0uv9VzYaIiIjChk84mtz/ajSKiIiIwoZPONw1G6ZA1WyIiIgobPiCowkXFiwBWhtFREREYcMXHFbs5iACLHp6RURE9G3oC44mHKYgAhU2REREFDZ8wmHFbgoi0Gzyd0lERET8TmHDFxxNOEyBBAbo6RUREdG3oS84bNhMgQSoZkNERERhwyccTdhRnw0RERFQ2PANRxM2AhU2REREUNjwDYcVqymIAIuaUURERBQ2fOGbmo0g1WyIiIgobPiEw4qVQNVsiIiIoLDhG44mrEYQAWY9vSIiIvo29AWHFSsBBAWoZkNERERhwxcienHIlKyaDRERERQ2fGP0PbwZMENDX0VERFDY8Bm7w0WgOoiKiIgobPiK3WVoiXkREREUNnzG7lTNhoiICChs+IzDaajPhoiICAobPuOu2dDTKyIiom9DH7E7XVpiXkREBIUNn3C6DFwGqtkQERFBYcMn7E4XgDqIioiIoLDhEw6XAaChryIiIihs+ITjm5oNLTEvIiICAf4uQLPs7GyWLl2Kw+EgLS2NmTNnYrFYPPfPnz+fY8eOeW6XlpYyefJkrr76avLz83nvvfew2WyEhYVx++23ExUV5YercLN9Eza0xLyIiEg7CRs1NTW88847zJ07l6ioKBYsWMCaNWuYPHmyZ5877rjD8//c3FwWL17M1KlTsVqtvPbaa9x1113079+fVatWsXjxYq/9LzSH85tmFI1GERERaR/NKHv27CE1NZXo6GhMJhPjxo1j69atLe5rs9l45513uPnmmwkODmbPnj306tWL/v37AzBx4kSuuuqqU57L4XDQ1NTk9WMYRpteT/PsoSaTwoaIiEi7qNmorq72avaIjIykqqqqxX3Xrl1Lamoqffr0AdzNKeHh4SxYsICioiJ69OjBDTfccMpzrVy5kuXLl3tti4uLO+9rOJ7daWh5eRERkW+0i7DRUs1CS7UChmGwZs0a5syZ49nmcrnYvXs3Dz30EImJiaxatYoFCxbw4IMPtniuyy+/3Kt5Btz9QdqSw6V1UURERJq1iz+/o6KiqKmp8dyuqalpsYNnXl4eISEhJCUlebZ1796dxMREEhMTARg7dix5eXmnPFdAQAAhISFeP23d3GF3aF0UERGRZu3iGzEjI4ODBw9SUVGBYRhs2LCBzMzMk/Y7dOgQAwYM8NqWnp5OcXExRUVFgHtUS+/evS9IuU/F7nJpJIqIiMg32kUzSkREBLNmzWLevHk4HA5SUlKYMmUKa9eupaamhunTpwNQVlZGjx49vB4bFRXFHXfcwYIFC3A4HISHh3PLLbf44zI87A4twiYiItKsXYQNgCFDhjBkyBCvbRMmTPC6fdNNN7X42PT0dNLT031WtnPlcKkZRUREpFm7CRudSfPQV5G2ZBgGDocDp9Pp76KISBcTGBjoNdHmuVLY8AENfZW2ZrPZKCoqoqGhwd9FEZEuyGQykZycTHh4eKser7DhAw7VbEgbcrlcHDp0CIvFQmJiIkFBQZowTkQuGMMwKC0t5ejRo6SlpbWqhkNhwwfs6rMhbchms+FyuejduzdhYWH+Lo6IdEFxcXEcPnwYu93eqrChb0QfsDs09FXanllNcyLiJ+dbm6pPLx9wzyCqp1ZERATUjOITNqeaUaTzq6io4Ne//jW9evXybDObzVx55ZUMHTrUL2UqLy/no48+4s477/TJ8d966y0uvfRSEhISzvoxO3fu5ODBg1x//fU+KVNH0BXfK+fq5ZdfZsqUKSQnJ/Ovf/2rxSU3Xn/9dTIzMxk7duwpj3P8dVVXV5/yWBeawoYPOJwuLS8vXUJoaCiPP/6453ZhYSEvvfQSTz75JBERERe8PJWVlZSWlvrs+Hv37uXSSy89p8e0NIdQV9TV3iutFRkZeV7h4PjrOt9jtSWFDR9wOA0CA1SzIb5jGAZ1VodPzxEeHHDO7bTNo2UqKysJCQlh0aJFHD58GJfLRUZGBtdeey1VVVW8/PLL9OjRg7q6OubOncumTZv44osvMJvNxMbGcvvttxMcHMyyZcvYtWsXhmGQnJzMjTfeSHBwMI8//jgXX3wxBw8exOVyccMNN5CWlsbbb79NdXU1r7/+Ot/5zndOOs/69etZv349ZrOZXr16MXPmTLp168YvfvELxowZw969e6mpqWHKlClMnDjR69qWLVtGTU0Nb7zxBvfccw8LFy4kNDSU0tJSpk2bRmBgIKtWrcJut9PQ0MBll13GxIkT2bhxIzk5Odxzzz28/PLLpKSkcOjQIaqqqhg1ahTXXHNNW75s3gwDrLW+O36z4AjQe8VjyZIlGIbBddddB8Dnn3/OsWPHmDVrFu+//z75+fk0NjYSEBDAXXfdRXx8vOexFRUVvPDCC/zqV7+iqamJN998k2PHjhEVFYXVavXst2HDBjZs2IDdbqepqYnvfOc7ZGVlnXRdzcdyOBy8++67HDp0CJPJxNChQ5k+fTqVlZX89a9/ZcCAAeTn52O325k9ezb9+vU7jzfEyRQ2fMDmdBGomg3xoTqrg6H/u8Kn58j+3yuJCAk8t8dkZwPQs2dPVq5cSXh4OI899hgul4t//etfrF+/nkGDBlFZWcm9995LcnIy+fn5rFixgscee4yIiAjef/99NmzYQGhoKDU1NfzoRz/CbDbz4YcfsmLFCq677jocDgcxMTHceOONHDhwgH/84x/8/Oc/5+abb2bRokXcc889VFRUeJ0nNzeX9evX88gjjxAaGsrixYt57733uOOOOzzlf+SRRzh69Ch/+tOfGD9+vFen3OnTp7Np0ybuvvtuT3NAdHQ0c+bMwTAM/vKXv3DnnXcSHR1NQUEBf/rTn076EgKora3loYceoqamhl//+tdMnDiRyMjI1rxEZ2athd9cgLWifpoPId3P6SGd+b0yduxYXnnlFa699lpMJhNff/01M2fOJC8vj8bGRh555BFMJhPvv/8+a9asYebMmS0+R8uWLSM8PJz//u//pqKigt///vcAWK1WNm7cyH/9138RGhpKdnY2y5YtIysr66TrarZ8+XLsdjtPPPEETqeTV199lQ0bNpCenk5paSmzZs1i9uzZrF69mhUrVvD973//nF7PM1HY8AGH+myIj4UHB5D9v1f6/Bxn0tjY6PkAdDqdREZGMmfOHIKDg9m9ezdNTU2eLxW73U5YWBiDBg0iMDCQ5ORkAPbv38/gwYM9Vek33HADAG+88Qb5+fk8//zznuPHxsYC7p7xzcsZ9O/fn+DgYAoLC08q3/Hn2bt3LyNHjiQ0NBSASZMmecoOeBZ/TEpKwmazYbfbCQ4OPu31p6amesozZ84ccnJyKCkpoaioyOuv0OMNHjwYk8lEZGQk4eHhNDQ0+C5sBEe4g4CvBZ+5GaQrvVfi4+OJiopi//79hIeHY7PZ6Nu3L+BuTlq7di2lpaXs2bOHlJSUUz5n+/btY9asWQDExMR4luUIDg7m3nvvJTs7m9LSUo4cOXLK91uzPXv2MGPGDMxmM2azmXHjxpGdnU16ejpBQUGkpaV5rmnLli2nPVZrKGz4gN3pIkBhQ3zIZDKdc62DL5zYDn88l8vF7NmzPSs1NzQ0YDabaWhoICgoyLPfiWP2GxoasFqtuFwupk2b5ukM19TU5DVV+4lDgVsa+3/8eQzD8LrPMAyv4wUGup/Pc2k6aj6+1WrlhRdeYNiwYaSmpjJy5EjPF+eJms9zQZhM51zj4Ctd7b1y0UUXsWXLFrp16+YpV05ODosWLWLy5MkMHz6ciIgISkpKTnmME8vSXO6qqir++Mc/Mn78eAYMGEBaWhpvvfXWWR/nxGs6/j1pMplO2rct6BvRB2aOSuaeCX39XQwRvxo4cCBr1qzB6XTicDh47bXX2LRp00n7DRgwgNzcXOrq6gB3de+XX37JwIEDWb9+vWdSs7feeouVK1cC7g/KzZs3A+6//hwOBwkJCZjNZlwuV4vlSU9PZ8uWLTQ2NgKwbt06z19zZ8tisbR4/NLSUux2O1dddRWDBw9m165dAKcsi3jrjO+V4cOHs2fPHrZv387o0aMBd+1CVlYW48ePJyEhgZycnNO+RzIyMti4cSOGYVBTU8PevXsByMvLIzIykssvv5yBAweyc+dOT0A41XWlp6ezbt06XC4XdrudjRs3nvM1nQ/VbPhAamw3fxdBxO+mTZvGBx98wHPPPYfT6SQjI4MJEyZQVVXltV9iYiLTp0/nL3/5CwC9evXi5ptvJjAwkMrKSl544QVPp7/p06d7Hrdv3z4+//xzLBYL99xzD2azmZ49e+JwOPjLX/7CLbfc4nWejIwMxo0bxx//+EdcLhfx8fHMnj37nK5pyJAh/P3vfz9puGRiYiJpaWn85je/ITg4mKSkJCIjIykrKzun43dVnfG9EhISQv/+/b2aycaPH8/8+fPZvXs3JpOJPn36tNikc/zz8s477/Dss88SGRnpGXKdnp7Ohg0beOaZZwgMDGTAgAE0NTXR1NR0yuu68soref/99/n973+P0+kkMzOTiRMnUl1dfU7X1Vomwxf1JR3MvHnzuO+++/xdDJEWNTU1cejQIVJTUwkJCfF3cdqFuXPner7YRU5H75W2cbrPobP5DlUzioiIiPiUmlFEpMN58cUX/V0E6SD0XmkfVLMhIiIiPqWwIdJBaGSDiPjL+XbvVDOKSDsXFBSE2WymsLCQuLg4goKCznu5ZxGRs2UYBqWlpZhMplbPE6OwIdLOmc1mUlNTKSoqOu0wORERXzGZTCQnJ7c4IdrZUNgQ6QCCgoLo06cPDofDayZDEZELITAwsNVBAxQ2RDqM5irMCzrdtYhIG1AHUREREfEphQ0RERHxKYUNERER8Sn12QDKysqYN29emx2veZhQXFxcpxmiqGvqGHRNHUdnvC5dU8fQ1td0VgsOGtLmGhsbjUcffdRobGz0d1HajK6pY9A1dRyd8bp0TR2DP65JzSgiIiLiUwobIiIi4lMKGyIiIuJTChs+EBAQwLRp0wgI6Dz9b3VNHYOuqePojNela+oY/HFNJsM4z6XcRERERE5DNRsiIiLiUwobIiIi4lMKGyIiIuJTnafHSzuRnZ3N0qVLcTgcpKWlMXPmzPNaltdfVq9ezYYNGzCbzcTGxnLzzTdz+PBh3nzzTSIjIwEICwvjwQcf9HNJz97rr79OUVGRZ9XUMWPGMHLkSBYsWEB1dTWBgYHccccdxMfH+7mkZ2fr1q2sXLnSc7u+vh6TycT999/PSy+9RI8ePTz3PfLIIwQFBfmjmGfN4XDwt7/9jUsvvZTMzExqampO+dqsW7eOzz//HJfLxciRI5k+fbqfS9+yE68pPz+f9957D5vNhslk4rrrriM9PR2Ap556iu7du3see+ONN9K/f39/Ff2UTrymnJycU34ufPzxx2zduhWXy8XkyZOZMGGCP4t+SsdfU1paGi+99JLnPsMwKCoq4oEHHmDgwIE8//zzOBwOzGb33+qXX345I0aM8FfRT6mlz3Cn0+m/36kLNn1YF1BdXW089dRTRkVFheFyuYz58+cbn332mb+Ldc72799v/OY3vzGampoMwzCMxYsXG2+99ZaxZMmSDnk9zf73f//XqKur89r297//3fj8888NwzCM3Nxc43e/+50/inbempqajGeffdbYu3evsW7dOuPdd9/1d5HOSV5envH8888bjz/+uLFz507DME792hw9etT45S9/aTQ0NBh2u914+eWXje3bt/ut7KfS0jX98pe/NPbu3WsYhmEUFhYaP/vZzwyr1WqUlJQYv/3tb/1Z3LPS0jWd6nNhx44dxosvvmjY7XajoaHBePbZZ438/PwLXOIza+majrdkyRLj3//+t2EYhmG1Wo0nn3zScDqdF7qY5+RUn+H+/J1SM0ob2rNnD6mpqURHR2MymRg3bhxbt271d7HOWXh4ODNnziQ4OBiA5ORkKioqOHz4MLt37+a5557jlVdeoaioyM8lPXuVlZVYrVYWLFjA7373O95//32amprIzc1l7NixAKSnp9PU1MSxY8f8XNpz9/HHHzNw4EDS0tI4fPgwhYWFPP/887z00kscOHDA38U7o7Vr13LVVVfRp08fAJxO5ylfm5ycHIYOHUpoaCgBAQGMGTOGLVu2+LP4LTrxmhwOB5dffjlpaWkA9OzZE5fLRUNDA4cPH8blcvHyyy/z+9//nrVr1/qz6Kd04jUBp/xcyMnJYdSoUQQEBBAaGsrw4cM7xOt0vIKCAjZv3swNN9wAQH5+PoGBgfz1r3/ld7/7HcuXL8flcl3oIp9RS5/hZWVlfv2dUthoQ9XV1URFRXluR0ZGUlVV5bfytFbPnj0ZMGAAAE1NTaxYsYKsrCzCwsKYPHkyjz32GBMmTOC1117DZrP5ubRnp7a2loEDB3Lbbbfxox/9iOrqahYtWoTFYiEkJMSzX0d8zaqrq9m0aRPTpk0DICgoiDFjxvDjH/+Y73znO7zxxhvU1NT4uZSnd8sttzB48GDP7fr6+lO+NlVVVSf9nlVXV1/I4p6VE68pICCAcePGeW4vX76cnj17EhUVhdPpZNCgQTzwwAPcf//9fPHFF+Tk5Pij2Kd14jUBp/xcOPHzMCoqqkO8TsdbunQpV155ped92NTURFpaGvfddx8PP/wwe/bsYd26dReyuGelpc/w9PR0v/5OKWy0IaOFKUs68iqBVVVV/PnPfyYlJYXx48dzzz33MGjQIACysrIICQmhoKDAz6U8O3369OHuu+8mPDycgIAApk6desq/+Dvaa7Zu3TpGjRpFt27dAJg5cyYXXXQRAH379iUlJYV9+/b5s4jnrKXfJXC/Nh3998wwDJYsWcLmzZu56667ABg3bhzf+c53sFgsREZGcvHFF7Nz504/l/TsnOpzoaW/+DvS61RWVkZ+fj5jxozxbMvMzOTWW28lKCiIkJAQJk+eTHZ2th9LeXrHf4aPHj26xX0u1O+UwkYbioqK8voLsqamxistdiQFBQW89NJLDB06lJtvvpmmpiavzojNOkrn14MHD570l6LZbMbpdGK1Wj3bTvxrrCPYvn2754PEMAw++eQTr2syDKPDvE7NwsPDT/naREdHd9jfM4fDwRtvvMGBAwd45JFHiI6OBmDz5s1ezZId5TVrbGw85efCia9TdXW1pxNpR7B9+3aGDx/u9Trk5ORw8OBBz+32/Dqd+BkeERHh198phY02lJGRwcGDB6moqMAwDDZs2EBmZqa/i3XOqqur+etf/8p1113HlVdeCUBwcDBr1671fGHn5uZis9lISkryZ1HPms1m4/3336exsRGXy8Xnn39OVlYWGRkZbNiwAYC9e/disVg6zGgUcDc3VFdXk5ycDLj/Gtm1axcbN24EoLCwkLy8PE8/gY7CYrGc8rXJzMxkx44d1NfX43Q62bRpU4f5PXvzzTcxDIMHH3yQiIgIz/Zjx4552v8bGxv56quvyMrK8mNJz87pPheGDBnC119/jd1up6mpiW3btnWY1wng0KFDnqaIZjU1NSxevBiHw4HD4eDLL79sl69TS5/h/v6d0tDXNhQREcGsWbOYN28eDoeDlJQUpkyZ4u9inbNVq1ZhtVpZtWoVq1atAiA+Pp577rmH9957j8WLFxMcHMw999zTblP9iTIyMhg/fjwvvfQSTqeT/v37c+WVV1JfX89bb73Fhg0bCAgI4M477+xQVb3l5eVERUV5lfn222/n7bffZv369QDceeedniaWjmTmzJktvjZJSUlMmTKFP/3pT7hcLjIzMxk5cqS/i3tG+fn5bNmyhfj4eF588UXP9rvuuosrrriChQsX8rvf/Q6Xy8WECRMYOHCgH0t7dsxm8yk/F4YMGcLRo0d5/vnncblcXHzxxfTr18/fRT5rZWVlJ/11f9FFF1FSUsJzzz2H0+kkKyvL02TZnpzqM9yfv1NaG0VERER8Ss0oIiIi4lMKGyIiIuJTChsiIiLiUwobIiIi4lMKGyIiIuJTChsiIiLiUwobIiIi4lMKGyIiIuJTChsiIiLiUwobItJpLFq0iL///e/+LoaInEBro4hIm3j55Zc5cODASdtHjx7N7bfffkHKUFBQQGpq6gU5l4icPYUNETlvhmFw9OhRrr/+ekaNGuV1X3Bw8AUrR2FhIRMmTLhg5xORs6OwISLnrbS0FKvVSv/+/enevftJ99fU1PD0008zY8YMNm3aRHFxMT169GD27NleK4EWFRWxePFiDh48SFBQEKNGjeKaa64hIODbj6rKykqWLl1Kbm4uVquVuLg4Zs6cSUxMDPX19QC88sorHDp0iKioKG6//XZSUlIAcLlcrFq1io0bN1JVVUVISAiDBg3itttu8/EzJNK1KWyIyHk7evQoZrOZxMTEFu8vKCgAYOPGjdxwww1ERETwwQcf8K9//Ysnn3wSs9nM0aNHefnll7nkkku44YYbqK6uZv78+YSGhnLllVcCUFFRwR/+8Af69evHfffdR1hYGPv37yckJMRzji+//JIrr7ySqKgoFi5cyJIlS3jwwQcB99LbW7duZfbs2fTo0YPq6mpKSkouwDMk0rUpbIjIeTt69CiGYfA///M/XttHjRrF7NmzKSwsxGKxMGfOHGJiYgC4+uqreeGFF6iuriY6Opq3336b0aNHc/XVVwMQFxfH2LFjycnJ8YSNhQsXkpKSwt133+05R1xcHAA7d+4kLCyMu+66i/DwcAAyMzNZv369Z9/c3FwyMzNJS0sDICYmRn08RC4AhQ0ROW9Hjx5lxIgRXHXVVV7bw8LCAHfNRlZWlidoAISEhHj+X1xczNGjR/nud7/r9XiLxYLD4QDctRq7d+/msccea7EMBQUFDBkyxBM0mh8TGxvruT1kyBAWL15Mfn4+w4cPJysry1NGEfEdDX0VkfN29OhRUlNTiYuL8/rp1q0b4A4CJzaxHD58mG7duhEZGcmxY8ewWCyeWopmxcXFJCQkeI5hsVhISkpqsQyFhYWevhnNCgoKvPafMmUKP/3pT0lLS2P16tX8+te/pry8/LyvX0ROT2FDRM5LWVkZjY2Np+yvYbPZKCsrwzAMzzaXy8Xnn3/OmDFjMJvNBAcH43K5cLlcnn3Ky8vJzs72jG6xWCy4XC5sNttJ52hqaqK8vJzk5GSv7YWFhSeFk/j4eKZOncqPf/xjrFYrx44da/W1i8jZUTOKiJyXo0ePAhAREUFNTY3XfeHh4RQVFQHw9ddfk5aWRmhoKMuWLaOxsdHTFyMlJYXQ0FAWL17MpEmTqKys5N1332XEiBEMGjTIa5933nmHyy+/HMMwOHDgAAMHDqS2thaTyeSpBQF3E0pDQ4MnbKxatYru3bvTp08fTCYT69atIywsTH02RC4AhQ0ROS/NYeOZZ57x2h4QEMCzzz5LQUEBPXv2ZMqUKbz++us0NTWRnp7OD3/4Q0JDQwEIDQ3l3nvv5YMPPmD9+vV0796dcePGcdlll3mO161bN+bMmcPixYt54YUXCAgIICUlhZEjR5Kbm0t8fDyBgYGe/QsKCggNDfX0E3E4HHzyySdUVVURFBREamoqDz74oPpsiFwAJuP4uk0RkTa2cOFCGhsbueOOO/xdFBHxE/XZEBGfKigo8GreEJGuR2FDRHzGMAyKiopO2XlURLoGNaOIiIiIT6lmQ0RERHxKYUNERER8SmFDREREfEphQ0RERHxKYUNERER8SmFDREREfEphQ0RERHxKYUNERER8SmFDREREfEphQ0RERHzq/wMg4xZQVY1IVwAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 600x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"plt.figure()\n",
|
|
"plt.plot(history1.history['accuracy'], label='Perceptron train')\n",
|
|
"plt.plot(history1.history['val_accuracy'], label='Perceptron validation')\n",
|
|
"plt.ylabel('$Accuracy$')\n",
|
|
"plt.xlabel('$Epochs$')\n",
|
|
"plt.title('Model training dynamics')\n",
|
|
"plt.legend(loc='lower right', ncol=2)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 21,
|
|
"id": "35a3137b-f1bd-48e3-a62c-89a0a031a279",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"25/25 - 0s - loss: 0.0792 - accuracy: 0.8481 - 94ms/epoch - 4ms/step\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Load testing dataset\n",
|
|
"test_filename = os.path.join(path,'test_pricedelt_data.csv')\n",
|
|
"test = np.asarray( pd.read_table(test_filename,\n",
|
|
" sep=',',\n",
|
|
" header=None,\n",
|
|
" skipinitialspace=True,\n",
|
|
" encoding='utf-8',\n",
|
|
" float_precision='high',\n",
|
|
" dtype=np.float64,\n",
|
|
" low_memory=False))\n",
|
|
"# Split test dataset to input data and target\n",
|
|
"test_data=test[:,0:inputs]\n",
|
|
"test_target=test[:,inputs:]\n",
|
|
"\n",
|
|
"# Check model results on a test dataset\n",
|
|
"test_loss1, test_acc1 = model1.evaluate(test_data, test_target, verbose=2) "
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 22,
|
|
"id": "21242db1-53a6-44f2-bbcd-0e87cb6f5819",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"25/25 [==============================] - 0s 2ms/step\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0.5, 1.0, 'predict results model1')"
|
|
]
|
|
},
|
|
"execution_count": 22,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 600x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"mm=model1.predict(test_data)\n",
|
|
"rr = {}\n",
|
|
"rr=pd.DataFrame(rr)\n",
|
|
"test_target = pd.DataFrame(test_target)\n",
|
|
"mm = pd.DataFrame(mm)\n",
|
|
"rr['real'] = test_target[1]\n",
|
|
"rr['predict'] = mm[1]\n",
|
|
"rs = rr.head(20)\n",
|
|
"#rs = rr\n",
|
|
"\n",
|
|
"plt.figure()\n",
|
|
"plt.plot(rs['real'], label='real')\n",
|
|
"plt.plot(rs['predict'], label='predict')\n",
|
|
"plt.legend(loc='upper left',ncol=2)\n",
|
|
"plt.ylabel('PREDICT')\n",
|
|
"plt.title('predict results model1')\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 23,
|
|
"id": "2fb991ba-6a2d-4327-8a74-9cf20431be34",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import socket\n",
|
|
"\n",
|
|
"class socketserver(object):\n",
|
|
" def __init__(self, address, port):\n",
|
|
" self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n",
|
|
" self.address = address\n",
|
|
" self.port = port\n",
|
|
" self.sock.bind((self.address, self.port))\n",
|
|
" \n",
|
|
" def socket_receive(self):\n",
|
|
" self.sock.listen(1)\n",
|
|
" self.conn, self.addr = self.sock.accept()\n",
|
|
" self.cummdata = ''\n",
|
|
"\n",
|
|
" while True:\n",
|
|
" data = self.conn.recv(10000)\n",
|
|
" self.cummdata+=data.decode(\"utf-8\")\n",
|
|
" if not data:\n",
|
|
" self.conn.close()\n",
|
|
" break\n",
|
|
" return self.cummdata\n",
|
|
" \n",
|
|
" def socket_send(self, message):\n",
|
|
" self.sock.listen(1)\n",
|
|
" self.conn, self.addr = self.sock.accept()\n",
|
|
" self.conn.send(bytes(message, \"utf-8\"))\n",
|
|
" \n",
|
|
" \n",
|
|
" def __del__(self):\n",
|
|
" self.conn.close()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "dd18f879-697c-49f6-9e5d-5d8a59399fc4",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"Exception ignored in: <function socketserver.__del__ at 0x0000018F9885CD30>\n",
|
|
"Traceback (most recent call last):\n",
|
|
" File \"C:\\Users\\Stepan\\AppData\\Local\\Temp\\ipykernel_87012\\3024821691.py\", line 30, in __del__\n",
|
|
"AttributeError: 'socketserver' object has no attribute 'conn'\n"
|
|
]
|
|
},
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"<<--Waiting for Prices to Predict-->>\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"import ast\n",
|
|
"\n",
|
|
"host = 'localhost'\n",
|
|
"port = 5091 \n",
|
|
"n_steps = 60\n",
|
|
"TIMEFRAME = 24 | 0x4000\n",
|
|
"#model = Model(n_steps, \"EURUSD\", TIMEFRAME)\n",
|
|
"\n",
|
|
"serv = socketserver(host, port)\n",
|
|
"\n",
|
|
"while True:\n",
|
|
" print(\"<<--Waiting for Prices to Predict-->>\")\n",
|
|
" rates = pd.DataFrame(ast.literal_eval(serv.socket_receive()))\n",
|
|
" rates = rates.rates.pct_change(1)\n",
|
|
" rates.dropna(inplace=True)\n",
|
|
" rates = rates.values.reshape((1, n_steps))\n",
|
|
" serv.socket_send(str(model.predict(rates).flatten()[0]))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "7ea0b8c1-3b5c-4282-a7fe-7977d35686c8",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "0618e61d-e3b8-44f2-af02-d9f6bf9ebde7",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"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.8.19"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|