Files
mlflow-practice/start_ui.sh
T

48 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# Запуск MLflow Tracking Server
# Откройте в браузере: http://localhost:5555
#
# Backend store = file://$(pwd)/mlruns (тот же каталог, куда скрипты
# пишут по умолчанию). Поэтому UI видит все эксперименты/запуски
# без доп. настройки tracking URI в скриптах.
#
# ВАЖНО: file-store как СЕРВЕРНЫЙ бэкенд в новых MLflow (3.x) переведён в
# maintenance mode и по умолчанию запрещён. Официальный opt-out —
# MLFLOW_ALLOW_FILE_STORE=true (его и выставляем ниже). Это касается только
# `mlflow server`; клиентский file store (как пишут скрипты) работает и без него.
#
# Альтернатива — SQLite-бэкенд (recommended MLflow, без opt-out). Тогда
# раскомментируйте блок SQLITE ниже и закомментируйте FILE, а в скриптах
# задайте mlflow.set_tracking_uri("http://localhost:5555")
# (или export MLFLOW_TRACKING_URI=http://localhost:5555).
# ============================================================
set -e
cd "$(dirname "$0")"
PORT=5555
echo "🚀 Запускаем MLflow Tracking Server..."
echo " UI: http://localhost:${PORT}"
echo " Store: file://${PWD}/mlruns"
echo " Artifacts: file://${PWD}/artifacts"
echo ""
echo " Нажмите Ctrl+C для остановки"
echo ""
# ─── FILE backend (по умолчанию — единое хранилище со скриптами) ───
# MLFLOW_ALLOW_FILE_STORE=true — opt-out из maintenance mode file-store бэкенда.
export MLFLOW_ALLOW_FILE_STORE=true
mlflow server \
--backend-store-uri "file://${PWD}/mlruns" \
--default-artifact-root "file://${PWD}/artifacts" \
--host 0.0.0.0 \
--port "${PORT}"
# ─── SQLITE backend (альтернатива — см. комментарий в шапке) ──────
# mlflow server \
# --backend-store-uri sqlite:///mlflow.db \
# --default-artifact-root ./artifacts \
# --host 0.0.0.0 \
# --port "${PORT}"