You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MLflow未写入Databricks指定共享实验,默认写入本地mlruns目录

问题分析与解决方案

核心问题排查

  • 代码参数误用:你调用get_experiment_by_name时传入了'experiment_id',但该方法是按实验名称查询,而你已经持有experiment_id,应该用client.get_experiment(experiment_id)直接获取实验对象。
  • 跟踪URI未关联工作区:如果代码运行环境未绑定Databricks工作区的MLflow服务,MLflow会默认以本地模式写入mlruns文件夹。
  • 实验权限未开放:需确保共享实验已为所有用户配置写入权限。

修正后的代码示例

import mlflow
from mlflow.tracking import MlflowClient

# Databricks环境下会自动关联工作区跟踪URI,外部环境需显式设置:
# mlflow.set_tracking_uri("databricks")

client = MlflowClient()

# 替换为你的真实实验ID
experiment_id = "xxx"
experiment = client.get_experiment(experiment_id)

# 验证实验信息
print("名称: {}".format(experiment.name))
print("实验ID: {}".format(experiment.experiment_id))
print("存储位置: {}".format(experiment.artifact_location))
print("生命周期状态: {}".format(experiment.lifecycle_stage))

# 启动运行并写入日志,with语句会自动结束运行
with mlflow.start_run(experiment_id=experiment.experiment_id):
    mlflow.log_param('test', 1)
    mlflow.log_param('test2', 2)
    mlflow.log_param('test3', 3)

额外配置说明

  • 权限配置:在Databricks工作区找到该共享实验,进入详情页点击「权限」,添加所有用户(或对应用户组)并授予「可编辑」权限,确保用户能写入日志。
  • 外部环境适配:如果在非Databricks环境运行代码,需先完成Databricks CLI认证,再设置跟踪URI为databricks,确保连接到工作区MLflow服务。

内容的提问来源于stack exchange,提问作者Samarth D M

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:05:05