git clone git@git.codenrock.com:e-cup-everything-as-code-1214/template_5699.git
cd template_5699
- Скачайте train набор
- Разархивируйте содержимое архива в папку data таким образом, чтобы все данные лежали в папке data/train
- Скачайте train.csv и положите его в папку data/private_info
docker build . -t matching_object
Это займёт какое-то время. Обратите внимание, что все пакеты, модели и другие данные, которые, которые вы хотите загрузить из интернета и использовать в проекте, должны быть загружены на этом этапе. В дальнейшем работа программы будет оторвана от интернета и ни скачать, ни выкачать ничего не сможет.
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 add .
git commit -a -m"add weights"
git push
После команды git push
в main
ветку CI/CD система GitLab начнет автоматическую сборку проекта. По итогу, на странице с задачей появится кнопка "Проверить решение". Нажмите её для запуска инференса.
Несмотря на то, что проверка решения выполняется на удаленном сервере, вы можете проверить запуск инференса и локально. Если вы заранее поделили train датасет на условную обучающую и проверочную выборки для локально разработки, вы можете положить соответствующие изображения в папку data/test
и запустить инференс локально.
docker run -it --network none --shm-size 2G --name matching_object -v ./data:/app/data matching_object python make_submission.py
По итогу выполнения команды, файл с решением submission.csv
появится в папке data
. Проверьте его на правильность структуры. При желании, можете запустить расчет метрики на нем. Пример файла с расчетом метрики вы можете найти в корне репозитория.