#!/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://:${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}"