TGViewer
техно-свалка техно-свалка @techs_dump · 467 subscribers
Post #100 389
MNIST: как нейросеть распознаёт рукописные цифры

В прошлом посте разбирали, из каких слоёв состоит нейросеть. Теперь соберём рабочий пример на MNIST.

MNIST — классический учебный датасет из 70 000 изображений рукописных цифр от 0 до 9:
— 60 000 изображений для обучения
— 10 000 для проверки
— размер каждой картинки — 28 × 28 пикселей

Загружаем данные:
from tensorflow import keras from tensorflow.keras import layers import numpy as np

(x_train, y_train), (x_test, y_test) = ( keras.datasets.mnist.load_data() )
В x_train находятся изображения, а в y_train — правильные ответы.

Например:

print(x_train.shape)
# (60000, 28, 28)

print(y_train[0])
# 5


Для нейросети картинка — это таблица чисел от 0 до 255. Нормализуем значения до диапазона от 0 до 1:

x_train = x_train.astype("float32") / 255
x_test = x_test.astype("float32") / 255


Затем превращаем каждое изображение 28 × 28 в массив из 784 чисел:

x_train = x_train.reshape(-1, 784)
x_test = x_test.reshape(-1, 784)


Теперь собираем модель:

model = keras.Sequential([
    layers.Input(shape=(784,)),
    layers.Dense(128, activation="relu"),
    layers.Dropout(0.2),
    layers.Dense(10, activation="softmax")
])



Настраиваем обучение:

model.compile(
optimizer="adam",
loss="sparse_categorical_crossentropy",
metrics=["accuracy"]
)


Запускаем обучение:
model.fit( x_train, y_train, epochs=3, batch_size=32, validation_split=0.1 )


Проверяем модель на данных, которые она не видела во время обучения:

test_loss, test_accuracy = model.evaluate(
x_test,
y_test
)

print("Точность:", test_accuracy)
Получаем предсказание для одной картинки:

image = x_test[0:1]

probabilities = model.predict(image)
predicted_digit = np.argmax(probabilities)

print("Вероятности:", probabilities[0])
print("Ответ модели:", predicted_digit)
print("Правильный ответ:", y_test[0])
  • ❤ 30
  • 👍 23
  • 🔥 15
  • 😍 2
More from @techs_dump
  1. Sep 21, 2026В Шанхае прошли бои полноразмерных гуманоидов На турнире URKL сражались гуманоиды EngineAI…
  2. Sep 18, 2026В Google Colab теперь можно бесплатно тренировать более 500 моделей — энтузиасты выпустили…
  3. Sep 17, 2026Давно читаю канал Тани Савельевой, интересно пишет про вайб кодинг и предпринимательство.…
  4. Sep 17, 2026Вчера выступала на большой конфе в Парке Горького от Тинька по продуктам Конфа была топ Я…
  5. Sep 17, 2026Робот-рука взяла кирпичик LEGO: что под капотом Потестила захват предметов на AdeeptTank R…
  6. Sep 16, 2026Digit 5 научили работать рядом с людьми без защитной клетки Agility Robotics показала ново…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →