- start_ui.sh: SQLite backend (sqlite:///mlflow.db) вместо file-store - все скрипты src/: mlflow.set_tracking_uri(http://localhost:5555) с env-override - README: сервер должен быть запущен до запуска скриптов - AGENTS.md: обновлена архитектура хранения и gotcha
41 lines
1.9 KiB
Bash
Executable File
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}"
|