Приложение представляет собой программу для распознавания введённых пользователем символов с помощью нейронной сети.
Сеть создана с помощью библиотеки DeepLearning.scala. По структуре представляет собой свёрточная нейронную сеть с одним свёрточным слоем и двумя полносвязными слоями. Функцией потерь выбрана функция перекрёстной энтропии. Для оптимизации выбран алгоритм Adam.
Тренировочными и тестовыми данными для сети служит набор MNIST, загруженный с помощью библиотеки Deeplearning4j.
На данный момент времени к сети прилагаются веса, показавшие на тестовых данных точность в 98.48%. Пользователь может запустить приложение с параметром --train для повторной тренировки сети.
Графический интерфейс приложения представляет собой одно окно, в левой части которого пользователь может рисовать цифры с помощью мыши. В правой же части пользователь сможет увидеть предположение сети о введённой и цифре, а так же очистить поле ввода.
Первые несколько секунд после запуска пользователь должен дождаться загрузки весов сети из файлов, после сего сможет приступить к работе.
