Для грантовой комиссии МФТИ:
- Ссылка на описание трека
- В форме на грант я указал свой рабочий api key, можно использовать его. Если по какой-то причине он до вас не дошел, то напишите мне.
- Обязательно наличие драйверов nvidia cuda в системе.
- Программа не запустится на Windows, т.к. он требует наследования исключительно от своего базового образа для пробрасывания драйвера cuda в контейнер, а это слишком утяжеляет проект.
- solution_amur.ipynb - ноутбук с пошаговым построением модели, коментариями.
- model_desc.pdf - файл с подробным описанием модери и ссылками на использованные материалы
- forecast.py - файл со скриптом для генерации прогноза. Помимо самих предсказаний выводит NSE предсказания отдельно для каждого поста. forecast.py создает и обучает модель с нуля, чтобы исключить вохможность оверфита.
В solution_amur.ipynb используется вывод через Google Карты. Если при запуске возникают проблемы, то вам необходимо зарегестрироваться на Google Cloud Platform, создать проект, создать api key и указать его как параметр apikey в ноутбуке UPD: Сдалав репозиторий публичным, я убрал свой api key, теперь для корректного запуска ноутбука вам нужно указать свой google cloud api key
-
При создании Dockerfile в контейнер сразу записываются все нужные для запуска данные (срипт, датасеты).
-
Для содания корректного контейнера необходимо поместить файл forecast.py, requirements.txt, папку datasets и сам Dockerfile в одну папку.
-
forecast.py ожидает, что папка datasets будет иметь точно такую же иерархию, что была в аналогичной папке, предоставленной организаторами. Файлы в подпапке processed_data должны быть за период с 1985 года по 2020 включительно.
Обратите внимание, что сеть обучается только на данных, полученных до даты, с которой начинается предсказание. Например, если вы хотите получить предсказание на период с 1990-01-01 по 1990-01-11, то сеть обучится только на данных за период с 1985 по 1989 год.
- -p ./datasets/ - требуется, чтобы задать путь внутри контейнера. Обязательный аргумент.
- -l - длина периода, который будет подаваться в сеть для предсказания следующих n дней. Опциональный, по умолчанию равен 80.
- Строки через пробел в формате
YYYY-MM-DD
. Обратите внимание, что длина предсказания может быть любой. Вы сами выбираете на сколько дней вперед делать прогноз. Длина считается как разница между двумя датами.
sudo docker pull nvidia/cuda:11.4.0-base-ubuntu18.04
sudo docker build (путь до папки с докерфайлом) --tag amur_image
sudo docker run --gpus all amur_image -p ./datasets/ 2017-01-01 2017-01-11