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

自定义artifact_location导致MLFlow模型仓库加载失败求助

MLFlow自定义工件目录下注册模型无法加载问题

操作流程与问题

  1. 创建自定义工件目录的实验
    使用mlflow.create_experiment()指定/mlruns外部路径作为工件存储位置,代码如下:
experiment = mlflow.create_experiment(
        name=exp_name, 
        artifact_location="artifact_location", 
        tags={"env":"dev", "version":"1.0.0"}
    )
  1. 注册模型到仓库
    将最优模型注册到MLFlow模型仓库:
best_run_id = best_run.run_id
model_uri = f"runs:/{best_run_id}/model"

mlflow.register_model(model_uri=model_uri, 
                      name="cat_classifier")
  1. 尝试加载注册模型
    使用models:/格式URI加载模型时失败,代码:
model_name = "cat_classifier"
model_version = 1
model_uri = f"models:/{model_name}/{model_version}"
load_model = mlflow.pyfunc.load_model(model_uri)

报错信息

---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
Cell In[366], line 4
      2 model_version = 1
      3 model_uri = f"models:/{model_name}/{model_version}"
----> 4 load_model = mlflow.pyfunc.load_model(model_uri)

........

OSError: No such file or directory: '/home/User/workplace/cat/artifact_location/0eb40601413841e78f8b7b89fbf82be7/artifacts/models/.'

目录结构验证

实际工件目录结构为:

|-- model 
     |-- conda.yaml
     |-- MLModel
     |-- model.pkl
     |-- python_env.yaml
     |-- requirement.txt

不存在报错中指向的/artifacts/models/.路径。MLFlow UI可正常显示该注册模型,也能成功设置别名,但无法加载模型。

补充测试结果

将实验的artifact_location设置为Path.cwd().joinpath("mlruns").as_uri()后,注册并加载模型一切正常,但自定义外部路径的问题仍未解决,需要相关解决方案。

内容的提问来源于stack exchange,提问作者curiouz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 09:31:09