如何在运行工件内的mlflow中记录自定义模型?

问题描述

我已将模型与MLProject存储在Github中,以便其他人可以在各种版本中运行它。现在,我想将运行创建的模型记录为工件,以便用户可以使用MLModel加载它们。由于我的模型是自定义的,因此不像使用火花之类的味道那样简单。 我首先在本地保存并加载了模型,以确保我的环境,模型和工件代码正常工作。 现在,我想将模型的登录名包含在从GitHub运行的MLProject中。 由于我所知道的文档中没有示例,因此我想寻求帮助,并建议这可能是对文档或示例的很好补充。

在代码方面,我在mlrun的最后写了以下内容:

模型取决于在项目运行中指定的参数

 ETS_Exogen = ETS_Exogen(params=res.x,before=before,after=after)

使用先前定义的模型,环境和工件记录模型

mlflow.pyfunc.log_model(python_model=ETS_Exogen,conda_env=conda_env,artifacts=artifacts)

mlflow.pyfunc.log_model是否自动将模型登录到运行的工件中,还是需要定义artifact_path? 我应该使用mlflow.pyfunc.save_model吗? 我定义了工件路径,以便可以从GitHub存储库中收集它们,如下所示:

artifacts = { "exogen_variables":os.path.join(os.path.dirname(os.path.abspath(file)),"exogen_variables.csv") }

这是正确的吗? 链接到自定义模型的文档: https://mlflow.org/docs/latest/python_api/mlflow.pyfunc.html#pyfunc-create-custom-workflows

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)