将您的开发环境连接到 MLflow
需要有关设置 MLflow 的帮助? 尝试 MLflow 助手 - 一个强大的 AI 助手,可以帮助您为您的项目设置 MLflow。
本指南向您展示如何将开发环境连接到 MLflow 实验。您可以在本地计算机上运行 MLflow,自托管开源 MLflow 服务,或使用托管服务,例如 Databricks 托管 MLflow。
先决条件
- OSS MLflow
- Databricks
- Python 环境:安装了 pip 的 Python 3.9+
- Databricks 工作区:可以访问 Databricks 工作区
本指南介绍如何使用 Databricks 个人访问令牌。MLflow 也适用于其他 Databricks 支持的身份验证方法。
设置说明
- OSS MLflow
- Databricks - 本地 IDE
- Databricks - 笔记本
步骤 1:安装 MLflow
pip install --upgrade "mlflow>=3.1"
步骤 2:配置跟踪
MLflow 支持不同的后端来跟踪您的实验数据。选择以下选项之一开始。有关详细的设置和配置,请参阅自托管指南。
选项 A:数据库(推荐)
将跟踪 URI 设置为本地数据库 URI(例如 sqlite:///mlflow.db)。这是快速入门和本地开发的推荐选项。
import mlflow
mlflow.set_tracking_uri("sqlite:///mlflow.db")
mlflow.set_experiment("my-first-experiment")
选项 B:文件系统
如果未指定跟踪 URI,MLflow 将自动使用本地文件存储
import mlflow
# Creates local mlruns directory for experiments
mlflow.set_experiment("my-first-experiment")
文件系统后端处于“保持灯亮”(KTLO)模式,将不会接收 MLflow 中的大部分新功能。我们建议改用数据库后端。数据库后端也很快会成为默认选项。
选项 C:远程跟踪服务器
按照自托管指南启动远程 MLflow 跟踪服务器。然后配置您的客户端以使用远程服务器
import mlflow
# Connect to remote MLflow server
mlflow.set_tracking_uri("https://:5000")
mlflow.set_experiment("my-first-experiment")
或者,您可以使用环境变量配置跟踪 URI 和实验
export MLFLOW_TRACKING_URI="https://:5000"
export MLFLOW_EXPERIMENT_NAME="my-first-experiment"
步骤 3:验证您的连接
创建一个测试文件并运行此代码
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。
# 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 源的允许列表。有关更多详细信息,请参阅网络安全指南。
步骤 1:安装 MLflow
安装具有 Databricks 连接功能的 MLflow
pip install --upgrade "mlflow[databricks]>=3.1"
步骤 2:创建一个 MLflow 实验
- 打开您的 Databricks 工作区
- 在左侧边栏的机器学习下,转到实验
- 在“实验”页面的顶部,点击新建实验
步骤 3:配置身份验证
选择以下身份验证方法之一
选项 A:环境变量
- 在您的 MLflow 实验中,点击生成 API 密钥
- 复制并运行终端中生成的代码
export DATABRICKS_TOKEN=<databricks-personal-access-token>
export DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
export MLFLOW_TRACKING_URI=databricks
export MLFLOW_EXPERIMENT_ID=<experiment-id>
选项 B:.env 文件
- 在您的 MLflow 实验中,点击生成 API 密钥
- 将生成的代码复制到项目根目录下的
.env文件中
DATABRICKS_TOKEN=<databricks-personal-access-token>
DATABRICKS_HOST=https://<workspace-name>.cloud.databricks.com
MLFLOW_TRACKING_URI=databricks
MLFLOW_EXPERIMENT_ID=<experiment-id>
- 安装
python-dotenv包
pip install python-dotenv
- 在代码中加载环境变量
# At the beginning of your Python script
from dotenv import load_dotenv
# Load environment variables from .env file
load_dotenv()
步骤 4:验证您的连接
创建一个测试文件并运行此代码以验证您的连接
import mlflow
# Test logging to verify connection
print(f"MLflow Tracking URI: {mlflow.get_tracking_uri()}")
with mlflow.start_run():
print("✓ Successfully connected to MLflow!")
步骤 1:安装 MLflow
Databricks 运行时包含 MLflow,但为获得最佳体验,请更新到最新版本
%pip install --upgrade "mlflow[databricks]>=3.1"
dbutils.library.restartPython()
步骤 2:创建一个笔记本
创建 Databricks 笔记本将创建一个 MLflow 实验,它是 ML 项目的容器。在 MLflow 文档中了解有关实验的更多信息。
- 打开您的 Databricks 工作区
- 转到左侧边栏顶部的新建
- 点击笔记本
步骤 3:配置身份验证
在 Databricks 笔记本中工作时,不需要额外的身份验证配置。笔记本自动可以访问您的工作区和相关的 MLflow 实验。
步骤 4:验证您的连接
在笔记本单元格中运行此代码以验证您的连接
import mlflow
# Test logging to verify connection
print(f"MLflow Tracking URI: {mlflow.get_tracking_uri()}")
with mlflow.start_run():
print("✓ Successfully connected to MLflow!")