Files
Face-recognition/Face recognition/Face recognition.ipynb
T

186 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 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()

for i in range(5):
    if i == 0:
        file = "Men1/Men1_"
        pred = [1, 0, 0, 0]
    elif i == 1:
        file = "Men2/Men2_"
        pred = [0, 1, 0, 0]
    elif i == 2:
        file = "Men3/Men3_"
        pred = [0, 0, 1, 0]
    elif i == 3:
        file = "Female1/Female1_"
        pred = [0, 0, 0, 1]
    else:
        file = "SomePerson/SomePerson_"
        pred = [0, 0, 0, 0]
        
    li = list()    
    counter = 0
    while True:
        try:
            if counter % 10 == 0:
                print(counter, file)
            if len(str(counter)) == 1:
                c = "00" + str(counter)
            elif len(str(counter)) == 2:
                c = "0" + str(counter)
            else:
                c = str(counter)

            raw_img = io.imread(file + str(c) + ".jpg")
            dtc_img = detector(raw_img, 1)
            for k, d in enumerate(dtc_img):
                shape = sp(raw_img, d)

            li.append([facerec.compute_face_descriptor(raw_img, shape), pred])
                                                                                                                                    
            counter += 1
        except:
            for _ in range(len(li) // 10):
                rand_index = random.randint(0, len(li) - 1)
                li_test.append(li[rand_index])
                del li[rand_index]
            li_train += li
            
            print("Done!")
            break
0 Men1/Men1_
10 Men1/Men1_
20 Men1/Men1_
30 Men1/Men1_
40 Men1/Men1_
50 Men1/Men1_
60 Men1/Men1_
70 Men1/Men1_
80 Men1/Men1_
90 Men1/Men1_
100 Men1/Men1_
110 Men1/Men1_
120 Men1/Men1_
130 Men1/Men1_
140 Men1/Men1_
150 Men1/Men1_
160 Men1/Men1_
170 Men1/Men1_
Done!
0 Men2/Men2_
10 Men2/Men2_
20 Men2/Men2_
30 Men2/Men2_
40 Men2/Men2_
50 Men2/Men2_
60 Men2/Men2_
70 Men2/Men2_
80 Men2/Men2_
90 Men2/Men2_
100 Men2/Men2_
110 Men2/Men2_
120 Men2/Men2_
130 Men2/Men2_
140 Men2/Men2_
150 Men2/Men2_
160 Men2/Men2_
170 Men2/Men2_
180 Men2/Men2_
Done!
0 Men3/Men3_
10 Men3/Men3_
20 Men3/Men3_
30 Men3/Men3_
40 Men3/Men3_
50 Men3/Men3_
60 Men3/Men3_
70 Men3/Men3_
80 Men3/Men3_
90 Men3/Men3_
100 Men3/Men3_
110 Men3/Men3_
120 Men3/Men3_
130 Men3/Men3_
140 Men3/Men3_
150 Men3/Men3_
160 Men3/Men3_
170 Men3/Men3_
180 Men3/Men3_
190 Men3/Men3_
200 Men3/Men3_
210 Men3/Men3_
220 Men3/Men3_
230 Men3/Men3_
Done!
0 Female1/Female1_
10 Female1/Female1_
20 Female1/Female1_
30 Female1/Female1_
40 Female1/Female1_
50 Female1/Female1_
60 Female1/Female1_
70 Female1/Female1_
80 Female1/Female1_
90 Female1/Female1_
100 Female1/Female1_
110 Female1/Female1_
120 Female1/Female1_
130 Female1/Female1_
140 Female1/Female1_
150 Female1/Female1_
160 Female1/Female1_
170 Female1/Female1_
180 Female1/Female1_
190 Female1/Female1_
200 Female1/Female1_
Done!
0 SomePerson/SomePerson_
10 SomePerson/SomePerson_
20 SomePerson/SomePerson_
30 SomePerson/SomePerson_
40 SomePerson/SomePerson_
50 SomePerson/SomePerson_
60 SomePerson/SomePerson_
70 SomePerson/SomePerson_
80 SomePerson/SomePerson_
90 SomePerson/SomePerson_
100 SomePerson/SomePerson_
Done!
In [5]:
print(len(li_train), len(li_test))
809 88
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))
809 809 88 88

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

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

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

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

In [18]:
model.evaluate(list_with_train_inputs, list_with_train_predictions)
Out [18]:
26/26 [==============================] - 0s 1ms/step - loss: 0.0013 - accuracy: 0.9642
[0.0013105241814628243, 0.9641532897949219]