Skip to content

Задача на мэтчинг товаров с хакатона E-CUP

Notifications You must be signed in to change notification settings

da-the-dev/E-CUP-2024-Matching

Repository files navigation

Baseline-проект

Запуск

Склонируйте репозиторий
git clone git@git.codenrock.com:e-cup-everything-as-code-1214/template_5699.git 
cd template_5699
загрузите обучающие данные
  1. Скачайте train набор
  2. Разархивируйте содержимое архива в папку data таким образом, чтобы все данные лежали в папке data/train
  3. Скачайте train.csv и положите его в папку data/private_info
Соберите образ решения
docker build . -t matching_object

Это займёт какое-то время. Обратите внимание, что все пакеты, модели и другие данные, которые, которые вы хотите загрузить из интернета и использовать в проекте, должны быть загружены на этом этапе. В дальнейшем работа программы будет оторвана от интернета и ни скачать, ни выкачать ничего не сможет.

Запустите baseline.py
docker run -it --network none --shm-size 2G --name matching_object -v ./data:/app/data matching_object python baseline.py

Описание данных

Модель будет обучена на следующих данных:

  • train.parquet: содержит пары одинаковых и различных товаров, с идентификаторами товаров и метками (target).
  • resnet.parquet: содержит векторные представления изображений товаров (эмбединги).
  • attributes.parquet: содержит атрибуты товаров.
  • text_and_bert.parquet: разметка, полученная автоматически без участия человека.

Результат

В результате выполнения команды в корне проекта (в контейнере) будут созданы следующие файлы:

  • baseline.pkl: файл, содержащий обученную модель.
  • vectorizer.pkl: файл, содержащий векторизатор.
docker cp matching_object:/app/baseline.pkl ./
docker cp matching_object:/app/vectorizer.pkl ./
сделайте git push с весами

Соревнование подразумевает, что модели обучаются участниками локально, веса загружаются в репозитории, а система автоматической проверки запускает только инференс решения. Отправьте созданные на предыдущем шаге веса в репозиторий.

git add .
git commit -a -m"add weights"
git push

После команды git push в main ветку CI/CD система GitLab начнет автоматическую сборку проекта. По итогу, на странице с задачей появится кнопка "Проверить решение". Нажмите её для запуска инференса.

Отладка

Несмотря на то, что проверка решения выполняется на удаленном сервере, вы можете проверить запуск инференса и локально. Если вы заранее поделили train датасет на условную обучающую и проверочную выборки для локально разработки, вы можете положить соответствующие изображения в папку data/test и запустить инференс локально.

Запустите инференс make submission py
docker run -it --network none --shm-size 2G --name matching_object -v ./data:/app/data matching_object python make_submission.py

По итогу выполнения команды, файл с решением submission.csv появится в папке data. Проверьте его на правильность структуры. При желании, можете запустить расчет метрики на нем. Пример файла с расчетом метрики вы можете найти в корне репозитория.

About

Задача на мэтчинг товаров с хакатона E-CUP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages