Skip to content

Latest commit

 

History

History
98 lines (62 loc) · 3.75 KB

README_ru.md

File metadata and controls

98 lines (62 loc) · 3.75 KB

About

Код для обучения моделей с использованием подхода metric learning. В основе проекта лежит библиотека open-metric-learning.

Requirements

  • python (протестировано для версии Python >=3.10, <3.11).

Installation

Создать виртуальное окружение, например, с помощь conda. Затем установить зависимости:

pip install -r requirements.txt

Дополнительные зависимости (логирование, парсинг фида, удаление дубликатов, экспорт в onnx) находятся в файле requirements_optional.txt.

Если нужна какая-либо из вышеуказанных возможностей (смотри examples) нужно выполнить:

pip install -r requirements_optional.txt

Usage

Перед использованием следует ознакомиться с библиотекой open-metric-learning.

Особое внимание нужно уделить конфигурационному файлу.

Dataset

Датасет должен иметь особый формат.

При обучении текстовой модели, колонка path должна быть заменена на text и содержать текстовое описание объекта.

Также можно использовать примеры подготовки данных в каталоге examples:

Train

Внеся соответствующие изменения в конфигурационные файлы в директории config, выполнить:

python train_bert.py
# OR
python train_vit.py

Examples

Для деплоя моделей может потребоваться их оптимизация.

Для этого можно использовать следующие примеры:

  1. Конвертация в onnx формат - examples/vit_to_onnx.py или examples/bert_to_onnx.py.
  2. Квантизация - examples/quantize.py.

Logging

Для регистрации модели в mlflow можно использовать следующий пример:

import mlflow
import onnx

mlflow.set_tracking_uri("http://localhost:8000")

model_path = "./ViTExtractor.onnx"
artifact_path = "./artifacts"
onnx_model = onnx.load(model_path)

with mlflow.start_run(experiment_id="1") as run:
    mlflow.onnx.log_model(onnx_model, "model", save_as_external_data=False)
    mlflow.log_artifact(artifact_path)

В данном примере регистрируется модель формата onnx.