Описание модели
Модель принимает цифры на основе датасета mnist
определяет число и выводит остаток от деления этого числа на 3.
Модель состоит из двух частей.
Первая распознает число и передает это значение в вторую часть модели.
Вторая делит полученный результат число на три.
Выходной результат выглядит как массив их трех элементов. Индекс максимального аргумента и будет соответствовать нужному значению.
Например: [0,0,1] - 2
Пример работы модели:
Как видим модель неплохо справляется с поставленной задачей и хорошо предсказывает результат.
Архитектруа модели
Summary
Model: "ImageToRemainder"
Layer (type) | Output Shape | Param # |
---|---|---|
MnistImg (InputLayer) | [(None, 28, 28)] | 0 |
ImgToNum (Functional) | (None, 10) | 124310 |
NumToRemainder (Functional) | (None, 3) | 155 |
Total params: 124,465
Trainable params: 124,465
Non-trainable params: 0
Используемый алгоритмы оптимизации и функция ошибки
Алгоритм оптимизации: adam
Функция ошибки: categorical_crossentropy
Валидация - validation_split=0.3
Размеры тренировочного, валидационного и тестового датасетов
Train shape: 42000
Validation shape: 18000
Test shape: 10000
Результаты обучения модели: loss и accuracy.
История обучения accuracy
и loss
для train
и validation
Проверка после обучения на данных из test
:
- Test loss:
0.07424477487802505
- Test accuracy:
0.9800999760627747