Данный проект представляет собой реализацию модели нейронной сети для классификации изображений рукописных цифр из набора данных MNIST с использованием библиотек TensorFlow и Keras.
Проект классифицирует изображения рукописных цифр (размер 28x28 пикселей) из набора данных MNIST. Основные этапы включают загрузку и нормализацию данных, построение и обучение нейронной сети, а также оценку и предсказание с использованием обученной модели.
- Загружается набор данных MNIST, который содержит 60,000 изображений для тренировки и 10,000 изображений для тестирования.
- Все изображения нормализуются: значения пикселей приводятся к диапазону [0, 1] для ускорения обучения модели.
- Пример изображения из тренировочного набора визуализируется с помощью библиотеки Matplotlib для демонстрации структуры данных.
Модель нейронной сети включает следующие слои:
- Flatten слой: преобразует изображение из 28x28 в одномерный вектор (784 пикселя).
- Dense слой с 128 нейронами и функцией активации ReLU: для обучения скрытых представлений.
- Выходной слой с 10 нейронами (по одному для каждой цифры от 0 до 9), с активацией Softmax: для предсказания вероятностей классов.
- Модель компилируется с использованием оптимизатора Adam и функции потерь sparse_categorical_crossentropy.
- Модель обучается на тренировочном наборе данных в течение 5 эпох с выводом точности на каждом шаге.
- После завершения обучения модель оценивается на тестовом наборе, выводится точность классификации.
- Для наглядности, класс первого изображения из тестового набора предсказывается, и результат выводится в консоль.
- Тестовое изображение визуализируется вместе с правильной меткой, что позволяет сравнить предсказание модели с реальным значением.
- TensorFlow и Keras для построения и обучения модели нейронной сети.
- Matplotlib для визуализации изображений.
Проект демонстрирует процесс создания простой модели классификации изображений, начиная с обработки и нормализации данных, построения модели нейронной сети, и заканчивая обучением и оценкой точности на тестовом наборе. Это классический пример задачи классификации изображений, который позволяет получить базовое понимание работы с нейронными сетями и TensorFlow.
- Установите зависимости:
pip install tensorflow pip install matplotlib
- Запустите скрипт:
python main.py
Вы можете наблюдать предсказанное и фактическое значение тестового изображения, а также точность модели после её оценки на тестовом наборе.