Линейная модель CNN Sequential Обновленная Модель_2 CNN - Логи:
Входные данные — изображения размером 28x28 пикселей с одним каналом (градации серого).
Эти слои применяют 64 фильтра размером 3x3 к входным данным, извлекая важные признаки, такие как края и текстуры. Активация relu.
Уменьшает размерность данных, агрегируя значения в области 2x2 пикселя и выбирая максимальное значение в каждой области. Помогает уменьшить количество параметров и вычислительные затраты, сохраняя важные признаки.
Применяют 128 фильтров размером 3x3 к данным, извлекая более сложные признаки. Активация relu.
Уменьшает размерность после сверточных слоев, сводя информацию о пространственных признаках изображения к одному числовому значению для каждого канала. Выполняет операцию глобального усреднения.
Преобразует многомерный массив данных в одномерный вектор. Для дальнейшего подключения к полносвязным (Dense) слоям.
Обрабатывает данные, используя 128 нейронов. В каждом нейроне происходит линейная комбинация входных данных и применение функции активации relu.
Используется для регуляризации нейронной сети - случайным образом обнуляет (выключает) определённую долю нейронов (0.5 = 50%) в слое во время обучения, что помогает предотвратить переобучение модели. Уменьшает зависимость модели от конкретных нейронов.
Обрабатывает выходные данные и использует 10 нейронов, соответствующих 10 классам (цифры 0-9). Применяет функцию активации softmax для получения вероятностей классов. (softmax - нормализует выходные значения, преобразуя их в вероятности классов, которые суммируются до 1)
x_train - cодержит данные, используемые для обучения модели нейросети.
x_test - cодержит данные, используемые для тестирования производительности обученной модели.
адаптируется к обучению моделей, изменяя скорость обучения на основе момента первого и второго порядка.
используется для задач многоклассовой классификации, где метки представлены в виде целых чисел. Измеряет разницу между предсказанными вероятностями и истинными метками.
Показывает, какой процент предсказаний модели правильный.
* здесь - (Первоначальная модель CNN)
для тренировки модели (параметры model.fit) для контроля процесса обучения, улучшая его эффективность и удобство:
останавливает тренировку, если метрика, которую мониторим (val_loss — потери на валидационной выборке), не улучшается в течение 5 эпох (параметр patience=5).
сохраняется лучшая модель во время тренировки - модель, которая на данный момент имеет минимальные потери на валидационной выборке.
снижает скорость обучения в два раза (factor=0.5), если метрика (val_loss) перестает улучшаться. Это помогает модели лучше сходиться, если она "застряла" в локальном минимуме.
Записывается информацию о процессе тренировки (значения потерь и точности на тренировочной и валидационной выборках) в файл CSV.
- Python 3.+
- TensorFlow
- Keras
- Numpy
- Matplotlib
py cnn_model_v2.py
py test_load.py
Feel free to contact: [email protected]