跳到主要内容

连接您的开发环境到 MLflow

本指南将向您展示如何将开发环境连接到 MLflow 实验。您可以在本地计算机上运行 MLflow,自托管开源 MLflow 服务,或使用托管服务,例如 Databricks Managed MLflow。

先决条件

  • Python 环境: Python 3.9+ 并已安装 pip

设置说明

步骤 1: 安装 MLflow

bash
pip install --upgrade "mlflow>=3.1"

步骤 2: 配置跟踪

MLflow 支持不同的后端来跟踪您的实验数据。选择以下选项之一开始。有关详细的设置和配置,请参阅 自托管指南

选项 A: 数据库 (推荐)

将跟踪 URI 设置为本地数据库 URI (例如 sqlite:///mlflow.db)。这是快速入门和本地开发推荐的选项。

python
import mlflow

mlflow.set_tracking_uri("sqlite:///mlflow.db")
mlflow.set_experiment("my-first-experiment")

选项 B: 文件系统

如果未指定跟踪 URI,MLflow 将自动使用本地文件存储

python
import mlflow

# Creates local mlruns directory for experiments
mlflow.set_experiment("my-first-experiment")
即将弃用

文件系统后端处于“维护模式” (Keep-the-Light-On, KTLO),不会接收 MLflow 中的大多数新功能。我们建议改用数据库后端。数据库后端很快也将成为默认选项。

选项 C: 远程跟踪服务器

按照 自托管指南 启动远程 MLflow 跟踪服务器。然后配置您的客户端以使用远程服务器

python
import mlflow

# Connect to remote MLflow server
mlflow.set_tracking_uri("https://:5000")
mlflow.set_experiment("my-first-experiment")

或者,您可以通过环境变量配置跟踪 URI 和实验

bash
export MLFLOW_TRACKING_URI="https://:5000"
export MLFLOW_EXPERIMENT_NAME="my-first-experiment"

步骤 3: 验证您的连接

创建一个测试文件并运行此代码

python
import mlflow

# Print connection information
print(f"MLflow Tracking URI: {mlflow.get_tracking_uri()}")
print(f"Active Experiment: {mlflow.get_experiment_by_name('my-first-experiment')}")

# Test logging
with mlflow.start_run():
mlflow.log_param("test_param", "test_value")
print("✓ Successfully connected to MLflow!")

步骤 4: 访问 MLflow UI

如果您正在使用本地跟踪 (选项 A 或 B),请运行以下命令,并通过 https://:5000 访问 MLflow UI。

bash
# For Option A
mlflow server --backend-store-uri sqlite:///mlflow.db --port 5000
# For Option B
mlflow server --port 5000

如果您正在运行远程跟踪服务器 (选项 C),请在相同的 URI 访问 MLflow UI。

访问被拒绝?

当使用远程跟踪服务器时,您可能会在从浏览器访问 MLflow UI 时遇到“访问被拒绝”的错误。

无效的主机头 - 检测到可能的 DNS 重新绑定攻击

导致此错误的常见原因是跟踪服务器不允许来自您源的请求,以防止点击劫持攻击。在这种情况下,您需要在跟踪服务器配置中设置 CORS 源的允许列表。有关更多详细信息,请参阅 网络安全指南