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

如何恢复上传至MLFlow的PyFunc类代码?

查看MLFlow中PyFunc模型的自定义类代码

要找回上传到MLFlow的PyFunc类代码,核心是直接访问存储在HDFS上的模型artifact文件结构——Python的mlflow.pyfunc.load_model只会加载模型实例,不会暴露源代码。以下是具体操作步骤:

  • 第一步:浏览HDFS上的模型目录结构
    使用HDFS命令行工具查看模型artifact的完整文件列表,替换为你的实际HDFS路径:

    hdfs dfs -ls hdfs://<your-mlflow-hdfs-root>/artifacts/***/*******/artifacts/my_model_name
    

    正常情况下,你会看到MLmodel、conda.yaml以及存放自定义PyFunc代码的code/目录。

  • 第二步:确认PyFunc代码的存储位置
    查看MLmodel文件内容,确认代码的存放路径:

    hdfs dfs -cat hdfs://<your-mlflow-hdfs-root>/artifacts/***/*******/artifacts/my_model_name/MLmodel
    

    在输出的YAML内容中找到pyfunc字段块,示例如下:

    pyfunc:
      loader_module: mlflow.pyfunc
      code: code
      env: conda.yaml
      model_path: model.pkl
    

    其中code: code表示自定义代码存放在当前目录下的code/子目录中。

  • 第三步:下载并查看代码文件
    把code/目录下的代码文件下载到本地查看:

    hdfs dfs -get hdfs://<your-mlflow-hdfs-root>/artifacts/***/*******/artifacts/my_model_name/code/ ./local_pyfunc_code
    

    之后直接打开本地local_pyfunc_code目录下的Python文件,即可看到丢失的PyFunc类代码。

  • 更便捷的方式:挂载HDFS到本地
    若需频繁访问HDFS文件,可使用Hadoop FUSE将HDFS目录挂载到本地文件系统,之后像操作本地文件一样打开模型代码:

    hadoop-fuse-dfs dfs://<hdfs-namenode>:<port> /local/mount/path
    

    挂载后直接访问/local/mount/path/artifacts/***/*******/artifacts/my_model_name/code/即可查看代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 15:24:16