Добавлены последние пункты и изображения

main
KonovalovaAlA 2 недель назад
Родитель 1f049f8d3e
Сommit faacab3cc4

Двоичные данные
labworks/LW1/created_0.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 737 B

Двоичные данные
labworks/LW1/created_0_90.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 264 B

Двоичные данные
labworks/LW1/created_1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 701 B

Двоичные данные
labworks/LW1/created_1_90.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 196 B

До

Ширина:  |  Высота:  |  Размер: 31 KiB

После

Ширина:  |  Высота:  |  Размер: 31 KiB

До

Ширина:  |  Высота:  |  Размер: 31 KiB

После

Ширина:  |  Высота:  |  Размер: 31 KiB

До

Ширина:  |  Высота:  |  Размер: 24 KiB

После

Ширина:  |  Высота:  |  Размер: 24 KiB

До

Ширина:  |  Высота:  |  Размер: 24 KiB

После

Ширина:  |  Высота:  |  Размер: 24 KiB

До

Ширина:  |  Высота:  |  Размер: 26 KiB

После

Ширина:  |  Высота:  |  Размер: 26 KiB

До

Ширина:  |  Высота:  |  Размер: 26 KiB

После

Ширина:  |  Высота:  |  Размер: 26 KiB

@ -82,10 +82,10 @@ for i in range(4):
**Вывод:** **Вывод:**
```bash ```bash
![5](image.png) ![5](train_4_5.png)
![1](image-1.png) ![1](train_4_1.png)
![0](image-2.png) ![0](train_4_0.1.png)
![0](image-3.png) ![0](train_4_0.2.png)
``` ```
@ -194,7 +194,7 @@ plt.show()
**Вывод:** **Вывод:**
![График ошибки по эпохам](image-4.png) ![График ошибки по эпохам](plot_0_hidden_layer.png)
@ -222,7 +222,7 @@ Accuracy on test data: 0.9185000061988831
1. Модель со 100 нейронами в скрытом слое 1. Модель со 100 нейронами в скрытом слое
![График ошибки по эпохам со 100 нейронами в скрытом слое](image-5.jpg) ![График ошибки по эпохам со 100 нейронами в скрытом слое](plot_1_hidden_layer_100.png)
```bash ```bash
Loss on test data: 0.20470060408115387 Loss on test data: 0.20470060408115387
@ -231,7 +231,7 @@ Accuracy on test data: 0.9412999749183655
2. Модель с 300 нейронами в скрытом слое 2. Модель с 300 нейронами в скрытом слое
![График ошибки по эпохам с 300 нейронами в скрытом слое](image-6.jpg) ![График ошибки по эпохам с 300 нейронами в скрытом слое](plot_1_hidden_layer_300.jpg)
```bash ```bash
Loss on test data: 0.23246125876903534 Loss on test data: 0.23246125876903534
@ -240,7 +240,7 @@ Accuracy on test data: 0.9337999820709229
3. Модель с 500 нейронами в скрытом слое 3. Модель с 500 нейронами в скрытом слое
![График ошибки по эпохам с 500 нейронами в скрытом слое](image-7.jpg) ![График ошибки по эпохам с 500 нейронами в скрытом слое](plot_1_hidden_layer_500.jpg)
```bash ```bash
Loss on test data: 0.24853046238422394 Loss on test data: 0.24853046238422394
@ -256,7 +256,7 @@ Accuracy on test data: 0.9283999800682068
1. Модель с 50 нейронами в скрытом слое 1. Модель с 50 нейронами в скрытом слое
![График ошибки по эпохам с 50 нейронами в скрытом слое](image-8.jpg) ![График ошибки по эпохам с 50 нейронами в скрытом слое](plot_2_hidden_layer_50.jpg)
```bash ```bash
Loss on test data: 0.19981178641319275 Loss on test data: 0.19981178641319275
@ -265,7 +265,7 @@ Accuracy on test data: 0.9387000203132629
2. Модель со 100 нейронами в скрытом слое 2. Модель со 100 нейронами в скрытом слое
![График ошибки по эпохам со 100 нейронами в скрытом слое](image-9.jpg) ![График ошибки по эпохам со 100 нейронами в скрытом слое](plot_2_hidden_layer_100.jpg)
```bash ```bash
Loss on test data: 0.19404223561286926 Loss on test data: 0.19404223561286926
@ -288,7 +288,7 @@ Accuracy on test data: 0.9413999915122986
├─────────────────────────────────┼───────────────────────┼─────────────────────┤ ├─────────────────────────────────┼───────────────────────┼─────────────────────┤
│ 2 (100, 50 нейронов) │ 0.19981178641319275 │ 0.9387000203132629 │ │ 2 (100, 50 нейронов) │ 0.19981178641319275 │ 0.9387000203132629 │
├─────────────────────────────────┼───────────────────────┼─────────────────────┤ ├─────────────────────────────────┼───────────────────────┼─────────────────────┤
│ 2 (100, 100 нейронов) │ 0.19404223561286926 │ 0.9413999915122986 │ │ 2 (100, 100 нейронов) │ 0.19404223561286926 │ **0.9413999915122986**
└─────────────────────────────────┴───────────────────────┴───────────────────────┘ └─────────────────────────────────┴───────────────────────┴───────────────────────┘
``` ```
@ -301,3 +301,85 @@ filepath='/content/drive/MyDrive/Colab Notebooks/best_model.keras'
model_2_100.save(filepath) model_2_100.save(filepath)
``` ```
## 12. Вывод тестовых изображений
```py
n = 31
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)))
```
**Вывод:**
```bash
NN output: [[4.3196760e-06 1.3248758e-04 9.4383031e-02 2.8113697e-03 2.2433515e-04 4.0835417e-05 5.3229469e-05 8.9428437e-01 3.7515254e-04 7.6909573e-03]]
```
![alt text](test_12_7.png)
```bash
Real mark: 7
NN answer: 7
```
## 13. Тестирование модели на собственных изображениях цифр
1. Создадим собственные изображения рукописных цифр "1" и "0"
![alt text](created_0.png)
![alt text](created_1.png)
2. Загрузим, предобработаем и подадим на вход обученной нейросети собственные изображения
```py
# вывод собственного изображения
plt.imshow(test_img, cmap=plt.get_cmap('gray'))
plt.show()
# предобработка
test_img = test_img / 255
test_img = test_img.reshape(1, num_pixels)
# распознавание
result = model.predict(test_img)
print('I think it\'s ', np.argmax(result))
```
**Вывод:**
![alt text](result_0.png)
```bash
I think it's 0
```
![alt text](result_1.png)
```bash
I think it's 1
```
## 14. Тестирование модели на собственных изображениях цифр, повернутых на 90 градусов
**Результат тестирования:**
![alt text](result_0_90.png)
```bash
I think it's 0
```
![alt text](result_1_90.png)
```bash
I think it's 4
```
*Таким образом, нейросеть смогла определить 0 из-за простой и неизменной формы при повороте, однако подав на вход перевернутую 1, нейросеть не смогла корренто определить цифру.*

Двоичные данные
labworks/LW1/result_0.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 32 KiB

Двоичные данные
labworks/LW1/result_0_90.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 49 KiB

Двоичные данные
labworks/LW1/result_1.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 29 KiB

Двоичные данные
labworks/LW1/result_1_90.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 45 KiB

Двоичные данные
labworks/LW1/test_12_7.png

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 9.3 KiB

До

Ширина:  |  Высота:  |  Размер: 9.8 KiB

После

Ширина:  |  Высота:  |  Размер: 9.8 KiB

До

Ширина:  |  Высота:  |  Размер: 12 KiB

После

Ширина:  |  Высота:  |  Размер: 12 KiB

До

Ширина:  |  Высота:  |  Размер: 8.7 KiB

После

Ширина:  |  Высота:  |  Размер: 8.7 KiB

До

Ширина:  |  Высота:  |  Размер: 9.1 KiB

После

Ширина:  |  Высота:  |  Размер: 9.1 KiB

Загрузка…
Отмена
Сохранить