Данный репозиторий является решением "Кейс №1: Защита редких животных" от команды "ML Princess [Napoleon IT]"
- labels.csv - файл с ответами модели на папку
TigVsLeo
- labels_princess.csv - файл с ответами модели на папку
PrincessVsNotPrincess
- app - папка содержащая реализацию бэка, всю логику работы моделей, инициализацию моделей
- telebot - папка содержащая реализацию бота, логику обработки ответов модели и их вывод пользователю
- backend.py - вспомогательный файл для запуска сервиса
- docker-compose.yml - конфиг докера для сборки и поднятия сервиса и бота с нужными портами и тд
- Dockerfile - докер файл сервиса, отвечающий за окружение и установку нужных пакетов, библиотек
- full_base_file.csv - csv таблица с усредненными эмбеддингами классов - нужна для подсчета близжайших классов для изображения
- install_models.sh - скрипт для выгрузки моделей с облака
- INFERENCE.md - документация по прогону ваших данных через модель
- inference_model.py - скрипт для инференса моделей(прогон изображений через модели и составление csv таблицы с результатами работы)
- test_requests.py - файл для инференса моделей через сервис(прогон изображений через сервис и составление csv таблицы с результатами работы). Для прогона ваших данных нужно использовать именно его
- requirements.txt - файл со всеми необходимыми библиотеками для работы сервиса
Для того чтобы поднять сервис на локальной/удаленной машине нужно:
- убедиться, что указанные порты в
docker-compose.yml
доступны на вашей машине - запустить скрипт сборки docker контейнеров:
docker-compose build
- запустить скрипт поднятия сервисов:
docker-compose up
- Поздравляем, сервисы подняты
Для решения задачи мы использовали визуальные трансформеры. В сервисе используются 2 обученные модели:
- Визуальный трансформер для детекции животных
- Визуальный трансформер (metric learning) для классификации животных, найденных на предыдущем шаге