Files
Face-recognition/Face recognition/Face recognition.ipynb
2022-08-13 15:16:58 +03:00

182 KiB

Система распознования лиц

GitHub Repo - https://github.com/IgorVolochay/Face-recognition

Requirements

  • python == 3.8.5
  • dlib == 19.23.1
  • tensorflow == 2.2.0
  • skimage == 0.19.2
  • pillow == 9.0.1
  • matplotlib == 3.5.2
In [1]:
import random
import os

import dlib

from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout

from skimage import io
from PIL import Image, ImageFilter, ImageOps
from matplotlib import image, pyplot
In [2]:
sp = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
facerec = dlib.face_recognition_model_v1('dlib_face_recognition_resnet_model_v1.dat')
detector = dlib.get_frontal_face_detector()
In [3]:
img = io.imread("Men1/Men1_000.jpg")
pyplot.imshow(img, interpolation='nearest')
new_img = detector(img, 1)
for k, d in enumerate(new_img):
    print("Detection {}: Left: {} Top: {} Right: {} Bottom: {}".format(
        k, d.left(), d.top(), d.right(), d.bottom()))
    shape = sp(img, d)
    
face_descriptor1 = facerec.compute_face_descriptor(img, shape)
face_descriptor1
Out [3]:
Detection 0: Left: 70 Top: 248 Right: 869 Bottom: 1047
dlib.vector([-0.0902129, -0.0284728, -0.0201088, -0.0237396, 0.0195988, -0.0624656, -0.0341601, -0.0645328, 0.145692, -0.103387, 0.164995, -0.0667768, -0.19563, -0.0463215, 0.0462609, 0.0386064, -0.204915, -0.0965468, -0.0547373, -0.130571, 0.100364, 0.0206162, -0.0427951, 0.108554, -0.284338, -0.223312, -0.115767, -0.17538, 0.0108243, -0.0472676, 0.0455159, 0.0537128, -0.0945584, 0.00360177, 0.0861953, 0.0713386, 0.0278726, -0.0417318, 0.217425, -0.0155115, -0.131425, 0.0396619, 0.0762383, 0.219826, 0.112767, 0.0618684, 0.010629, -0.050927, 0.225475, -0.277578, 0.061519, 0.183117, 0.0907261, 0.0902939, 0.156285, -0.202908, 0.049825, 0.165025, -0.225213, 0.124595, -0.00210925, -0.00164449, 0.0281997, 0.0171772, 0.118259, 0.0737286, -0.16149, -0.0689448, 0.155305, -0.175737, 0.00137892, 0.170224, -0.0961124, -0.265967, -0.20611, 0.0573926, 0.432559, 0.168564, -0.122163, 0.0571624, -0.0393574, -0.0610366, 0.071344, 0.0299074, -0.113738, -0.0179229, -0.0436408, 0.0608074, 0.205917, 0.0866748, 0.0209013, 0.263666, 0.0228976, 0.0307268, 0.0403442, 0.035415, -0.105188, -0.0733519, -0.0467792, 0.022078, 0.053307, -0.108359, 0.00818931, 0.06266, -0.223834, 0.1759, -0.0215296, -0.0689591, -0.0981493, 0.0681423, -0.0973912, 0.0902572, 0.147521, -0.347928, 0.117237, 0.143078, 0.0655791, 0.166869, -0.0161545, -0.000808923, -0.00869995, -0.0707334, -0.165803, -0.0982898, 0.0219621, -0.0364028, 0.0172211, -0.0176742])

Формирование обучающей и тестовой выборки:

ToDo: переписать блок для большей эффективности и лучшей читабельности

In [4]:
li_train = list()
li_test = list()

men1 =    ["Men1", [1, 0, 0, 0]]
men2 =    ["Men2", [0, 1, 0, 0]]
men3 =    ["Men3", [0, 0, 1, 0]]
female1 = ["Female1", [0, 0, 0, 1]]

someperson = ["SomePerson", [0, 0, 0, 0]]

for person in [men1, men2, men3, female1, someperson]:
    files_on_dir = os.listdir(person[0])
    print(f"Name: {person[0]}\nReal prediction: {person[1]}\nFiles on dir: {len(files_on_dir)}")
    
    train_threshold = len(files_on_dir) * 0.8
    for file_index in range(len(files_on_dir)):
        file_name = person[0] + "/" + files_on_dir[file_index]
        if ".jpg" in file_name:
            if file_index % 10 == 0:
                print(f"Files done: {file_index}/{len(files_on_dir)}")
                
            raw_img = io.imread(file_name)
            dtc_img = detector(raw_img, 1)
            
            for k, d in enumerate(dtc_img):
                shape = sp(raw_img, d)
            descriptor = facerec.compute_face_descriptor(raw_img, shape)
            
            if file_index <= train_threshold:
                li_train.append([descriptor, person[1]])
            else:
                li_test.append([descriptor, person[1]])
Name: Men1
Real prediction: [1, 0, 0, 0]
Files on dir: 178
Files done: 10/178
Files done: 20/178
Files done: 30/178
Files done: 40/178
Files done: 50/178
Files done: 60/178
Files done: 70/178
Files done: 80/178
Files done: 90/178
Files done: 100/178
Files done: 110/178
Files done: 120/178
Files done: 130/178
Files done: 140/178
Files done: 150/178
Files done: 160/178
Files done: 170/178
Name: Men2
Real prediction: [0, 1, 0, 0]
Files on dir: 186
Files done: 10/186
Files done: 20/186
Files done: 30/186
Files done: 40/186
Files done: 50/186
Files done: 60/186
Files done: 70/186
Files done: 80/186
Files done: 90/186
Files done: 100/186
Files done: 110/186
Files done: 120/186
Files done: 130/186
Files done: 140/186
Files done: 150/186
Files done: 160/186
Files done: 170/186
Files done: 180/186
Name: Men3
Real prediction: [0, 0, 1, 0]
Files on dir: 234
Files done: 10/234
Files done: 20/234
Files done: 30/234
Files done: 40/234
Files done: 50/234
Files done: 60/234
Files done: 70/234
Files done: 80/234
Files done: 90/234
Files done: 100/234
Files done: 110/234
Files done: 120/234
Files done: 130/234
Files done: 140/234
Files done: 150/234
Files done: 160/234
Files done: 170/234
Files done: 180/234
Files done: 190/234
Files done: 200/234
Files done: 210/234
Files done: 220/234
Files done: 230/234
Name: Female1
Real prediction: [0, 0, 0, 1]
Files on dir: 203
Files done: 10/203
Files done: 20/203
Files done: 30/203
Files done: 40/203
Files done: 50/203
Files done: 60/203
Files done: 70/203
Files done: 80/203
Files done: 90/203
Files done: 100/203
Files done: 110/203
Files done: 120/203
Files done: 130/203
Files done: 140/203
Files done: 150/203
Files done: 160/203
Files done: 170/203
Files done: 180/203
Files done: 190/203
Files done: 200/203
Name: SomePerson
Real prediction: [0, 0, 0, 0]
Files on dir: 101
Files done: 10/101
Files done: 20/101
Files done: 30/101
Files done: 40/101
Files done: 50/101
Files done: 60/101
Files done: 70/101
Files done: 80/101
Files done: 90/101
Files done: 100/101
In [5]:
print(len(li_train), len(li_test))
719 178
In [6]:
list_with_train_inputs = list()
list_with_train_predictions = list()
list_with_test_inputs = list()
list_with_test_predictions = list()

random.shuffle(li_train)
for i in range(len(li_train)):
    list_with_train_inputs.append(list(li_train[i][0]))
    list_with_train_predictions.append(li_train[i][1])
    
random.shuffle(li_test)
for i in range(len(li_test)):
    list_with_test_inputs.append(list(li_test[i][0]))
    list_with_test_predictions.append(li_test[i][1])
    
print(len(list_with_train_inputs), len(list_with_train_predictions), len(list_with_test_inputs), len(list_with_test_predictions))
719 719 178 178

Нейронная сеть классификатор

In [10]:
model = Sequential()
model.add(Dense(units=256, input_shape=(len(list_with_train_inputs[0]),)))
model.add(Dropout(0.2))
model.add(Dense(units=256, input_shape=(256,), activation="relu"))
model.add(Dropout(0.2))
model.add(Dense(units=4, input_shape=(256,)))
model.compile(loss="mean_squared_error", metrics=['accuracy'])

history = model.fit(list_with_train_inputs, list_with_train_predictions, epochs=500)
Epoch 1/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0594 - accuracy: 0.8220
Epoch 2/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0155 - accuracy: 0.9040
Epoch 3/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0110 - accuracy: 0.9082
Epoch 4/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0081 - accuracy: 0.9166
Epoch 5/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0079 - accuracy: 0.9138
Epoch 6/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0071 - accuracy: 0.9305
Epoch 7/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0067 - accuracy: 0.9179
Epoch 8/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0070 - accuracy: 0.9152
Epoch 9/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0061 - accuracy: 0.9249
Epoch 10/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0067 - accuracy: 0.9096
Epoch 11/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0056 - accuracy: 0.9152
Epoch 12/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0055 - accuracy: 0.9124
Epoch 13/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0060 - accuracy: 0.9110
Epoch 14/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0056 - accuracy: 0.9110
Epoch 15/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0059 - accuracy: 0.9152
Epoch 16/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0057 - accuracy: 0.9207
Epoch 17/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0051 - accuracy: 0.9110
Epoch 18/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0053 - accuracy: 0.9152
Epoch 19/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0051 - accuracy: 0.9138
Epoch 20/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0058 - accuracy: 0.9124
Epoch 21/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0047 - accuracy: 0.9193
Epoch 22/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0048 - accuracy: 0.9068
Epoch 23/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0052 - accuracy: 0.9152
Epoch 24/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0041 - accuracy: 0.9179
Epoch 25/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0046 - accuracy: 0.9221
Epoch 26/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0050 - accuracy: 0.9166
Epoch 27/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9138
Epoch 28/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0050 - accuracy: 0.9166
Epoch 29/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9124
Epoch 30/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0044 - accuracy: 0.9124
Epoch 31/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0045 - accuracy: 0.9166
Epoch 32/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0043 - accuracy: 0.9152
Epoch 33/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0038 - accuracy: 0.9138
Epoch 34/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0042 - accuracy: 0.9166
Epoch 35/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0042 - accuracy: 0.9152
Epoch 36/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0042 - accuracy: 0.9152
Epoch 37/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9124
Epoch 38/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0043 - accuracy: 0.9110
Epoch 39/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0044 - accuracy: 0.9249
Epoch 40/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9138
Epoch 41/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0036 - accuracy: 0.9110
Epoch 42/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0043 - accuracy: 0.9110
Epoch 43/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9124
Epoch 44/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0039 - accuracy: 0.9179
Epoch 45/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9124
Epoch 46/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0039 - accuracy: 0.9166
Epoch 47/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9124
Epoch 48/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0041 - accuracy: 0.9138
Epoch 49/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0038 - accuracy: 0.9068
Epoch 50/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0038 - accuracy: 0.9152
Epoch 51/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9124
Epoch 52/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0037 - accuracy: 0.9221
Epoch 53/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9166
Epoch 54/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9096
Epoch 55/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9124
Epoch 56/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0038 - accuracy: 0.9082
Epoch 57/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0038 - accuracy: 0.9082
Epoch 58/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9110
Epoch 59/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0040 - accuracy: 0.9124
Epoch 60/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9193
Epoch 61/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9235
Epoch 62/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9207
Epoch 63/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9152
Epoch 64/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9138
Epoch 65/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9193
Epoch 66/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9193
Epoch 67/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0037 - accuracy: 0.9193
Epoch 68/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9096
Epoch 69/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9054
Epoch 70/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9277
Epoch 71/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9166
Epoch 72/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9124
Epoch 73/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0036 - accuracy: 0.9124
Epoch 74/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9138
Epoch 75/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9110
Epoch 76/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9179
Epoch 77/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9138
Epoch 78/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9082
Epoch 79/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9124
Epoch 80/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9152
Epoch 81/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9152
Epoch 82/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9096
Epoch 83/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0035 - accuracy: 0.9221
Epoch 84/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9166
Epoch 85/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9082
Epoch 86/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9082
Epoch 87/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9166
Epoch 88/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9166
Epoch 89/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9110
Epoch 90/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9068
Epoch 91/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9152
Epoch 92/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9207
Epoch 93/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9138
Epoch 94/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9138
Epoch 95/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9110
Epoch 96/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9082
Epoch 97/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9207
Epoch 98/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9110
Epoch 99/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9166
Epoch 100/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0034 - accuracy: 0.9110
Epoch 101/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9068
Epoch 102/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9082
Epoch 103/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9082
Epoch 104/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9096
Epoch 105/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9249
Epoch 106/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9110
Epoch 107/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 108/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9082
Epoch 109/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0032 - accuracy: 0.9110
Epoch 110/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9179
Epoch 111/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0033 - accuracy: 0.9082
Epoch 112/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9124
Epoch 113/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 114/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9138
Epoch 115/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 116/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9096
Epoch 117/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9152
Epoch 118/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9138
Epoch 119/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9152
Epoch 120/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9082
Epoch 121/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9193
Epoch 122/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9138
Epoch 123/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9138
Epoch 124/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9138
Epoch 125/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 126/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9166
Epoch 127/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9179
Epoch 128/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9179
Epoch 129/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9207
Epoch 130/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9193
Epoch 131/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0030 - accuracy: 0.9068
Epoch 132/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9138
Epoch 133/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9110
Epoch 134/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9138
Epoch 135/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9166
Epoch 136/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 137/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9082
Epoch 138/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9124
Epoch 139/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9138
Epoch 140/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 141/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9096
Epoch 142/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9096
Epoch 143/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 144/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 145/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9096
Epoch 146/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0031 - accuracy: 0.9193
Epoch 147/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 148/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9096
Epoch 149/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9152
Epoch 150/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 151/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9124
Epoch 152/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9124
Epoch 153/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9124
Epoch 154/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9096
Epoch 155/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 156/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9096
Epoch 157/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9068
Epoch 158/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9082
Epoch 159/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 160/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9138
Epoch 161/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9124
Epoch 162/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9124
Epoch 163/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9096
Epoch 164/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9152
Epoch 165/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9138
Epoch 166/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 167/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 168/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9124
Epoch 169/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 170/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 171/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9166
Epoch 172/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 173/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 174/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9040
Epoch 175/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9152
Epoch 176/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9082
Epoch 177/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9179
Epoch 178/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9026
Epoch 179/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9054
Epoch 180/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9096
Epoch 181/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0029 - accuracy: 0.9138
Epoch 182/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9110
Epoch 183/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9138
Epoch 184/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9054
Epoch 185/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9124
Epoch 186/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9054
Epoch 187/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9152
Epoch 188/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9110
Epoch 189/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9193
Epoch 190/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9221
Epoch 191/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9040
Epoch 192/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9166
Epoch 193/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9082
Epoch 194/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9166
Epoch 195/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9152
Epoch 196/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9124
Epoch 197/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9179
Epoch 198/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9110
Epoch 199/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 200/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9082
Epoch 201/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9152
Epoch 202/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9054
Epoch 203/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9110
Epoch 204/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9096
Epoch 205/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9068
Epoch 206/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 207/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9082
Epoch 208/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9110
Epoch 209/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9124
Epoch 210/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9082
Epoch 211/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9096
Epoch 212/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9096
Epoch 213/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9235
Epoch 214/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 215/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 216/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 217/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 218/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9096
Epoch 219/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9110
Epoch 220/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9193
Epoch 221/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9152
Epoch 222/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9138
Epoch 223/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9040
Epoch 224/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 225/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 226/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 227/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9110
Epoch 228/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 229/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9152
Epoch 230/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9166
Epoch 231/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9166
Epoch 232/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 233/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 234/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9207
Epoch 235/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9193
Epoch 236/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9166
Epoch 237/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 238/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9166
Epoch 239/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 240/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.9138
Epoch 241/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9179
Epoch 242/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9068
Epoch 243/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9166
Epoch 244/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9110
Epoch 245/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9082
Epoch 246/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9054
Epoch 247/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9068
Epoch 248/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 249/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 250/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9138
Epoch 251/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 252/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9082
Epoch 253/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9207
Epoch 254/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9110
Epoch 255/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0028 - accuracy: 0.8999
Epoch 256/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 257/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9068
Epoch 258/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9193
Epoch 259/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 260/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9068
Epoch 261/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0027 - accuracy: 0.9179
Epoch 262/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9138
Epoch 263/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9138
Epoch 264/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 265/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9110
Epoch 266/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9124
Epoch 267/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9138
Epoch 268/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9152
Epoch 269/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 270/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9082
Epoch 271/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 272/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9166
Epoch 273/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 274/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 275/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9068
Epoch 276/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9110
Epoch 277/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9179
Epoch 278/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9054
Epoch 279/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9082
Epoch 280/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9179
Epoch 281/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 282/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9166
Epoch 283/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 284/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 285/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9110
Epoch 286/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 287/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 288/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9221
Epoch 289/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9235
Epoch 290/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9040
Epoch 291/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9193
Epoch 292/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 293/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9096
Epoch 294/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 295/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9152
Epoch 296/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 297/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 298/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9138
Epoch 299/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 300/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9166
Epoch 301/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9110
Epoch 302/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 303/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 304/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 305/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9138
Epoch 306/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 307/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 308/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9193
Epoch 309/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9179
Epoch 310/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 311/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9068
Epoch 312/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9179
Epoch 313/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9193
Epoch 314/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9096
Epoch 315/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9124
Epoch 316/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9207
Epoch 317/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 318/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9110
Epoch 319/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9138
Epoch 320/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9138
Epoch 321/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 322/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 323/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9110
Epoch 324/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 325/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 326/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 327/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9082
Epoch 328/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 329/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9166
Epoch 330/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9193
Epoch 331/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 332/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9124
Epoch 333/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9166
Epoch 334/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9124
Epoch 335/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9054
Epoch 336/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 337/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 338/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9193
Epoch 339/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9235
Epoch 340/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9138
Epoch 341/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9235
Epoch 342/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9193
Epoch 343/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9166
Epoch 344/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9193
Epoch 345/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 346/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9207
Epoch 347/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 348/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9124
Epoch 349/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 350/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 351/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9082
Epoch 352/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9054
Epoch 353/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9054
Epoch 354/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0025 - accuracy: 0.9166
Epoch 355/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9124
Epoch 356/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9124
Epoch 357/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9096
Epoch 358/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9166
Epoch 359/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9054
Epoch 360/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 361/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0026 - accuracy: 0.9082
Epoch 362/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9124
Epoch 363/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9068
Epoch 364/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 365/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 366/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9026
Epoch 367/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 368/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9249
Epoch 369/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 370/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9152
Epoch 371/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9152
Epoch 372/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 373/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 374/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9068
Epoch 375/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9110
Epoch 376/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 377/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9096
Epoch 378/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9152
Epoch 379/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9054
Epoch 380/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 381/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9096
Epoch 382/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 383/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 384/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9110
Epoch 385/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9082
Epoch 386/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9166
Epoch 387/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9179
Epoch 388/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 389/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9082
Epoch 390/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9166
Epoch 391/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9166
Epoch 392/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 393/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9179
Epoch 394/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9152
Epoch 395/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9193
Epoch 396/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9068
Epoch 397/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 398/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9152
Epoch 399/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 400/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 401/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9138
Epoch 402/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9068
Epoch 403/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 404/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 405/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9054
Epoch 406/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9152
Epoch 407/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9207
Epoch 408/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 409/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 410/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9096
Epoch 411/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9068
Epoch 412/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9124
Epoch 413/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 414/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 415/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9193
Epoch 416/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9179
Epoch 417/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9082
Epoch 418/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 419/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9124
Epoch 420/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 421/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9082
Epoch 422/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 423/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9207
Epoch 424/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9082
Epoch 425/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 426/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 427/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9082
Epoch 428/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9179
Epoch 429/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 430/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9152
Epoch 431/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 432/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9110
Epoch 433/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 434/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9152
Epoch 435/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9207
Epoch 436/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9249
Epoch 437/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9110
Epoch 438/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9207
Epoch 439/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9110
Epoch 440/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9096
Epoch 441/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9096
Epoch 442/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9152
Epoch 443/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9082
Epoch 444/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 445/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9124
Epoch 446/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9152
Epoch 447/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 448/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9138
Epoch 449/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 450/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9166
Epoch 451/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9124
Epoch 452/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9096
Epoch 453/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9124
Epoch 454/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9179
Epoch 455/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9152
Epoch 456/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9207
Epoch 457/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 458/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9179
Epoch 459/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0018 - accuracy: 0.9193
Epoch 460/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9166
Epoch 461/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9138
Epoch 462/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 463/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 464/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9207
Epoch 465/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9152
Epoch 466/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9068
Epoch 467/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0018 - accuracy: 0.9110
Epoch 468/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9096
Epoch 469/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9221
Epoch 470/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0023 - accuracy: 0.9124
Epoch 471/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9013
Epoch 472/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9207
Epoch 473/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9124
Epoch 474/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 475/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 476/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0024 - accuracy: 0.9193
Epoch 477/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9096
Epoch 478/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9207
Epoch 479/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9082
Epoch 480/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9166
Epoch 481/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9082
Epoch 482/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0018 - accuracy: 0.9152
Epoch 483/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9124
Epoch 484/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9193
Epoch 485/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 486/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9138
Epoch 487/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9082
Epoch 488/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9124
Epoch 489/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9138
Epoch 490/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9138
Epoch 491/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9124
Epoch 492/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9166
Epoch 493/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9110
Epoch 494/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 495/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0020 - accuracy: 0.9193
Epoch 496/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9082
Epoch 497/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9193
Epoch 498/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0019 - accuracy: 0.9096
Epoch 499/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0021 - accuracy: 0.9179
Epoch 500/500
23/23 [==============================] - 0s 2ms/step - loss: 0.0022 - accuracy: 0.9054
In [11]:
pyplot.plot(history.history['accuracy'])

pyplot.title('Средняя точность эпох')
pyplot.ylabel('Точность')
pyplot.xlabel('Эпоха')
pyplot.grid()

Тестирование точности предсказаний нейронной сетиисходя из тестовой выборки

In [12]:
model.evaluate(list_with_train_inputs, list_with_train_predictions)
Out [12]:
23/23 [==============================] - 0s 1ms/step - loss: 9.0275e-04 - accuracy: 0.9166
[0.0009027527994476259, 0.9165507555007935]