/mlflow-example

MLFLow example

Primary LanguageShell

Пример работы MLFLow c FeatureStorage

Подготовка окружения

Создайте виртуальное окружение на версии python3.10

python3.10 -m venv .venv
source .venv/bin/activate.sh

Установите пакет с примером и зависимостями

pip install -e .

Запустите MLFlow и необходимые ему компоненты с помощью docker compose

docker compose up -d

Обучение и сохранение модели

Для запуска обучения и сохранения модели в MLFlow используйте скрипт

./example/train.py

Для инференса модели можно исопльзовать test.ipynb подставив нужный run_id. Или запустив через mlflow serve

mlflow models serve -m "runs:/<run_id>/models/model" --port 8081

Проверить работу модели можно с помощью команды

http http://localhost:8081/invocations dataframe_records:='[{"f0": 0, "f1": 1, "f2": 2}]'

При этом в логах mlflow serve будет логироваться обогащенные параметры.

Значения параметров берутся из таблицы features в БД mlflow_database в MySQL.

Можно поменять значения в таблице features и увидеть эффект при инференсе в логах.

echo "UPDATE features SET value = 303 WHERE name = 'market'" | mysql -h 127.0.0.1 -u mlflow_user -p  -b  mlflow_database