Математическое выражение (усложнённый вариант)

Финиш 29 ноября 2020 в 17:00

Задача

Вычислить значение математического выражение

Используйте свои навыки работы с нейронными сетями для решения задачи классификации. На основе представленной выборки ваш алгоритм должен будет распознать числа и математический символ.

Образовательная программа

Ссылка на видео-уроки

Выполнение

В архиве задания вы найдёте папки data_train и data_validate c изображениями чисел и символов. Там же вы найдёте файлы data_train.csv , data_validate.csv, eval.py и main.py.

В папке data_train представлены изображения переменных alpha и beta, чисел от 0 до 9 включительно, а также знаков сложения, вычитания, деления и умножения. При вычислении выражения заменяйте alpha на 1999, а beta на 2036.

В файле data_train.csv вы найдёте аннотации для файлов из папки data_train.

В файле data_validate.csv вы увидите пример файла для тестирования вашей модели.

Он состоит из столбца path1(первое число), sym(математический символ), path2(второе число) и result(вычисленное выражение).

digits-path

В столбцах path1, sym, path2 имена файлов с изображениями, эти три изображения составляют математическое выражение, например такое:

digits-values

Вам нужно его вычислить и вписать ответ в столбец result.

digits-results

Проверка

Решение и подгрузку модели нужно реализовать в файле eval.py

В файле main.py вы можете проверить работоспособность вашей модели. Если ваша модель проходит проверку, то вы можете отправить архив(файл eval.py и файлы моделей) с решённым заданием в нашу систему. Модели нейронных сетей должны быть в формате .h5 (Как сохранять модель в формат h5)

Важно:

  1. Для построения модели нейронной сети используйте tensorflow версии 2.0.1

На сервере ваша модель получит на вход 500 примеров, аналогичных тем, что были в файле data_validate.csv

В качестве ответа принимается число с плавающей точкой. При проверке учитываются два символа после запятой, остальные отбрасываются (math.round(x, 2)). Примеров с делением на 0 в выборке не будет.

Оценка будет проводиться по доле правильных ответов.

У лидеров соревнования мы запросим код обучения сети и сохранённую модель сети. Участник, модель которого не покажет результат близкий к указанному в лидерборде, лишится своей позиции.



Очки Участник Дата Команда Город Учебное заведение
0.982 nev 29.11.2020 13:10 Best Character
0.982 Artem Buev 29.11.2020 12:07 Дюдюка Барбидокская
0.982 werserk 29.11.2020 13:48 Дюдюка Барбидокская
0.982 mkulik05( ͡° ͜ʖ ͡°) 29.11.2020 13:14 FTL
0.982 Максим Романовский 29.11.2020 12:46 F_T_L
0.974 Карпов Геннадий(rikko) 29.11.2020 14:01 Владивосток МБОУ СОШ №57
0.97 Диратоф Аздимарлов 29.11.2020 13:53
0.97 Александр Малиновский 29.11.2020 11:29
0.832 Ivan Efremov 29.11.2020 11:10
0.808 Алексей Гаврилов 21.11.2020 12:30
0.112 Василий Белкин 28.11.2020 15:01 Москва