Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
538 KiB
538 KiB
import os
os.chdir('/content/drive/MyDrive/Colab Notebooks')from tensorflow import keras
import matplotlib.pyplot as plt
import numpy as np
import sklearnfrom keras.datasets import mnist
(X_train, y_train), (X_test, y_test) = mnist.load_data()from sklearn.model_selection import train_test_splitX = np.concatenate((X_train, X_test))
y = np.concatenate((y_train, y_test))X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 10000, train_size = 60000, random_state = 7)print('Shape of X train:', X_train.shape)
print('Shape of y train:', y_train.shape)Shape of X train: (60000, 28, 28)
Shape of y train: (60000,)
fig, axes = plt.subplots(1, 4, figsize=(10, 3))
for i in range(4):
axes[i].imshow(X_train[i], cmap=plt.get_cmap('gray'))
axes[i].set_title(f'Label: {y_train[i]}')
plt.show()
num_pixels = X_train.shape[1] * X_train.shape[2]
X_train = X_train.reshape(X_train.shape[0], num_pixels) / 255
X_test = X_test.reshape(X_test.shape[0], num_pixels) / 255
print('Shape of transformed X train:', X_train.shape)Shape of transformed X train: (60000, 784)
from keras.utils import to_categorical
y_train = to_categorical(y_train)
y_test = to_categorical(y_test)
print('Shape of transformed y train:', y_train.shape)
num_classes = y_train.shape[1]Shape of transformed y train: (60000, 10)
from keras.models import Sequential
from keras.layers import Densemodel_01 = Sequential()
model_01.add(Dense(units=num_classes,input_dim=num_pixels, activation='softmax'))
model_01.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01.summary()Model: "sequential_1"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_1 (Dense) │ (None, 10) │ 7,850 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 7,850 (30.66 KB)
Trainable params: 7,850 (30.66 KB)
Non-trainable params: 0 (0.00 B)
H = model_01.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size = 512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 3s 20ms/step - accuracy: 0.2095 - loss: 2.2063 - val_accuracy: 0.6653 - val_loss: 1.5891
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6920 - loss: 1.4764 - val_accuracy: 0.7613 - val_loss: 1.1972
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7728 - loss: 1.1430 - val_accuracy: 0.7987 - val_loss: 0.9912
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8014 - loss: 0.9647 - val_accuracy: 0.8177 - val_loss: 0.8671
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8211 - loss: 0.8510 - val_accuracy: 0.8283 - val_loss: 0.7843
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8318 - loss: 0.7777 - val_accuracy: 0.8390 - val_loss: 0.7248
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8396 - loss: 0.7273 - val_accuracy: 0.8442 - val_loss: 0.6802
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8461 - loss: 0.6806 - val_accuracy: 0.8497 - val_loss: 0.6450
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8508 - loss: 0.6451 - val_accuracy: 0.8550 - val_loss: 0.6166
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8543 - loss: 0.6222 - val_accuracy: 0.8587 - val_loss: 0.5931
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8585 - loss: 0.5973 - val_accuracy: 0.8617 - val_loss: 0.5732
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8626 - loss: 0.5734 - val_accuracy: 0.8660 - val_loss: 0.5562
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8643 - loss: 0.5583 - val_accuracy: 0.8682 - val_loss: 0.5415
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8670 - loss: 0.5490 - val_accuracy: 0.8715 - val_loss: 0.5286
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8682 - loss: 0.5379 - val_accuracy: 0.8733 - val_loss: 0.5171
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8707 - loss: 0.5242 - val_accuracy: 0.8753 - val_loss: 0.5068
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8712 - loss: 0.5152 - val_accuracy: 0.8767 - val_loss: 0.4976
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8739 - loss: 0.5033 - val_accuracy: 0.8768 - val_loss: 0.4892
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8754 - loss: 0.4947 - val_accuracy: 0.8783 - val_loss: 0.4816
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8790 - loss: 0.4828 - val_accuracy: 0.8792 - val_loss: 0.4745
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8787 - loss: 0.4765 - val_accuracy: 0.8812 - val_loss: 0.4681
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8805 - loss: 0.4713 - val_accuracy: 0.8823 - val_loss: 0.4622
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8799 - loss: 0.4695 - val_accuracy: 0.8830 - val_loss: 0.4566
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8828 - loss: 0.4591 - val_accuracy: 0.8832 - val_loss: 0.4515
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8808 - loss: 0.4615 - val_accuracy: 0.8847 - val_loss: 0.4467
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.8831 - loss: 0.4495 - val_accuracy: 0.8862 - val_loss: 0.4422
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 12ms/step - accuracy: 0.8812 - loss: 0.4527 - val_accuracy: 0.8867 - val_loss: 0.4379
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 7ms/step - accuracy: 0.8831 - loss: 0.4480 - val_accuracy: 0.8868 - val_loss: 0.4339
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 8ms/step - accuracy: 0.8845 - loss: 0.4422 - val_accuracy: 0.8883 - val_loss: 0.4301
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.8870 - loss: 0.4303 - val_accuracy: 0.8882 - val_loss: 0.4266
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8880 - loss: 0.4299 - val_accuracy: 0.8888 - val_loss: 0.4232
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8853 - loss: 0.4295 - val_accuracy: 0.8892 - val_loss: 0.4200
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8874 - loss: 0.4265 - val_accuracy: 0.8902 - val_loss: 0.4170
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8889 - loss: 0.4224 - val_accuracy: 0.8903 - val_loss: 0.4141
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8898 - loss: 0.4177 - val_accuracy: 0.8912 - val_loss: 0.4113
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8893 - loss: 0.4161 - val_accuracy: 0.8927 - val_loss: 0.4086
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8871 - loss: 0.4173 - val_accuracy: 0.8927 - val_loss: 0.4061
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8894 - loss: 0.4145 - val_accuracy: 0.8932 - val_loss: 0.4037
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8911 - loss: 0.4061 - val_accuracy: 0.8932 - val_loss: 0.4014
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8889 - loss: 0.4107 - val_accuracy: 0.8938 - val_loss: 0.3992
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8902 - loss: 0.4036 - val_accuracy: 0.8937 - val_loss: 0.3970
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8920 - loss: 0.4016 - val_accuracy: 0.8948 - val_loss: 0.3949
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8933 - loss: 0.3972 - val_accuracy: 0.8950 - val_loss: 0.3930
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8935 - loss: 0.4007 - val_accuracy: 0.8952 - val_loss: 0.3910
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8944 - loss: 0.3934 - val_accuracy: 0.8958 - val_loss: 0.3892
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8913 - loss: 0.4002 - val_accuracy: 0.8960 - val_loss: 0.3874
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8919 - loss: 0.3979 - val_accuracy: 0.8965 - val_loss: 0.3857
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8914 - loss: 0.3920 - val_accuracy: 0.8965 - val_loss: 0.3840
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8940 - loss: 0.3909 - val_accuracy: 0.8968 - val_loss: 0.3824
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8949 - loss: 0.3865 - val_accuracy: 0.8968 - val_loss: 0.3808
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8951 - loss: 0.3862 - val_accuracy: 0.8970 - val_loss: 0.3793
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8925 - loss: 0.3961 - val_accuracy: 0.8975 - val_loss: 0.3779
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8960 - loss: 0.3798 - val_accuracy: 0.8978 - val_loss: 0.3765
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8967 - loss: 0.3809 - val_accuracy: 0.8985 - val_loss: 0.3751
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8967 - loss: 0.3788 - val_accuracy: 0.8988 - val_loss: 0.3737
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8952 - loss: 0.3793 - val_accuracy: 0.8987 - val_loss: 0.3724
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8937 - loss: 0.3808 - val_accuracy: 0.8987 - val_loss: 0.3712
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8994 - loss: 0.3762 - val_accuracy: 0.8990 - val_loss: 0.3700
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8941 - loss: 0.3793 - val_accuracy: 0.8997 - val_loss: 0.3688
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8965 - loss: 0.3778 - val_accuracy: 0.8992 - val_loss: 0.3676
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8972 - loss: 0.3743 - val_accuracy: 0.9000 - val_loss: 0.3664
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8986 - loss: 0.3720 - val_accuracy: 0.8993 - val_loss: 0.3653
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8992 - loss: 0.3693 - val_accuracy: 0.8995 - val_loss: 0.3643
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9013 - loss: 0.3642 - val_accuracy: 0.9003 - val_loss: 0.3632
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8990 - loss: 0.3690 - val_accuracy: 0.9008 - val_loss: 0.3622
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8982 - loss: 0.3755 - val_accuracy: 0.9012 - val_loss: 0.3612
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.9025 - loss: 0.3612 - val_accuracy: 0.9015 - val_loss: 0.3602
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8996 - loss: 0.3693 - val_accuracy: 0.9022 - val_loss: 0.3592
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.9001 - loss: 0.3653 - val_accuracy: 0.9025 - val_loss: 0.3583
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8981 - loss: 0.3681 - val_accuracy: 0.9027 - val_loss: 0.3574
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8998 - loss: 0.3668 - val_accuracy: 0.9027 - val_loss: 0.3565
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8971 - loss: 0.3674 - val_accuracy: 0.9035 - val_loss: 0.3556
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9010 - loss: 0.3587 - val_accuracy: 0.9038 - val_loss: 0.3548
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9005 - loss: 0.3586 - val_accuracy: 0.9037 - val_loss: 0.3540
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9006 - loss: 0.3586 - val_accuracy: 0.9042 - val_loss: 0.3531
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9012 - loss: 0.3622 - val_accuracy: 0.9043 - val_loss: 0.3523
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9017 - loss: 0.3592 - val_accuracy: 0.9045 - val_loss: 0.3516
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8973 - loss: 0.3651 - val_accuracy: 0.9047 - val_loss: 0.3508
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.9019 - loss: 0.3582 - val_accuracy: 0.9053 - val_loss: 0.3500
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9030 - loss: 0.3522 - val_accuracy: 0.9053 - val_loss: 0.3493
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9038 - loss: 0.3513 - val_accuracy: 0.9053 - val_loss: 0.3485
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9009 - loss: 0.3582 - val_accuracy: 0.9053 - val_loss: 0.3479
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9022 - loss: 0.3518 - val_accuracy: 0.9050 - val_loss: 0.3472
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9016 - loss: 0.3538 - val_accuracy: 0.9053 - val_loss: 0.3465
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9033 - loss: 0.3485 - val_accuracy: 0.9052 - val_loss: 0.3458
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9025 - loss: 0.3505 - val_accuracy: 0.9057 - val_loss: 0.3451
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.9023 - loss: 0.3536 - val_accuracy: 0.9058 - val_loss: 0.3445
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.9038 - loss: 0.3499 - val_accuracy: 0.9057 - val_loss: 0.3438
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.9030 - loss: 0.3479 - val_accuracy: 0.9057 - val_loss: 0.3433
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 8ms/step - accuracy: 0.9039 - loss: 0.3473 - val_accuracy: 0.9058 - val_loss: 0.3426
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.9029 - loss: 0.3489 - val_accuracy: 0.9057 - val_loss: 0.3420
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.9023 - loss: 0.3500 - val_accuracy: 0.9057 - val_loss: 0.3414
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.9031 - loss: 0.3477 - val_accuracy: 0.9060 - val_loss: 0.3408
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9052 - loss: 0.3436 - val_accuracy: 0.9065 - val_loss: 0.3403
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.9057 - loss: 0.3427 - val_accuracy: 0.9068 - val_loss: 0.3397
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9030 - loss: 0.3457 - val_accuracy: 0.9068 - val_loss: 0.3392
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.9044 - loss: 0.3381 - val_accuracy: 0.9068 - val_loss: 0.3386
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9027 - loss: 0.3466 - val_accuracy: 0.9072 - val_loss: 0.3381
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.9050 - loss: 0.3393 - val_accuracy: 0.9072 - val_loss: 0.3376
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9071 - loss: 0.3384 - val_accuracy: 0.9073 - val_loss: 0.3371
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H.history['loss'], label='Обучающая ошибка')
plt.plot(H.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores=model_01.evaluate(X_test,y_test)
print('Loss on test data:', scores[0])
print('Accuracy on test data:', scores[1])313/313 ━━━━━━━━━━━━━━━━━━━━ 2s 5ms/step - accuracy: 0.9079 - loss: 0.3455
Loss on test data: 0.3511466085910797
Accuracy on test data: 0.9067999720573425
model_01_100 = Sequential()
model_01_100.add(Dense(units=100,input_dim=num_pixels, activation='sigmoid'))
model_01_100.add(Dense(units=num_classes, activation='softmax'))
model_01_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01_100.summary()Model: "sequential_2"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_2 (Dense) │ (None, 100) │ 78,500 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_3 (Dense) │ (None, 10) │ 1,010 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 79,510 (310.59 KB)
Trainable params: 79,510 (310.59 KB)
Non-trainable params: 0 (0.00 B)
H_01_100 = model_01_100.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size = 512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 3s 15ms/step - accuracy: 0.1144 - loss: 2.3654 - val_accuracy: 0.3688 - val_loss: 2.1933
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.4250 - loss: 2.1612 - val_accuracy: 0.5125 - val_loss: 2.0693
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.5401 - loss: 2.0408 - val_accuracy: 0.5837 - val_loss: 1.9510
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6047 - loss: 1.9234 - val_accuracy: 0.6332 - val_loss: 1.8370
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6477 - loss: 1.8073 - val_accuracy: 0.6737 - val_loss: 1.7282
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6824 - loss: 1.7042 - val_accuracy: 0.6938 - val_loss: 1.6254
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7016 - loss: 1.6027 - val_accuracy: 0.7125 - val_loss: 1.5291
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7249 - loss: 1.5062 - val_accuracy: 0.7350 - val_loss: 1.4398
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7420 - loss: 1.4167 - val_accuracy: 0.7503 - val_loss: 1.3581
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7577 - loss: 1.3384 - val_accuracy: 0.7622 - val_loss: 1.2836
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7648 - loss: 1.2675 - val_accuracy: 0.7778 - val_loss: 1.2161
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7779 - loss: 1.2033 - val_accuracy: 0.7828 - val_loss: 1.1551
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7861 - loss: 1.1414 - val_accuracy: 0.7915 - val_loss: 1.0999
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.7918 - loss: 1.0921 - val_accuracy: 0.7960 - val_loss: 1.0504
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.7972 - loss: 1.0415 - val_accuracy: 0.8032 - val_loss: 1.0054
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8019 - loss: 1.0022 - val_accuracy: 0.8088 - val_loss: 0.9647
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8095 - loss: 0.9625 - val_accuracy: 0.8145 - val_loss: 0.9277
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8178 - loss: 0.9236 - val_accuracy: 0.8203 - val_loss: 0.8941
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8203 - loss: 0.8889 - val_accuracy: 0.8260 - val_loss: 0.8635
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8221 - loss: 0.8632 - val_accuracy: 0.8298 - val_loss: 0.8356
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8258 - loss: 0.8351 - val_accuracy: 0.8335 - val_loss: 0.8099
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8318 - loss: 0.8071 - val_accuracy: 0.8363 - val_loss: 0.7863
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8335 - loss: 0.7909 - val_accuracy: 0.8380 - val_loss: 0.7646
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8362 - loss: 0.7637 - val_accuracy: 0.8407 - val_loss: 0.7445
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8395 - loss: 0.7427 - val_accuracy: 0.8448 - val_loss: 0.7258
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8406 - loss: 0.7290 - val_accuracy: 0.8463 - val_loss: 0.7085
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8455 - loss: 0.7081 - val_accuracy: 0.8498 - val_loss: 0.6924
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8491 - loss: 0.6921 - val_accuracy: 0.8515 - val_loss: 0.6773
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8484 - loss: 0.6778 - val_accuracy: 0.8533 - val_loss: 0.6634
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8515 - loss: 0.6648 - val_accuracy: 0.8563 - val_loss: 0.6501
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8505 - loss: 0.6549 - val_accuracy: 0.8575 - val_loss: 0.6377
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8557 - loss: 0.6389 - val_accuracy: 0.8587 - val_loss: 0.6261
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8562 - loss: 0.6298 - val_accuracy: 0.8607 - val_loss: 0.6150
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8590 - loss: 0.6148 - val_accuracy: 0.8612 - val_loss: 0.6047
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 10ms/step - accuracy: 0.8597 - loss: 0.6065 - val_accuracy: 0.8630 - val_loss: 0.5949
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8602 - loss: 0.5975 - val_accuracy: 0.8652 - val_loss: 0.5856
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8623 - loss: 0.5877 - val_accuracy: 0.8675 - val_loss: 0.5768
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8639 - loss: 0.5819 - val_accuracy: 0.8703 - val_loss: 0.5683
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8657 - loss: 0.5723 - val_accuracy: 0.8712 - val_loss: 0.5604
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8644 - loss: 0.5693 - val_accuracy: 0.8715 - val_loss: 0.5528
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8694 - loss: 0.5554 - val_accuracy: 0.8742 - val_loss: 0.5456
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8707 - loss: 0.5489 - val_accuracy: 0.8738 - val_loss: 0.5387
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8680 - loss: 0.5462 - val_accuracy: 0.8745 - val_loss: 0.5321
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8710 - loss: 0.5413 - val_accuracy: 0.8758 - val_loss: 0.5257
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8741 - loss: 0.5287 - val_accuracy: 0.8753 - val_loss: 0.5198
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8735 - loss: 0.5253 - val_accuracy: 0.8768 - val_loss: 0.5139
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8760 - loss: 0.5145 - val_accuracy: 0.8782 - val_loss: 0.5085
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8737 - loss: 0.5136 - val_accuracy: 0.8783 - val_loss: 0.5031
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8758 - loss: 0.5064 - val_accuracy: 0.8792 - val_loss: 0.4979
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8763 - loss: 0.5030 - val_accuracy: 0.8800 - val_loss: 0.4930
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8776 - loss: 0.4976 - val_accuracy: 0.8812 - val_loss: 0.4884
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8780 - loss: 0.4931 - val_accuracy: 0.8817 - val_loss: 0.4837
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8770 - loss: 0.4895 - val_accuracy: 0.8827 - val_loss: 0.4793
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8774 - loss: 0.4899 - val_accuracy: 0.8827 - val_loss: 0.4752
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8791 - loss: 0.4836 - val_accuracy: 0.8832 - val_loss: 0.4710
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8800 - loss: 0.4794 - val_accuracy: 0.8835 - val_loss: 0.4671
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8793 - loss: 0.4749 - val_accuracy: 0.8840 - val_loss: 0.4633
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8813 - loss: 0.4680 - val_accuracy: 0.8845 - val_loss: 0.4596
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8820 - loss: 0.4681 - val_accuracy: 0.8855 - val_loss: 0.4561
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8833 - loss: 0.4603 - val_accuracy: 0.8860 - val_loss: 0.4526
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8844 - loss: 0.4572 - val_accuracy: 0.8870 - val_loss: 0.4493
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8832 - loss: 0.4597 - val_accuracy: 0.8875 - val_loss: 0.4461
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8853 - loss: 0.4462 - val_accuracy: 0.8877 - val_loss: 0.4429
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8835 - loss: 0.4553 - val_accuracy: 0.8885 - val_loss: 0.4399
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8836 - loss: 0.4501 - val_accuracy: 0.8888 - val_loss: 0.4370
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8866 - loss: 0.4395 - val_accuracy: 0.8887 - val_loss: 0.4342
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8855 - loss: 0.4425 - val_accuracy: 0.8897 - val_loss: 0.4314
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8869 - loss: 0.4374 - val_accuracy: 0.8903 - val_loss: 0.4287
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8904 - loss: 0.4308 - val_accuracy: 0.8907 - val_loss: 0.4261
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8888 - loss: 0.4320 - val_accuracy: 0.8912 - val_loss: 0.4235
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8885 - loss: 0.4294 - val_accuracy: 0.8918 - val_loss: 0.4210
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8880 - loss: 0.4278 - val_accuracy: 0.8920 - val_loss: 0.4187
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8869 - loss: 0.4253 - val_accuracy: 0.8925 - val_loss: 0.4163
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8895 - loss: 0.4194 - val_accuracy: 0.8920 - val_loss: 0.4141
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8882 - loss: 0.4211 - val_accuracy: 0.8930 - val_loss: 0.4118
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8900 - loss: 0.4162 - val_accuracy: 0.8930 - val_loss: 0.4097
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8889 - loss: 0.4184 - val_accuracy: 0.8937 - val_loss: 0.4075
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8916 - loss: 0.4116 - val_accuracy: 0.8937 - val_loss: 0.4054
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8895 - loss: 0.4163 - val_accuracy: 0.8948 - val_loss: 0.4035
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8917 - loss: 0.4078 - val_accuracy: 0.8950 - val_loss: 0.4015
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8919 - loss: 0.4042 - val_accuracy: 0.8953 - val_loss: 0.3996
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8933 - loss: 0.4036 - val_accuracy: 0.8960 - val_loss: 0.3977
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8926 - loss: 0.4025 - val_accuracy: 0.8960 - val_loss: 0.3959
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8931 - loss: 0.4006 - val_accuracy: 0.8955 - val_loss: 0.3941
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8930 - loss: 0.3955 - val_accuracy: 0.8963 - val_loss: 0.3924
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8921 - loss: 0.3990 - val_accuracy: 0.8967 - val_loss: 0.3907
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8923 - loss: 0.4006 - val_accuracy: 0.8970 - val_loss: 0.3890
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8934 - loss: 0.3962 - val_accuracy: 0.8970 - val_loss: 0.3874
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8929 - loss: 0.3946 - val_accuracy: 0.8978 - val_loss: 0.3858
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8930 - loss: 0.3918 - val_accuracy: 0.8982 - val_loss: 0.3843
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8957 - loss: 0.3865 - val_accuracy: 0.8987 - val_loss: 0.3827
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8957 - loss: 0.3871 - val_accuracy: 0.8987 - val_loss: 0.3812
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8948 - loss: 0.3862 - val_accuracy: 0.8983 - val_loss: 0.3797
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8953 - loss: 0.3856 - val_accuracy: 0.8992 - val_loss: 0.3784
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8948 - loss: 0.3884 - val_accuracy: 0.8997 - val_loss: 0.3769
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8962 - loss: 0.3833 - val_accuracy: 0.8997 - val_loss: 0.3755
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8961 - loss: 0.3814 - val_accuracy: 0.8995 - val_loss: 0.3742
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8946 - loss: 0.3817 - val_accuracy: 0.8997 - val_loss: 0.3728
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8993 - loss: 0.3725 - val_accuracy: 0.8998 - val_loss: 0.3716
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8956 - loss: 0.3770 - val_accuracy: 0.9008 - val_loss: 0.3703
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H_01_100.history['loss'], label='Обучающая ошибка')
plt.plot(H_01_100.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores_01_100=model_01_100.evaluate(X_test,y_test)
print('Loss on test data:', scores_01_100[0])
print('Accuracy on test data:', scores_01_100[1])313/313 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8996 - loss: 0.3781
Loss on test data: 0.3824511766433716
Accuracy on test data: 0.9000999927520752
model_01_300 = Sequential()
model_01_300.add(Dense(units=300,input_dim=num_pixels, activation='sigmoid'))
model_01_300.add(Dense(units=num_classes, activation='softmax'))
model_01_300.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01_300.summary()Model: "sequential_3"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_4 (Dense) │ (None, 300) │ 235,500 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_5 (Dense) │ (None, 10) │ 3,010 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 238,510 (931.68 KB)
Trainable params: 238,510 (931.68 KB)
Non-trainable params: 0 (0.00 B)
H_01_300 = model_01_300.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size = 512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 3s 15ms/step - accuracy: 0.1505 - loss: 2.3045 - val_accuracy: 0.4097 - val_loss: 2.1516
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.4658 - loss: 2.1130 - val_accuracy: 0.6090 - val_loss: 2.0029
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6184 - loss: 1.9658 - val_accuracy: 0.6613 - val_loss: 1.8630
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6724 - loss: 1.8277 - val_accuracy: 0.6930 - val_loss: 1.7323
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7051 - loss: 1.6994 - val_accuracy: 0.7148 - val_loss: 1.6098
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7326 - loss: 1.5800 - val_accuracy: 0.7342 - val_loss: 1.4971
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7469 - loss: 1.4727 - val_accuracy: 0.7588 - val_loss: 1.3944
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7653 - loss: 1.3697 - val_accuracy: 0.7695 - val_loss: 1.3020
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7743 - loss: 1.2805 - val_accuracy: 0.7807 - val_loss: 1.2195
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7847 - loss: 1.2033 - val_accuracy: 0.7938 - val_loss: 1.1460
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7962 - loss: 1.1317 - val_accuracy: 0.8002 - val_loss: 1.0810
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8011 - loss: 1.0689 - val_accuracy: 0.8062 - val_loss: 1.0232
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8078 - loss: 1.0127 - val_accuracy: 0.8147 - val_loss: 0.9722
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8136 - loss: 0.9662 - val_accuracy: 0.8175 - val_loss: 0.9268
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8231 - loss: 0.9161 - val_accuracy: 0.8242 - val_loss: 0.8865
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8246 - loss: 0.8816 - val_accuracy: 0.8273 - val_loss: 0.8504
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8300 - loss: 0.8454 - val_accuracy: 0.8343 - val_loss: 0.8180
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8367 - loss: 0.8115 - val_accuracy: 0.8368 - val_loss: 0.7888
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8357 - loss: 0.7875 - val_accuracy: 0.8405 - val_loss: 0.7624
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8418 - loss: 0.7579 - val_accuracy: 0.8433 - val_loss: 0.7383
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8453 - loss: 0.7354 - val_accuracy: 0.8465 - val_loss: 0.7163
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8475 - loss: 0.7119 - val_accuracy: 0.8480 - val_loss: 0.6967
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8481 - loss: 0.6960 - val_accuracy: 0.8522 - val_loss: 0.6779
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8495 - loss: 0.6779 - val_accuracy: 0.8538 - val_loss: 0.6611
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8523 - loss: 0.6607 - val_accuracy: 0.8553 - val_loss: 0.6455
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8566 - loss: 0.6454 - val_accuracy: 0.8575 - val_loss: 0.6311
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8562 - loss: 0.6301 - val_accuracy: 0.8578 - val_loss: 0.6179
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8585 - loss: 0.6245 - val_accuracy: 0.8613 - val_loss: 0.6053
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8580 - loss: 0.6083 - val_accuracy: 0.8628 - val_loss: 0.5934
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8598 - loss: 0.6007 - val_accuracy: 0.8637 - val_loss: 0.5829
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8611 - loss: 0.5887 - val_accuracy: 0.8658 - val_loss: 0.5725
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8633 - loss: 0.5788 - val_accuracy: 0.8663 - val_loss: 0.5629
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8652 - loss: 0.5647 - val_accuracy: 0.8685 - val_loss: 0.5539
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8662 - loss: 0.5548 - val_accuracy: 0.8703 - val_loss: 0.5454
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8662 - loss: 0.5513 - val_accuracy: 0.8712 - val_loss: 0.5373
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8719 - loss: 0.5373 - val_accuracy: 0.8728 - val_loss: 0.5297
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8695 - loss: 0.5371 - val_accuracy: 0.8727 - val_loss: 0.5227
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8693 - loss: 0.5309 - val_accuracy: 0.8758 - val_loss: 0.5157
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8715 - loss: 0.5210 - val_accuracy: 0.8753 - val_loss: 0.5094
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8704 - loss: 0.5181 - val_accuracy: 0.8760 - val_loss: 0.5032
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8729 - loss: 0.5101 - val_accuracy: 0.8780 - val_loss: 0.4974
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8767 - loss: 0.4976 - val_accuracy: 0.8792 - val_loss: 0.4918
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8736 - loss: 0.5012 - val_accuracy: 0.8783 - val_loss: 0.4866
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8749 - loss: 0.4963 - val_accuracy: 0.8803 - val_loss: 0.4815
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8769 - loss: 0.4890 - val_accuracy: 0.8817 - val_loss: 0.4767
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8757 - loss: 0.4865 - val_accuracy: 0.8827 - val_loss: 0.4719
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8781 - loss: 0.4813 - val_accuracy: 0.8832 - val_loss: 0.4675
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8791 - loss: 0.4729 - val_accuracy: 0.8835 - val_loss: 0.4633
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8798 - loss: 0.4691 - val_accuracy: 0.8847 - val_loss: 0.4592
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8831 - loss: 0.4595 - val_accuracy: 0.8852 - val_loss: 0.4553
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8802 - loss: 0.4627 - val_accuracy: 0.8858 - val_loss: 0.4515
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8839 - loss: 0.4528 - val_accuracy: 0.8867 - val_loss: 0.4479
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8836 - loss: 0.4487 - val_accuracy: 0.8865 - val_loss: 0.4446
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8825 - loss: 0.4520 - val_accuracy: 0.8875 - val_loss: 0.4412
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8833 - loss: 0.4510 - val_accuracy: 0.8873 - val_loss: 0.4378
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8821 - loss: 0.4460 - val_accuracy: 0.8870 - val_loss: 0.4349
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8861 - loss: 0.4369 - val_accuracy: 0.8875 - val_loss: 0.4318
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8851 - loss: 0.4383 - val_accuracy: 0.8875 - val_loss: 0.4289
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8832 - loss: 0.4400 - val_accuracy: 0.8875 - val_loss: 0.4261
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8842 - loss: 0.4347 - val_accuracy: 0.8888 - val_loss: 0.4233
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8846 - loss: 0.4308 - val_accuracy: 0.8890 - val_loss: 0.4206
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8871 - loss: 0.4306 - val_accuracy: 0.8892 - val_loss: 0.4182
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8843 - loss: 0.4278 - val_accuracy: 0.8898 - val_loss: 0.4158
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8876 - loss: 0.4205 - val_accuracy: 0.8905 - val_loss: 0.4132
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8884 - loss: 0.4182 - val_accuracy: 0.8905 - val_loss: 0.4109
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8884 - loss: 0.4183 - val_accuracy: 0.8908 - val_loss: 0.4088
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8895 - loss: 0.4148 - val_accuracy: 0.8913 - val_loss: 0.4067
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8890 - loss: 0.4125 - val_accuracy: 0.8922 - val_loss: 0.4044
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8903 - loss: 0.4092 - val_accuracy: 0.8920 - val_loss: 0.4025
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8879 - loss: 0.4104 - val_accuracy: 0.8923 - val_loss: 0.4004
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8895 - loss: 0.4051 - val_accuracy: 0.8920 - val_loss: 0.3985
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8900 - loss: 0.4037 - val_accuracy: 0.8915 - val_loss: 0.3967
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8907 - loss: 0.4038 - val_accuracy: 0.8918 - val_loss: 0.3948
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8895 - loss: 0.4043 - val_accuracy: 0.8938 - val_loss: 0.3929
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8910 - loss: 0.4012 - val_accuracy: 0.8930 - val_loss: 0.3912
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8904 - loss: 0.4014 - val_accuracy: 0.8933 - val_loss: 0.3895
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8909 - loss: 0.3975 - val_accuracy: 0.8945 - val_loss: 0.3879
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8911 - loss: 0.3982 - val_accuracy: 0.8955 - val_loss: 0.3862
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8925 - loss: 0.3950 - val_accuracy: 0.8947 - val_loss: 0.3847
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8912 - loss: 0.3954 - val_accuracy: 0.8965 - val_loss: 0.3830
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8921 - loss: 0.3918 - val_accuracy: 0.8968 - val_loss: 0.3816
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8967 - loss: 0.3809 - val_accuracy: 0.8962 - val_loss: 0.3801
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8900 - loss: 0.3933 - val_accuracy: 0.8963 - val_loss: 0.3787
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8927 - loss: 0.3867 - val_accuracy: 0.8967 - val_loss: 0.3774
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8946 - loss: 0.3859 - val_accuracy: 0.8963 - val_loss: 0.3760
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8948 - loss: 0.3826 - val_accuracy: 0.8983 - val_loss: 0.3746
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8944 - loss: 0.3795 - val_accuracy: 0.8988 - val_loss: 0.3734
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8955 - loss: 0.3813 - val_accuracy: 0.8993 - val_loss: 0.3721
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8955 - loss: 0.3781 - val_accuracy: 0.8992 - val_loss: 0.3709
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8985 - loss: 0.3721 - val_accuracy: 0.8990 - val_loss: 0.3696
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8941 - loss: 0.3830 - val_accuracy: 0.8998 - val_loss: 0.3685
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8962 - loss: 0.3748 - val_accuracy: 0.9000 - val_loss: 0.3672
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8956 - loss: 0.3760 - val_accuracy: 0.8997 - val_loss: 0.3661
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8959 - loss: 0.3739 - val_accuracy: 0.9012 - val_loss: 0.3650
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8942 - loss: 0.3770 - val_accuracy: 0.9008 - val_loss: 0.3639
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8986 - loss: 0.3678 - val_accuracy: 0.9012 - val_loss: 0.3628
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8963 - loss: 0.3707 - val_accuracy: 0.9010 - val_loss: 0.3619
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8978 - loss: 0.3643 - val_accuracy: 0.9017 - val_loss: 0.3606
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8947 - loss: 0.3761 - val_accuracy: 0.9018 - val_loss: 0.3596
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8975 - loss: 0.3661 - val_accuracy: 0.9013 - val_loss: 0.3588
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H_01_300.history['loss'], label='Обучающая ошибка')
plt.plot(H_01_300.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores_01_300=model_01_300.evaluate(X_test,y_test)
print('Loss on test data:', scores_01_300[0])
print('Accuracy on test data:', scores_01_300[1])313/313 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9016 - loss: 0.3667
Loss on test data: 0.37091827392578125
Accuracy on test data: 0.9013000130653381
model_01_500 = Sequential()
model_01_500.add(Dense(units=500,input_dim=num_pixels, activation='sigmoid'))
model_01_500.add(Dense(units=num_classes, activation='softmax'))
model_01_500.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01_500.summary()Model: "sequential_4"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_6 (Dense) │ (None, 500) │ 392,500 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_7 (Dense) │ (None, 10) │ 5,010 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 397,510 (1.52 MB)
Trainable params: 397,510 (1.52 MB)
Non-trainable params: 0 (0.00 B)
H_01_500 = model_01_500.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size = 512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 3s 22ms/step - accuracy: 0.2209 - loss: 2.2701 - val_accuracy: 0.4380 - val_loss: 2.1357
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.5175 - loss: 2.0961 - val_accuracy: 0.5918 - val_loss: 1.9738
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6221 - loss: 1.9347 - val_accuracy: 0.6730 - val_loss: 1.8232
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6893 - loss: 1.7883 - val_accuracy: 0.7188 - val_loss: 1.6837
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7225 - loss: 1.6534 - val_accuracy: 0.7382 - val_loss: 1.5557
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7488 - loss: 1.5271 - val_accuracy: 0.7690 - val_loss: 1.4384
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7682 - loss: 1.4134 - val_accuracy: 0.7788 - val_loss: 1.3334
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7841 - loss: 1.3139 - val_accuracy: 0.7938 - val_loss: 1.2402
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.7940 - loss: 1.2225 - val_accuracy: 0.8033 - val_loss: 1.1581
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8008 - loss: 1.1415 - val_accuracy: 0.8057 - val_loss: 1.0859
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8111 - loss: 1.0746 - val_accuracy: 0.8173 - val_loss: 1.0224
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8193 - loss: 1.0101 - val_accuracy: 0.8240 - val_loss: 0.9669
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8232 - loss: 0.9619 - val_accuracy: 0.8262 - val_loss: 0.9184
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8259 - loss: 0.9162 - val_accuracy: 0.8298 - val_loss: 0.8753
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8306 - loss: 0.8690 - val_accuracy: 0.8358 - val_loss: 0.8364
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8357 - loss: 0.8388 - val_accuracy: 0.8395 - val_loss: 0.8025
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8394 - loss: 0.7990 - val_accuracy: 0.8432 - val_loss: 0.7726
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8423 - loss: 0.7732 - val_accuracy: 0.8427 - val_loss: 0.7453
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8441 - loss: 0.7445 - val_accuracy: 0.8457 - val_loss: 0.7206
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8468 - loss: 0.7210 - val_accuracy: 0.8510 - val_loss: 0.6982
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8496 - loss: 0.7009 - val_accuracy: 0.8527 - val_loss: 0.6784
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8515 - loss: 0.6786 - val_accuracy: 0.8543 - val_loss: 0.6599
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8555 - loss: 0.6617 - val_accuracy: 0.8558 - val_loss: 0.6436
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8575 - loss: 0.6447 - val_accuracy: 0.8565 - val_loss: 0.6278
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8580 - loss: 0.6338 - val_accuracy: 0.8582 - val_loss: 0.6137
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8591 - loss: 0.6179 - val_accuracy: 0.8620 - val_loss: 0.6005
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8604 - loss: 0.6008 - val_accuracy: 0.8625 - val_loss: 0.5880
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8629 - loss: 0.5892 - val_accuracy: 0.8652 - val_loss: 0.5767
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8631 - loss: 0.5845 - val_accuracy: 0.8677 - val_loss: 0.5660
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8634 - loss: 0.5741 - val_accuracy: 0.8682 - val_loss: 0.5562
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8646 - loss: 0.5652 - val_accuracy: 0.8698 - val_loss: 0.5474
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8664 - loss: 0.5540 - val_accuracy: 0.8700 - val_loss: 0.5387
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8687 - loss: 0.5449 - val_accuracy: 0.8733 - val_loss: 0.5306
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8687 - loss: 0.5377 - val_accuracy: 0.8742 - val_loss: 0.5227
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8716 - loss: 0.5246 - val_accuracy: 0.8760 - val_loss: 0.5154
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8715 - loss: 0.5207 - val_accuracy: 0.8765 - val_loss: 0.5088
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8735 - loss: 0.5109 - val_accuracy: 0.8777 - val_loss: 0.5023
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8714 - loss: 0.5143 - val_accuracy: 0.8770 - val_loss: 0.4963
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8751 - loss: 0.5039 - val_accuracy: 0.8787 - val_loss: 0.4904
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8738 - loss: 0.5006 - val_accuracy: 0.8798 - val_loss: 0.4847
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8751 - loss: 0.4933 - val_accuracy: 0.8802 - val_loss: 0.4794
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8800 - loss: 0.4798 - val_accuracy: 0.8810 - val_loss: 0.4745
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8794 - loss: 0.4790 - val_accuracy: 0.8810 - val_loss: 0.4698
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8782 - loss: 0.4756 - val_accuracy: 0.8812 - val_loss: 0.4654
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8813 - loss: 0.4701 - val_accuracy: 0.8830 - val_loss: 0.4610
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8797 - loss: 0.4657 - val_accuracy: 0.8832 - val_loss: 0.4566
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8794 - loss: 0.4635 - val_accuracy: 0.8835 - val_loss: 0.4528
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8837 - loss: 0.4544 - val_accuracy: 0.8838 - val_loss: 0.4489
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8795 - loss: 0.4568 - val_accuracy: 0.8842 - val_loss: 0.4454
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8823 - loss: 0.4523 - val_accuracy: 0.8848 - val_loss: 0.4418
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8829 - loss: 0.4495 - val_accuracy: 0.8847 - val_loss: 0.4385
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8851 - loss: 0.4457 - val_accuracy: 0.8853 - val_loss: 0.4354
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8843 - loss: 0.4433 - val_accuracy: 0.8852 - val_loss: 0.4322
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8843 - loss: 0.4355 - val_accuracy: 0.8875 - val_loss: 0.4292
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8871 - loss: 0.4334 - val_accuracy: 0.8877 - val_loss: 0.4261
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8850 - loss: 0.4304 - val_accuracy: 0.8877 - val_loss: 0.4232
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8854 - loss: 0.4304 - val_accuracy: 0.8873 - val_loss: 0.4207
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8859 - loss: 0.4251 - val_accuracy: 0.8877 - val_loss: 0.4181
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8887 - loss: 0.4200 - val_accuracy: 0.8882 - val_loss: 0.4154
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8866 - loss: 0.4241 - val_accuracy: 0.8888 - val_loss: 0.4131
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8880 - loss: 0.4179 - val_accuracy: 0.8895 - val_loss: 0.4107
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8878 - loss: 0.4179 - val_accuracy: 0.8887 - val_loss: 0.4084
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8863 - loss: 0.4177 - val_accuracy: 0.8905 - val_loss: 0.4061
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8871 - loss: 0.4175 - val_accuracy: 0.8910 - val_loss: 0.4041
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8881 - loss: 0.4101 - val_accuracy: 0.8912 - val_loss: 0.4018
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8898 - loss: 0.4067 - val_accuracy: 0.8920 - val_loss: 0.3998
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8907 - loss: 0.4032 - val_accuracy: 0.8913 - val_loss: 0.3979
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8908 - loss: 0.4072 - val_accuracy: 0.8918 - val_loss: 0.3960
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8889 - loss: 0.4056 - val_accuracy: 0.8925 - val_loss: 0.3941
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8921 - loss: 0.4025 - val_accuracy: 0.8925 - val_loss: 0.3924
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8926 - loss: 0.3976 - val_accuracy: 0.8933 - val_loss: 0.3907
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8918 - loss: 0.3939 - val_accuracy: 0.8937 - val_loss: 0.3889
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8896 - loss: 0.3996 - val_accuracy: 0.8953 - val_loss: 0.3872
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8920 - loss: 0.3886 - val_accuracy: 0.8938 - val_loss: 0.3857
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8930 - loss: 0.3896 - val_accuracy: 0.8958 - val_loss: 0.3841
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8906 - loss: 0.3949 - val_accuracy: 0.8962 - val_loss: 0.3827
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8932 - loss: 0.3902 - val_accuracy: 0.8965 - val_loss: 0.3811
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8905 - loss: 0.3979 - val_accuracy: 0.8963 - val_loss: 0.3796
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8953 - loss: 0.3802 - val_accuracy: 0.8973 - val_loss: 0.3781
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8928 - loss: 0.3888 - val_accuracy: 0.8975 - val_loss: 0.3768
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8940 - loss: 0.3820 - val_accuracy: 0.8977 - val_loss: 0.3754
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8945 - loss: 0.3804 - val_accuracy: 0.8978 - val_loss: 0.3740
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8949 - loss: 0.3824 - val_accuracy: 0.8980 - val_loss: 0.3729
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8950 - loss: 0.3808 - val_accuracy: 0.8987 - val_loss: 0.3714
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8945 - loss: 0.3799 - val_accuracy: 0.8990 - val_loss: 0.3702
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8923 - loss: 0.3821 - val_accuracy: 0.8993 - val_loss: 0.3691
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8935 - loss: 0.3821 - val_accuracy: 0.8982 - val_loss: 0.3679
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8962 - loss: 0.3727 - val_accuracy: 0.8992 - val_loss: 0.3668
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8944 - loss: 0.3759 - val_accuracy: 0.8997 - val_loss: 0.3655
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8963 - loss: 0.3701 - val_accuracy: 0.8990 - val_loss: 0.3645
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8947 - loss: 0.3757 - val_accuracy: 0.8992 - val_loss: 0.3634
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8951 - loss: 0.3707 - val_accuracy: 0.9005 - val_loss: 0.3622
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8969 - loss: 0.3684 - val_accuracy: 0.8998 - val_loss: 0.3612
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8970 - loss: 0.3658 - val_accuracy: 0.9002 - val_loss: 0.3602
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8973 - loss: 0.3677 - val_accuracy: 0.9007 - val_loss: 0.3594
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8948 - loss: 0.3723 - val_accuracy: 0.9002 - val_loss: 0.3582
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8976 - loss: 0.3658 - val_accuracy: 0.9002 - val_loss: 0.3573
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8954 - loss: 0.3669 - val_accuracy: 0.9013 - val_loss: 0.3564
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8960 - loss: 0.3657 - val_accuracy: 0.9018 - val_loss: 0.3555
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8961 - loss: 0.3659 - val_accuracy: 0.9030 - val_loss: 0.3544
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H_01_500.history['loss'], label='Обучающая ошибка')
plt.plot(H_01_500.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores_01_500=model_01_500.evaluate(X_test,y_test)
print('Loss on test data:',scores_01_500[0]) #значение функции ошибки
print('Accuracy on test data:',scores_01_500[1]) #значение метрики качества313/313 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.9007 - loss: 0.3635
Loss on test data: 0.36660370230674744
Accuracy on test data: 0.9010000228881836
model_01_300_50 = Sequential()
model_01_300_50.add(Dense(units=300, input_dim=num_pixels, activation='sigmoid'))
model_01_300_50.add(Dense(units=50, activation='sigmoid'))
model_01_300_50.add(Dense(units=num_classes, activation='softmax'))
model_01_300_50.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01_300_50.summary()Model: "sequential_5"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_8 (Dense) │ (None, 300) │ 235,500 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_9 (Dense) │ (None, 50) │ 15,050 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_10 (Dense) │ (None, 10) │ 510 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 251,060 (980.70 KB)
Trainable params: 251,060 (980.70 KB)
Non-trainable params: 0 (0.00 B)
H_01_300_50 = model_01_300_50.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size=512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 4s 26ms/step - accuracy: 0.1039 - loss: 2.3373 - val_accuracy: 0.1325 - val_loss: 2.2951
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 4ms/step - accuracy: 0.1429 - loss: 2.2919 - val_accuracy: 0.1357 - val_loss: 2.2808
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.1592 - loss: 2.2776 - val_accuracy: 0.1543 - val_loss: 2.2670
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.1845 - loss: 2.2641 - val_accuracy: 0.2415 - val_loss: 2.2531
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.2785 - loss: 2.2490 - val_accuracy: 0.3228 - val_loss: 2.2384
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.3247 - loss: 2.2347 - val_accuracy: 0.3753 - val_loss: 2.2231
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.3946 - loss: 2.2195 - val_accuracy: 0.4215 - val_loss: 2.2068
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.4341 - loss: 2.2029 - val_accuracy: 0.4810 - val_loss: 2.1894
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.4842 - loss: 2.1844 - val_accuracy: 0.5177 - val_loss: 2.1708
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.5376 - loss: 2.1668 - val_accuracy: 0.5078 - val_loss: 2.1508
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 8ms/step - accuracy: 0.5288 - loss: 2.1459 - val_accuracy: 0.5518 - val_loss: 2.1293
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.5605 - loss: 2.1239 - val_accuracy: 0.5760 - val_loss: 2.1062
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.5711 - loss: 2.0998 - val_accuracy: 0.5848 - val_loss: 2.0809
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.5877 - loss: 2.0751 - val_accuracy: 0.5900 - val_loss: 2.0539
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.5919 - loss: 2.0465 - val_accuracy: 0.6038 - val_loss: 2.0247
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.6025 - loss: 2.0177 - val_accuracy: 0.6132 - val_loss: 1.9934
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 10ms/step - accuracy: 0.6138 - loss: 1.9855 - val_accuracy: 0.6157 - val_loss: 1.9598
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 9ms/step - accuracy: 0.6178 - loss: 1.9511 - val_accuracy: 0.6273 - val_loss: 1.9242
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 14ms/step - accuracy: 0.6255 - loss: 1.9167 - val_accuracy: 0.6273 - val_loss: 1.8864
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.6341 - loss: 1.8757 - val_accuracy: 0.6400 - val_loss: 1.8466
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.6412 - loss: 1.8353 - val_accuracy: 0.6487 - val_loss: 1.8053
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.6493 - loss: 1.7953 - val_accuracy: 0.6492 - val_loss: 1.7625
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.6512 - loss: 1.7502 - val_accuracy: 0.6588 - val_loss: 1.7186
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.6550 - loss: 1.7108 - val_accuracy: 0.6600 - val_loss: 1.6738
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 8ms/step - accuracy: 0.6633 - loss: 1.6628 - val_accuracy: 0.6707 - val_loss: 1.6288
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.6710 - loss: 1.6181 - val_accuracy: 0.6745 - val_loss: 1.5836
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6737 - loss: 1.5751 - val_accuracy: 0.6778 - val_loss: 1.5387
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.6801 - loss: 1.5288 - val_accuracy: 0.6858 - val_loss: 1.4943
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6865 - loss: 1.4893 - val_accuracy: 0.6917 - val_loss: 1.4508
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6966 - loss: 1.4409 - val_accuracy: 0.6985 - val_loss: 1.4084
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6990 - loss: 1.4011 - val_accuracy: 0.7070 - val_loss: 1.3673
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7073 - loss: 1.3601 - val_accuracy: 0.7098 - val_loss: 1.3275
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7132 - loss: 1.3202 - val_accuracy: 0.7173 - val_loss: 1.2893
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7199 - loss: 1.2800 - val_accuracy: 0.7238 - val_loss: 1.2527
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7274 - loss: 1.2406 - val_accuracy: 0.7292 - val_loss: 1.2175
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 14ms/step - accuracy: 0.7289 - loss: 1.2134 - val_accuracy: 0.7375 - val_loss: 1.1839
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 2s 6ms/step - accuracy: 0.7391 - loss: 1.1813 - val_accuracy: 0.7430 - val_loss: 1.1520
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7429 - loss: 1.1453 - val_accuracy: 0.7475 - val_loss: 1.1214
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7489 - loss: 1.1200 - val_accuracy: 0.7530 - val_loss: 1.0924
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.7546 - loss: 1.0882 - val_accuracy: 0.7607 - val_loss: 1.0647
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7572 - loss: 1.0657 - val_accuracy: 0.7635 - val_loss: 1.0385
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7679 - loss: 1.0333 - val_accuracy: 0.7682 - val_loss: 1.0133
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7692 - loss: 1.0102 - val_accuracy: 0.7732 - val_loss: 0.9894
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7717 - loss: 0.9908 - val_accuracy: 0.7782 - val_loss: 0.9667
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7800 - loss: 0.9665 - val_accuracy: 0.7797 - val_loss: 0.9451
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7825 - loss: 0.9413 - val_accuracy: 0.7860 - val_loss: 0.9244
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7860 - loss: 0.9243 - val_accuracy: 0.7898 - val_loss: 0.9047
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7886 - loss: 0.9025 - val_accuracy: 0.7930 - val_loss: 0.8860
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7955 - loss: 0.8839 - val_accuracy: 0.7958 - val_loss: 0.8681
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7947 - loss: 0.8678 - val_accuracy: 0.8000 - val_loss: 0.8509
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7996 - loss: 0.8523 - val_accuracy: 0.8013 - val_loss: 0.8346
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7995 - loss: 0.8423 - val_accuracy: 0.8023 - val_loss: 0.8191
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8023 - loss: 0.8245 - val_accuracy: 0.8078 - val_loss: 0.8041
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8089 - loss: 0.8036 - val_accuracy: 0.8080 - val_loss: 0.7899
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8099 - loss: 0.7926 - val_accuracy: 0.8105 - val_loss: 0.7761
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8130 - loss: 0.7780 - val_accuracy: 0.8133 - val_loss: 0.7628
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8194 - loss: 0.7630 - val_accuracy: 0.8178 - val_loss: 0.7504
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8202 - loss: 0.7558 - val_accuracy: 0.8190 - val_loss: 0.7382
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8216 - loss: 0.7402 - val_accuracy: 0.8207 - val_loss: 0.7268
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8222 - loss: 0.7317 - val_accuracy: 0.8235 - val_loss: 0.7155
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8265 - loss: 0.7202 - val_accuracy: 0.8262 - val_loss: 0.7046
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8288 - loss: 0.7088 - val_accuracy: 0.8293 - val_loss: 0.6943
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8293 - loss: 0.6998 - val_accuracy: 0.8303 - val_loss: 0.6845
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8331 - loss: 0.6896 - val_accuracy: 0.8322 - val_loss: 0.6749
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8351 - loss: 0.6782 - val_accuracy: 0.8365 - val_loss: 0.6655
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8371 - loss: 0.6706 - val_accuracy: 0.8375 - val_loss: 0.6568
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8417 - loss: 0.6563 - val_accuracy: 0.8400 - val_loss: 0.6481
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8416 - loss: 0.6475 - val_accuracy: 0.8417 - val_loss: 0.6397
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8420 - loss: 0.6445 - val_accuracy: 0.8427 - val_loss: 0.6317
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8436 - loss: 0.6397 - val_accuracy: 0.8447 - val_loss: 0.6239
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8446 - loss: 0.6303 - val_accuracy: 0.8445 - val_loss: 0.6166
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8466 - loss: 0.6227 - val_accuracy: 0.8472 - val_loss: 0.6093
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8463 - loss: 0.6187 - val_accuracy: 0.8490 - val_loss: 0.6023
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8483 - loss: 0.6085 - val_accuracy: 0.8502 - val_loss: 0.5955
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8531 - loss: 0.5998 - val_accuracy: 0.8512 - val_loss: 0.5892
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8518 - loss: 0.5938 - val_accuracy: 0.8548 - val_loss: 0.5827
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8518 - loss: 0.5921 - val_accuracy: 0.8552 - val_loss: 0.5765
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8551 - loss: 0.5830 - val_accuracy: 0.8573 - val_loss: 0.5705
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8575 - loss: 0.5744 - val_accuracy: 0.8583 - val_loss: 0.5648
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8594 - loss: 0.5679 - val_accuracy: 0.8593 - val_loss: 0.5592
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8592 - loss: 0.5645 - val_accuracy: 0.8607 - val_loss: 0.5538
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8627 - loss: 0.5533 - val_accuracy: 0.8617 - val_loss: 0.5483
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8612 - loss: 0.5535 - val_accuracy: 0.8617 - val_loss: 0.5434
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8660 - loss: 0.5414 - val_accuracy: 0.8633 - val_loss: 0.5384
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8651 - loss: 0.5382 - val_accuracy: 0.8633 - val_loss: 0.5337
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8657 - loss: 0.5371 - val_accuracy: 0.8660 - val_loss: 0.5289
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8664 - loss: 0.5331 - val_accuracy: 0.8662 - val_loss: 0.5244
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8663 - loss: 0.5285 - val_accuracy: 0.8673 - val_loss: 0.5200
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8675 - loss: 0.5247 - val_accuracy: 0.8680 - val_loss: 0.5155
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8696 - loss: 0.5166 - val_accuracy: 0.8690 - val_loss: 0.5114
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8695 - loss: 0.5157 - val_accuracy: 0.8702 - val_loss: 0.5073
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8680 - loss: 0.5163 - val_accuracy: 0.8703 - val_loss: 0.5033
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8706 - loss: 0.5092 - val_accuracy: 0.8727 - val_loss: 0.4994
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8749 - loss: 0.5013 - val_accuracy: 0.8728 - val_loss: 0.4958
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8711 - loss: 0.5031 - val_accuracy: 0.8733 - val_loss: 0.4921
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8742 - loss: 0.4936 - val_accuracy: 0.8743 - val_loss: 0.4886
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8718 - loss: 0.4968 - val_accuracy: 0.8750 - val_loss: 0.4850
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8739 - loss: 0.4927 - val_accuracy: 0.8753 - val_loss: 0.4817
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8746 - loss: 0.4847 - val_accuracy: 0.8758 - val_loss: 0.4783
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8771 - loss: 0.4793 - val_accuracy: 0.8770 - val_loss: 0.4751
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H_01_300_50.history['loss'], label='Обучающая ошибка')
plt.plot(H_01_300_50.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores_01_300_50=model_01_300_50.evaluate(X_test,y_test)
print('Loss on test data:',scores_01_300_50[0])
print('Accuracy on test data:',scores_01_300_50[1])313/313 ━━━━━━━━━━━━━━━━━━━━ 2s 4ms/step - accuracy: 0.8761 - loss: 0.4844
Loss on test data: 0.4881931245326996
Accuracy on test data: 0.8740000128746033
model_01_300_100 = Sequential()
model_01_300_100.add(Dense(units=300, input_dim=num_pixels, activation='sigmoid'))
model_01_300_100.add(Dense(units=100, activation='sigmoid'))
model_01_300_100.add(Dense(units=num_classes, activation='softmax'))
model_01_300_100.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])
model_01_300_100.summary()Model: "sequential_6"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩ │ dense_11 (Dense) │ (None, 300) │ 235,500 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_12 (Dense) │ (None, 100) │ 30,100 │ ├─────────────────────────────────┼────────────────────────┼───────────────┤ │ dense_13 (Dense) │ (None, 10) │ 1,010 │ └─────────────────────────────────┴────────────────────────┴───────────────┘
Total params: 266,610 (1.02 MB)
Trainable params: 266,610 (1.02 MB)
Non-trainable params: 0 (0.00 B)
H_01_300_100 = model_01_300_100.fit(
X_train, y_train,
validation_split=0.1,
epochs=100,
batch_size=512
)Epoch 1/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 4s 19ms/step - accuracy: 0.1070 - loss: 2.3687 - val_accuracy: 0.1328 - val_loss: 2.2869
Epoch 2/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 3s 6ms/step - accuracy: 0.1536 - loss: 2.2832 - val_accuracy: 0.1165 - val_loss: 2.2717
Epoch 3/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.1559 - loss: 2.2679 - val_accuracy: 0.1893 - val_loss: 2.2564
Epoch 4/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 7ms/step - accuracy: 0.2401 - loss: 2.2525 - val_accuracy: 0.2463 - val_loss: 2.2406
Epoch 5/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.2753 - loss: 2.2360 - val_accuracy: 0.3690 - val_loss: 2.2241
Epoch 6/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.3593 - loss: 2.2189 - val_accuracy: 0.4323 - val_loss: 2.2067
Epoch 7/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.4321 - loss: 2.2018 - val_accuracy: 0.4517 - val_loss: 2.1882
Epoch 8/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.4562 - loss: 2.1821 - val_accuracy: 0.4837 - val_loss: 2.1682
Epoch 9/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.4822 - loss: 2.1624 - val_accuracy: 0.5333 - val_loss: 2.1469
Epoch 10/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.5166 - loss: 2.1417 - val_accuracy: 0.5207 - val_loss: 2.1236
Epoch 11/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.5365 - loss: 2.1172 - val_accuracy: 0.5345 - val_loss: 2.0984
Epoch 12/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.5490 - loss: 2.0925 - val_accuracy: 0.5278 - val_loss: 2.0709
Epoch 13/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 9ms/step - accuracy: 0.5436 - loss: 2.0629 - val_accuracy: 0.5803 - val_loss: 2.0408
Epoch 14/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.5827 - loss: 2.0324 - val_accuracy: 0.5922 - val_loss: 2.0079
Epoch 15/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.5978 - loss: 1.9996 - val_accuracy: 0.5823 - val_loss: 1.9725
Epoch 16/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.5958 - loss: 1.9629 - val_accuracy: 0.6122 - val_loss: 1.9342
Epoch 17/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6200 - loss: 1.9249 - val_accuracy: 0.6068 - val_loss: 1.8931
Epoch 18/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.6200 - loss: 1.8817 - val_accuracy: 0.6195 - val_loss: 1.8492
Epoch 19/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.6285 - loss: 1.8358 - val_accuracy: 0.6505 - val_loss: 1.8028
Epoch 20/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.6448 - loss: 1.7902 - val_accuracy: 0.6435 - val_loss: 1.7546
Epoch 21/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.6468 - loss: 1.7447 - val_accuracy: 0.6480 - val_loss: 1.7047
Epoch 22/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.6540 - loss: 1.6938 - val_accuracy: 0.6660 - val_loss: 1.6539
Epoch 23/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6696 - loss: 1.6431 - val_accuracy: 0.6608 - val_loss: 1.6027
Epoch 24/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6675 - loss: 1.5930 - val_accuracy: 0.6803 - val_loss: 1.5518
Epoch 25/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.6840 - loss: 1.5408 - val_accuracy: 0.6958 - val_loss: 1.5013
Epoch 26/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.6951 - loss: 1.4895 - val_accuracy: 0.7042 - val_loss: 1.4521
Epoch 27/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7064 - loss: 1.4433 - val_accuracy: 0.7098 - val_loss: 1.4044
Epoch 28/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7130 - loss: 1.3961 - val_accuracy: 0.7142 - val_loss: 1.3587
Epoch 29/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7169 - loss: 1.3499 - val_accuracy: 0.7298 - val_loss: 1.3147
Epoch 30/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7278 - loss: 1.3082 - val_accuracy: 0.7313 - val_loss: 1.2729
Epoch 31/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7352 - loss: 1.2638 - val_accuracy: 0.7373 - val_loss: 1.2332
Epoch 32/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.7420 - loss: 1.2247 - val_accuracy: 0.7425 - val_loss: 1.1955
Epoch 33/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.7468 - loss: 1.1908 - val_accuracy: 0.7470 - val_loss: 1.1600
Epoch 34/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.7526 - loss: 1.1557 - val_accuracy: 0.7595 - val_loss: 1.1263
Epoch 35/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.7569 - loss: 1.1232 - val_accuracy: 0.7653 - val_loss: 1.0945
Epoch 36/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7607 - loss: 1.0941 - val_accuracy: 0.7665 - val_loss: 1.0646
Epoch 37/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7689 - loss: 1.0604 - val_accuracy: 0.7748 - val_loss: 1.0362
Epoch 38/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7709 - loss: 1.0389 - val_accuracy: 0.7773 - val_loss: 1.0095
Epoch 39/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7743 - loss: 1.0101 - val_accuracy: 0.7808 - val_loss: 0.9844
Epoch 40/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7802 - loss: 0.9829 - val_accuracy: 0.7843 - val_loss: 0.9606
Epoch 41/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.7838 - loss: 0.9628 - val_accuracy: 0.7887 - val_loss: 0.9379
Epoch 42/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.7869 - loss: 0.9390 - val_accuracy: 0.7933 - val_loss: 0.9162
Epoch 43/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.7921 - loss: 0.9161 - val_accuracy: 0.7962 - val_loss: 0.8955
Epoch 44/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.7966 - loss: 0.8950 - val_accuracy: 0.7988 - val_loss: 0.8759
Epoch 45/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8002 - loss: 0.8727 - val_accuracy: 0.8028 - val_loss: 0.8575
Epoch 46/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8020 - loss: 0.8602 - val_accuracy: 0.8050 - val_loss: 0.8397
Epoch 47/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8066 - loss: 0.8408 - val_accuracy: 0.8083 - val_loss: 0.8229
Epoch 48/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8055 - loss: 0.8284 - val_accuracy: 0.8122 - val_loss: 0.8068
Epoch 49/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8113 - loss: 0.8099 - val_accuracy: 0.8112 - val_loss: 0.7913
Epoch 50/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8149 - loss: 0.7931 - val_accuracy: 0.8158 - val_loss: 0.7764
Epoch 51/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8173 - loss: 0.7760 - val_accuracy: 0.8185 - val_loss: 0.7625
Epoch 52/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8190 - loss: 0.7667 - val_accuracy: 0.8225 - val_loss: 0.7487
Epoch 53/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8223 - loss: 0.7514 - val_accuracy: 0.8275 - val_loss: 0.7357
Epoch 54/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8255 - loss: 0.7384 - val_accuracy: 0.8280 - val_loss: 0.7234
Epoch 55/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8268 - loss: 0.7266 - val_accuracy: 0.8293 - val_loss: 0.7114
Epoch 56/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8308 - loss: 0.7069 - val_accuracy: 0.8328 - val_loss: 0.6999
Epoch 57/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8295 - loss: 0.7043 - val_accuracy: 0.8357 - val_loss: 0.6889
Epoch 58/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8309 - loss: 0.6982 - val_accuracy: 0.8367 - val_loss: 0.6784
Epoch 59/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8373 - loss: 0.6804 - val_accuracy: 0.8402 - val_loss: 0.6682
Epoch 60/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8363 - loss: 0.6759 - val_accuracy: 0.8412 - val_loss: 0.6583
Epoch 61/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8404 - loss: 0.6558 - val_accuracy: 0.8425 - val_loss: 0.6489
Epoch 62/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8392 - loss: 0.6574 - val_accuracy: 0.8430 - val_loss: 0.6399
Epoch 63/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8417 - loss: 0.6455 - val_accuracy: 0.8468 - val_loss: 0.6313
Epoch 64/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8427 - loss: 0.6393 - val_accuracy: 0.8468 - val_loss: 0.6226
Epoch 65/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8439 - loss: 0.6299 - val_accuracy: 0.8487 - val_loss: 0.6146
Epoch 66/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8475 - loss: 0.6208 - val_accuracy: 0.8500 - val_loss: 0.6070
Epoch 67/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8484 - loss: 0.6127 - val_accuracy: 0.8522 - val_loss: 0.5994
Epoch 68/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8505 - loss: 0.6047 - val_accuracy: 0.8533 - val_loss: 0.5921
Epoch 69/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8507 - loss: 0.5999 - val_accuracy: 0.8553 - val_loss: 0.5851
Epoch 70/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8554 - loss: 0.5851 - val_accuracy: 0.8557 - val_loss: 0.5786
Epoch 71/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8527 - loss: 0.5844 - val_accuracy: 0.8568 - val_loss: 0.5719
Epoch 72/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8574 - loss: 0.5742 - val_accuracy: 0.8583 - val_loss: 0.5656
Epoch 73/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8554 - loss: 0.5724 - val_accuracy: 0.8595 - val_loss: 0.5595
Epoch 74/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8562 - loss: 0.5662 - val_accuracy: 0.8598 - val_loss: 0.5538
Epoch 75/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8580 - loss: 0.5593 - val_accuracy: 0.8608 - val_loss: 0.5482
Epoch 76/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8605 - loss: 0.5549 - val_accuracy: 0.8623 - val_loss: 0.5428
Epoch 77/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8618 - loss: 0.5465 - val_accuracy: 0.8632 - val_loss: 0.5373
Epoch 78/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8612 - loss: 0.5462 - val_accuracy: 0.8652 - val_loss: 0.5321
Epoch 79/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8649 - loss: 0.5372 - val_accuracy: 0.8655 - val_loss: 0.5272
Epoch 80/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8635 - loss: 0.5326 - val_accuracy: 0.8682 - val_loss: 0.5224
Epoch 81/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 6ms/step - accuracy: 0.8665 - loss: 0.5271 - val_accuracy: 0.8683 - val_loss: 0.5177
Epoch 82/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 5ms/step - accuracy: 0.8641 - loss: 0.5286 - val_accuracy: 0.8693 - val_loss: 0.5132
Epoch 83/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8683 - loss: 0.5145 - val_accuracy: 0.8693 - val_loss: 0.5086
Epoch 84/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8694 - loss: 0.5124 - val_accuracy: 0.8705 - val_loss: 0.5044
Epoch 85/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8692 - loss: 0.5131 - val_accuracy: 0.8710 - val_loss: 0.5003
Epoch 86/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8731 - loss: 0.5021 - val_accuracy: 0.8718 - val_loss: 0.4963
Epoch 87/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8708 - loss: 0.5041 - val_accuracy: 0.8730 - val_loss: 0.4924
Epoch 88/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8707 - loss: 0.5002 - val_accuracy: 0.8733 - val_loss: 0.4885
Epoch 89/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8720 - loss: 0.4959 - val_accuracy: 0.8737 - val_loss: 0.4849
Epoch 90/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8737 - loss: 0.4936 - val_accuracy: 0.8738 - val_loss: 0.4812
Epoch 91/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8743 - loss: 0.4866 - val_accuracy: 0.8755 - val_loss: 0.4777
Epoch 92/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8738 - loss: 0.4834 - val_accuracy: 0.8772 - val_loss: 0.4744
Epoch 93/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8730 - loss: 0.4854 - val_accuracy: 0.8765 - val_loss: 0.4710
Epoch 94/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8760 - loss: 0.4751 - val_accuracy: 0.8772 - val_loss: 0.4679
Epoch 95/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8773 - loss: 0.4742 - val_accuracy: 0.8775 - val_loss: 0.4647
Epoch 96/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 4ms/step - accuracy: 0.8781 - loss: 0.4704 - val_accuracy: 0.8780 - val_loss: 0.4616
Epoch 97/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8746 - loss: 0.4729 - val_accuracy: 0.8785 - val_loss: 0.4588
Epoch 98/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8787 - loss: 0.4652 - val_accuracy: 0.8797 - val_loss: 0.4558
Epoch 99/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 0s 3ms/step - accuracy: 0.8778 - loss: 0.4651 - val_accuracy: 0.8798 - val_loss: 0.4530
Epoch 100/100
106/106 ━━━━━━━━━━━━━━━━━━━━ 1s 4ms/step - accuracy: 0.8780 - loss: 0.4608 - val_accuracy: 0.8803 - val_loss: 0.4502
plt.figure(figsize=(12, 5))
plt.subplot(1, 2, 1)
plt.plot(H_01_300_100.history['loss'], label='Обучающая ошибка')
plt.plot(H_01_300_100.history['val_loss'], label='Валидационная ошибка')
plt.title('Функция ошибки по эпохам')
plt.xlabel('Epochs')
plt.ylabel('loss')
plt.legend()
plt.grid(True)
scores_01_300_100=model_01_300_100.evaluate(X_test,y_test)
print('Loss on test data:',scores_01_300_100[0])
print('Accuracy on test data:',scores_01_300_100[1])313/313 ━━━━━━━━━━━━━━━━━━━━ 1s 3ms/step - accuracy: 0.8814 - loss: 0.4605
Loss on test data: 0.4638420343399048
Accuracy on test data: 0.8795999884605408
model_01_300.save(filepath='best_model.keras')from keras.models import load_model
model = load_model('best_model.keras')n = 123
result = model.predict(X_test[n:n+1])
print('NN output:', result)
plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray'))
plt.show()
print('Real mark: ', str(np.argmax(y_test[n])))
print('NN answer: ', str(np.argmax(result)))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 251ms/step
NN output: [[6.7044683e-03 6.5092892e-05 8.0898860e-03 3.6560427e-04 4.4942164e-04
1.0991883e-02 9.6887839e-01 3.7091802e-06 4.2457585e-03 2.0581596e-04]]

Real mark: 6
NN answer: 6
n = 765
result = model.predict(X_test[n:n+1])
print('NN output:', result)
plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray'))
plt.show()
print('Real mark: ', str(np.argmax(y_test[n])))
print('NN answer: ', str(np.argmax(result)))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 27ms/step
NN output: [[3.7733166e-04 3.6412096e-04 1.4499854e-03 9.2658949e-01 5.1390834e-04
5.4276615e-02 3.5510810e-05 8.6189411e-04 1.2458544e-02 3.0724849e-03]]

Real mark: 3
NN answer: 3
from PIL import Image
file_07_data = Image.open('7.png')
file_07_data = file_07_data.convert('L')
test_07_img = np.array(file_07_data)plt.imshow(test_07_img, cmap=plt.get_cmap('gray'))
plt.show()
test_07_img = test_07_img / 255
test_07_img = test_07_img.reshape(1, num_pixels)result = model.predict(test_07_img)
print('I think it\'s ', np.argmax(result))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 30ms/step
I think it's 7
from PIL import Image
file_05_data = Image.open('5.png')
file_05_data = file_05_data.convert('L') # перевод в градации серого
test_05_img = np.array(file_05_data)plt.imshow(test_05_img, cmap=plt.get_cmap('gray'))
plt.show()
test_05_img = test_05_img / 255
test_05_img = test_05_img.reshape(1, num_pixels)result = model.predict(test_05_img)
print('I think it\'s ', np.argmax(result))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 28ms/step
I think it's 5
from PIL import Image
file_07_90_data = Image.open('7-90.png')
file_07_90_data = file_07_90_data.convert('L')
test_07_90_img = np.array(file_07_90_data)plt.imshow(test_07_90_img, cmap=plt.get_cmap('gray'))
plt.show()
test_07_90_img = test_07_90_img / 255
test_07_90_img = test_07_90_img.reshape(1, num_pixels)result = model.predict(test_07_90_img)
print('I think it\'s ', np.argmax(result))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 40ms/step
I think it's 2
from PIL import Image
file_05_90_data = Image.open('5-90.png')
file_05_90_data = file_05_90_data.convert('L')
test_05_90_img = np.array(file_05_90_data)plt.imshow(test_05_90_img, cmap=plt.get_cmap('gray'))
plt.show()
test_05_90_img = test_05_90_img / 255
test_05_90_img = test_05_90_img.reshape(1, num_pixels)result = model.predict(test_05_90_img)
print('I think it\'s ', np.argmax(result))1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 29ms/step
I think it's 4