Описание модели

Модель принимает цифры на основе датасета 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: