Files
mlflow-practice/start_ui.sh
T
second_constantine 9c3321b3a7 Перевод tracking на SQLite + HTTP-клиенты (file-store запрещён в MLflow 3.x)
- start_ui.sh: SQLite backend (sqlite:///mlflow.db) вместо file-store
- все скрипты src/: mlflow.set_tracking_uri(http://localhost:5555) с env-override
- README: сервер должен быть запущен до запуска скриптов
- AGENTS.md: обновлена архитектура хранения и gotcha
2026-07-21 00:10:02 +03:00

41 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# Запуск MLflow Tracking Server
# Откройте в браузере: http://localhost:5555
#
# Backend store = SQLite (mlflow.db) — recommended MLflow backend.
# Скрипты в src/ логируют на этот сервер (http://localhost:5555) через
# mlflow.set_tracking_uri(...) — поэтому UI и скрипты работают с одной
# базой, и эксперименты сразу видны в UI.
#
# ⚠️ file-store как tracking backend в новых MLflow (3.x) переведён в
# maintenance mode и запрещён (ошибка и на сервере, и у клиента-скрипта).
# Поэтому используем sqlite. Артефакты при этом лежат на локальном диске
# в ./artifacts (file-based artifact repository — он НЕ в maintenance mode).
#
# Запустите сервер ДО запуска скриптов обучения:
# ./start_ui.sh # в одном терминале
# python src/train_simple.py ... # в другом (нужен работающий сервер)
# ============================================================
set -e
cd "$(dirname "$0")"
PORT="${MLFLOW_PORT:-5555}"
echo "🚀 Запускаем MLflow Tracking Server..."
echo " UI: http://localhost:${PORT}"
echo " Backend: sqlite:///${PWD}/mlflow.db"
echo " Artifacts: file://${PWD}/artifacts"
echo ""
echo " Скрипты логируют сюда через MLFLOW_TRACKING_URI=http://localhost:${PORT}"
echo " (можно переопределить: export MLFLOW_TRACKING_URI=http://<host>:${PORT})"
echo ""
echo " Нажмите Ctrl+C для остановки"
echo ""
mlflow server \
--backend-store-uri "sqlite:///${PWD}/mlflow.db" \
--default-artifact-root "file://${PWD}/artifacts" \
--host 0.0.0.0 \
--port "${PORT}"