Тестовое задание:
Написать нейронную сеть детекции для любого класса из датасета COCO с помощью библиотеки Pytorch, упаковать обучение в докер. На выходе сети должны получать 1 ограничивающую рамку экземпляра выбранного класса. Нельзя использовать готовые модели нейронных сетей, необходимо реализовать модель самостоятельно, архитектура может быть любой, высокая точность детекции не требуется.
Задания со звёздочкой:
- Модель способна будет выдавать уверенность в каждой предсказанной ограничивающей рамке и, соответственно, этих рамок будет несколько.
- Модель будет показывать высокое качество распознавания. При выполнения задания со звёздочкой датасет может быть взят из других источников
Загрузка датасета
В целях экономии трафика в данном примере используется набор validation2017, т.к. в нем не много изображений. На других наборах данных из COCO проект не тестировался.
Предварительно желательно скачать эти *.zip архивы и поместить в папку dataset:
http://images.cocodataset.org/annotations/annotations_trainval2017.zip http://images.cocodataset.org/zips/val2017.zip
После скачивания они будут включены в контейнер Docker при сборке
Если предварительно не скачивать, то необходимые файлы будут загружены внури контейнера Docker после запуска
Сборка и запуск образа Docker
Загрузка проекта
git clone https://github.com/ximader/ssd_detection_model.git
cd ssd_detection_model
Сборка проекта
docker build . -t ssd-detection-model:1.0
Запуск загрузки датасетов (если не загружены при сборке) и старт обучения
docker run -it --gpus all ssd-detection-model:1.0 bash ./run.sh