Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1 строка
94 KiB
Plaintext

{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"provenance":[],"authorship_tag":"ABX9TyOhMo5QOX+lJneEpOm4/VNU"},"kernelspec":{"name":"python3","display_name":"Python 3"},"language_info":{"name":"python"}},"cells":[{"cell_type":"code","execution_count":3,"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"hdlWBrGZ-uPv","executionInfo":{"status":"ok","timestamp":1764527905786,"user_tz":-180,"elapsed":1262,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"2656d17c-bc1d-46e2-e8c6-55b40f05f84f"},"outputs":[{"output_type":"stream","name":"stdout","text":["Drive already mounted at /content/drive; to attempt to forcibly remount, call drive.mount(\"/content/drive\", force_remount=True).\n"]}],"source":["from google.colab import drive\n","drive.mount('/content/drive') # Смонтировать Диск\n","\n","import os\n","os.chdir('/content/drive/MyDrive/Colab Notebooks/IS_LR3') # Правильный путь"]},{"cell_type":"code","source":["from tensorflow import keras\n","from tensorflow.keras import layers\n","from tensorflow.keras.models import Sequential\n","import matplotlib.pyplot as plt\n","import numpy as np\n","from sklearn.metrics import classification_report, confusion_matrix\n","from sklearn.metrics import ConfusionMatrixDisplay"],"metadata":{"id":"ltIGB7L-EKOR","executionInfo":{"status":"ok","timestamp":1764528023483,"user_tz":-180,"elapsed":13271,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}}},"execution_count":4,"outputs":[]},{"cell_type":"code","source":["from keras.datasets import mnist\n","(X_train, y_train), (X_test, y_test) = mnist.load_data()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"dRVHyMwfEZGi","executionInfo":{"status":"ok","timestamp":1764528071569,"user_tz":-180,"elapsed":617,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"6d70f57b-ae07-4d85-ccc1-490cfc4cff16"},"execution_count":5,"outputs":[{"output_type":"stream","name":"stdout","text":["Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n","\u001b[1m11490434/11490434\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n"]}]},{"cell_type":"code","source":["# создание своего разбиения датасета\n","from sklearn.model_selection import train_test_split\n","\n","# объединяем в один набор\n","X = np.concatenate((X_train, X_test))\n","y = np.concatenate((y_train, y_test))\n","\n","# разбиваем по вариантам\n","X_train, X_test, y_train, y_test = train_test_split(X, y,\n"," test_size = 10000,\n"," train_size = 60000,\n"," random_state = 123)\n","\n","\n","# вывод размерностей\n","print('Shape of X train:', X_train.shape)\n","print('Shape of y train:', y_train.shape)\n","\n","print('Shape of X test:', X_test.shape)\n","print('Shape of y test:', y_test.shape)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"4pAAxPoaEod7","executionInfo":{"status":"ok","timestamp":1764528138853,"user_tz":-180,"elapsed":208,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"4b88a19a-0803-4c26-e053-29a011bdca46"},"execution_count":6,"outputs":[{"output_type":"stream","name":"stdout","text":["Shape of X train: (60000, 28, 28)\n","Shape of y train: (60000,)\n","Shape of X test: (10000, 28, 28)\n","Shape of y test: (10000,)\n"]}]},{"cell_type":"code","source":["# Зададим параметры данных и модели\n","num_classes = 10\n","input_shape = (28, 28, 1)\n","\n","# Приведение входных данных к диапазону [0, 1]\n","X_train = X_train / 255\n","X_test = X_test / 255\n","\n","# Расширяем размерность входных данных, чтобы каждое изображение имело\n","# размерность (высота, ширина, количество каналов)\n","X_train = np.expand_dims(X_train, -1)\n","X_test = np.expand_dims(X_test, -1)\n","print('Shape of transformed X train:', X_train.shape)\n","print('Shape of transformed X test:', X_test.shape)\n","\n","# переведем метки в one-hot\n","y_train = keras.utils.to_categorical(y_train, num_classes)\n","y_test = keras.utils.to_categorical(y_test, num_classes)\n","print('Shape of transformed y train:', y_train.shape)\n","print('Shape of transformed y test:', y_test.shape)"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"pG3dlINQE-Wz","executionInfo":{"status":"ok","timestamp":1764528248939,"user_tz":-180,"elapsed":203,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"fe9444af-a1ca-45b9-a9fb-3ba2d1a14c93"},"execution_count":8,"outputs":[{"output_type":"stream","name":"stdout","text":["Shape of transformed X train: (60000, 28, 28, 1)\n","Shape of transformed X test: (10000, 28, 28, 1)\n","Shape of transformed y train: (60000, 10)\n","Shape of transformed y test: (10000, 10)\n"]}]},{"cell_type":"code","source":["# создаем модель\n","model = Sequential()\n","model.add(layers.Conv2D(32, kernel_size=(3, 3), activation=\"relu\", input_shape=input_shape))\n","model.add(layers.MaxPooling2D(pool_size=(2, 2)))\n","model.add(layers.Conv2D(64, kernel_size=(3, 3), activation=\"relu\"))\n","model.add(layers.MaxPooling2D(pool_size=(2, 2)))\n","model.add(layers.Dropout(0.5))\n","model.add(layers.Flatten())\n","model.add(layers.Dense(num_classes, activation=\"softmax\"))\n","\n","model.summary()\n","# компилируем и обучаем модель\n","batch_size = 512\n","epochs = 15\n","model.compile(loss=\"categorical_crossentropy\", optimizer=\"adam\", metrics=[\"accuracy\"])\n","model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, validation_split=0.1)\n"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":958},"id":"IA24rYjpFjq_","executionInfo":{"status":"ok","timestamp":1764529276625,"user_tz":-180,"elapsed":886846,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"d4931509-5577-4885-c587-42606ece7464"},"execution_count":9,"outputs":[{"output_type":"stream","name":"stderr","text":["/usr/local/lib/python3.12/dist-packages/keras/src/layers/convolutional/base_conv.py:113: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n"," super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n"]},{"output_type":"display_data","data":{"text/plain":["\u001b[1mModel: \"sequential\"\u001b[0m\n"],"text/html":["<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\">Model: \"sequential\"</span>\n","</pre>\n"]},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n","┃\u001b[1m \u001b[0m\u001b[1mLayer (type) \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1mOutput Shape \u001b[0m\u001b[1m \u001b[0m┃\u001b[1m \u001b[0m\u001b[1m Param #\u001b[0m\u001b[1m \u001b[0m┃\n","┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n","│ conv2d (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m26\u001b[0m, \u001b[38;5;34m26\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m320\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ max_pooling2d (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m13\u001b[0m, \u001b[38;5;34m13\u001b[0m, \u001b[38;5;34m32\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ conv2d_1 (\u001b[38;5;33mConv2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m11\u001b[0m, \u001b[38;5;34m11\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m18,496\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ max_pooling2d_1 (\u001b[38;5;33mMaxPooling2D\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m5\u001b[0m, \u001b[38;5;34m5\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ dropout (\u001b[38;5;33mDropout\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m5\u001b[0m, \u001b[38;5;34m5\u001b[0m, \u001b[38;5;34m64\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ flatten (\u001b[38;5;33mFlatten\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m1600\u001b[0m) │ \u001b[38;5;34m0\u001b[0m │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ dense (\u001b[38;5;33mDense\u001b[0m) │ (\u001b[38;5;45mNone\u001b[0m, \u001b[38;5;34m10\u001b[0m) │ \u001b[38;5;34m16,010\u001b[0m │\n","└─────────────────────────────────┴────────────────────────┴───────────────┘\n"],"text/html":["<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓\n","┃<span style=\"font-weight: bold\"> Layer (type) </span>┃<span style=\"font-weight: bold\"> Output Shape </span>┃<span style=\"font-weight: bold\"> Param # </span>┃\n","┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩\n","│ conv2d (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv2D</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">26</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">26</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">320</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ max_pooling2d (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">MaxPooling2D</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">13</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">13</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">32</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ conv2d_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Conv2D</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">11</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">11</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">18,496</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ max_pooling2d_1 (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">MaxPooling2D</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">5</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">5</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ dropout (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dropout</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">5</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">5</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">64</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ flatten (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Flatten</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">1600</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> │\n","├─────────────────────────────────┼────────────────────────┼───────────────┤\n","│ dense (<span style=\"color: #0087ff; text-decoration-color: #0087ff\">Dense</span>) │ (<span style=\"color: #00d7ff; text-decoration-color: #00d7ff\">None</span>, <span style=\"color: #00af00; text-decoration-color: #00af00\">10</span>) │ <span style=\"color: #00af00; text-decoration-color: #00af00\">16,010</span> │\n","└─────────────────────────────────┴────────────────────────┴───────────────┘\n","</pre>\n"]},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["\u001b[1m Total params: \u001b[0m\u001b[38;5;34m34,826\u001b[0m (136.04 KB)\n"],"text/html":["<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Total params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">34,826</span> (136.04 KB)\n","</pre>\n"]},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["\u001b[1m Trainable params: \u001b[0m\u001b[38;5;34m34,826\u001b[0m (136.04 KB)\n"],"text/html":["<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">34,826</span> (136.04 KB)\n","</pre>\n"]},"metadata":{}},{"output_type":"display_data","data":{"text/plain":["\u001b[1m Non-trainable params: \u001b[0m\u001b[38;5;34m0\u001b[0m (0.00 B)\n"],"text/html":["<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"font-weight: bold\"> Non-trainable params: </span><span style=\"color: #00af00; text-decoration-color: #00af00\">0</span> (0.00 B)\n","</pre>\n"]},"metadata":{}},{"output_type":"stream","name":"stdout","text":["Epoch 1/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m47s\u001b[0m 427ms/step - accuracy: 0.1470 - loss: 2.2933 - val_accuracy: 0.6295 - val_loss: 2.0603\n","Epoch 2/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 418ms/step - accuracy: 0.6329 - loss: 1.6934 - val_accuracy: 0.7963 - val_loss: 0.7763\n","Epoch 3/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m81s\u001b[0m 409ms/step - accuracy: 0.7699 - loss: 0.7786 - val_accuracy: 0.8455 - val_loss: 0.5514\n","Epoch 4/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 411ms/step - accuracy: 0.8124 - loss: 0.6159 - val_accuracy: 0.8683 - val_loss: 0.4603\n","Epoch 5/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m82s\u001b[0m 409ms/step - accuracy: 0.8372 - loss: 0.5313 - val_accuracy: 0.8857 - val_loss: 0.4070\n","Epoch 6/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m45s\u001b[0m 420ms/step - accuracy: 0.8568 - loss: 0.4730 - val_accuracy: 0.8968 - val_loss: 0.3593\n","Epoch 7/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m81s\u001b[0m 413ms/step - accuracy: 0.8738 - loss: 0.4254 - val_accuracy: 0.9078 - val_loss: 0.3253\n","Epoch 8/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 417ms/step - accuracy: 0.8831 - loss: 0.3899 - val_accuracy: 0.9178 - val_loss: 0.2952\n","Epoch 9/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m44s\u001b[0m 410ms/step - accuracy: 0.8929 - loss: 0.3607 - val_accuracy: 0.9250 - val_loss: 0.2665\n","Epoch 10/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m82s\u001b[0m 414ms/step - accuracy: 0.9030 - loss: 0.3290 - val_accuracy: 0.9317 - val_loss: 0.2452\n","Epoch 11/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 409ms/step - accuracy: 0.9082 - loss: 0.3079 - val_accuracy: 0.9367 - val_loss: 0.2267\n","Epoch 12/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m45s\u001b[0m 424ms/step - accuracy: 0.9152 - loss: 0.2844 - val_accuracy: 0.9405 - val_loss: 0.2093\n","Epoch 13/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m79s\u001b[0m 392ms/step - accuracy: 0.9207 - loss: 0.2666 - val_accuracy: 0.9462 - val_loss: 0.1969\n","Epoch 14/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m43s\u001b[0m 406ms/step - accuracy: 0.9227 - loss: 0.2617 - val_accuracy: 0.9482 - val_loss: 0.1836\n","Epoch 15/15\n","\u001b[1m106/106\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m83s\u001b[0m 416ms/step - accuracy: 0.9276 - loss: 0.2425 - val_accuracy: 0.9503 - val_loss: 0.1760\n"]},{"output_type":"execute_result","data":{"text/plain":["<keras.src.callbacks.history.History at 0x7d6f78042540>"]},"metadata":{},"execution_count":9}]},{"cell_type":"code","source":["# Оценка качества работы модели на тестовых данных\n","scores = model.evaluate(X_test, y_test)\n","print('Loss on test data:', scores[0])\n","print('Accuracy on test data:', scores[1])"],"metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2P5z3Tn8JDs2","executionInfo":{"status":"ok","timestamp":1764529297448,"user_tz":-180,"elapsed":3593,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"64f51071-4e3d-4a3e-bf20-1a638f5dced3"},"execution_count":10,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m3s\u001b[0m 9ms/step - accuracy: 0.9470 - loss: 0.1815\n","Loss on test data: 0.17656435072422028\n","Accuracy on test data: 0.9498999714851379\n"]}]},{"cell_type":"code","source":["# вывод тестового изображения и результата распознавания\n","n = 123\n","result = model.predict(X_test[n:n+1])\n","print('NN output:', result)\n","plt.show()\n","plt.imshow(X_test[n].reshape(28,28), cmap=plt.get_cmap('gray'))\n","print('Real mark: ', np.argmax(y_test[n]))\n","print('NN answer: ', np.argmax(result))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":537},"id":"FC6Ywqb7JSHM","executionInfo":{"status":"ok","timestamp":1764529353218,"user_tz":-180,"elapsed":651,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"329094eb-88db-4bb5-c640-b438a3262b16"},"execution_count":11,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 181ms/step\n","NN output: [[3.0897139e-05 9.9081528e-01 4.4518107e-04 1.4293649e-03 9.3897019e-04\n"," 1.5827973e-04 2.9317071e-04 2.5718326e-03 8.2969037e-04 2.4873116e-03]]\n","Real mark: 1\n","NN answer: 1\n"]},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["# истинные метки классов\n","true_labels = np.argmax(y_test, axis=1)\n","# предсказанные метки классов\n","predicted_labels = np.argmax(model.predict(X_test), axis=1)\n","\n","# отчет о качестве классификации\n","print(classification_report(true_labels, predicted_labels))\n","# вычисление матрицы ошибок\n","conf_matrix = confusion_matrix(true_labels, predicted_labels)\n","# отрисовка матрицы ошибок в виде \"тепловой карты\"\n","display = ConfusionMatrixDisplay(confusion_matrix=conf_matrix)\n","display.plot()\n","plt.show()"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":761},"id":"uepnJt0WJkln","executionInfo":{"status":"ok","timestamp":1764529437401,"user_tz":-180,"elapsed":9018,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"fe288c0f-63b8-47b1-a9be-7601c4ff3c0d"},"execution_count":12,"outputs":[{"output_type":"stream","name":"stdout","text":["\u001b[1m313/313\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m7s\u001b[0m 23ms/step\n"," precision recall f1-score support\n","\n"," 0 0.97 0.98 0.98 984\n"," 1 0.97 0.98 0.98 1186\n"," 2 0.94 0.94 0.94 963\n"," 3 0.95 0.93 0.94 1004\n"," 4 0.96 0.96 0.96 978\n"," 5 0.94 0.96 0.95 931\n"," 6 0.97 0.98 0.97 938\n"," 7 0.94 0.94 0.94 1019\n"," 8 0.95 0.90 0.92 1013\n"," 9 0.91 0.93 0.92 984\n","\n"," accuracy 0.95 10000\n"," macro avg 0.95 0.95 0.95 10000\n","weighted avg 0.95 0.95 0.95 10000\n","\n"]},{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 2 Axes>"],"image/png":"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\n"},"metadata":{}}]},{"cell_type":"code","source":["# загрузка собственного изображения\n","from PIL import Image\n","file_data = Image.open('test.png')\n","file_data = file_data.convert('L') # перевод в градации серого\n","test_img = np.array(file_data)\n","\n","# вывод собственного изображения\n","plt.imshow(test_img, cmap=plt.get_cmap('gray'))\n","plt.show()\n","\n","# предобработка\n","test_img = test_img / 255\n","test_img = np.reshape(test_img, (1,28,28,1))\n","\n","# распознавание\n","result = model.predict(test_img)\n","print('I think it\\'s ', np.argmax(result))"],"metadata":{"colab":{"base_uri":"https://localhost:8080/","height":465},"id":"1sVCVYtDJxPx","executionInfo":{"status":"ok","timestamp":1764530060252,"user_tz":-180,"elapsed":845,"user":{"displayName":"Денис Шестов","userId":"16636308897033390735"}},"outputId":"3b48521c-91a0-494b-8e3a-67b5a04ea9da"},"execution_count":17,"outputs":[{"output_type":"display_data","data":{"text/plain":["<Figure size 640x480 with 1 Axes>"],"image/png":"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\n"},"metadata":{}},{"output_type":"stream","name":"stdout","text":["\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 103ms/step\n","I think it's 4\n"]}]}]}