【问题标题】:Log Pickle files as a part of Mlflow run将 Pickle 文件记录为 Mlflow 运行的一部分
【发布时间】:2021-08-19 11:41:13
【问题描述】:

我正在运行 MLflow 实验作为其中的一部分,我想将一些工件记录为 python 泡菜。

例如:尝试不同的分类编码器,因此想将编码器对象记录为 pickle 文件。

有没有办法做到这一点?

【问题讨论】:

    标签: python databricks azure-databricks mlflow


    【解决方案1】:

    那里有两个功能:

    1. log_artifact - 将本地文件或目录记录为工件
    2. log_artifacts - 记录本地目录的内容

    所以它很简单:

    with mlflow.start_run():
        mlflow.log_artifact("encoder.pickle")
    

    您将需要使用custom MLflow model 来使用该腌制文件,如下所示:

    import mlflow.pyfunc
    
    class my_model(mlflow.pyfunc.PythonModel):
        def __init__(self, encoders):
            self.encoders = encoders
    
        def predict(self, context, model_input):
            _X = ...# do encoding using self.encoders.
            return str(self.ctx.predict([_X])[0])
    

    【讨论】:

    • 非常感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-20
    • 2020-12-25
    • 2022-01-23
    • 1970-01-01
    • 2012-08-16
    • 2022-10-14
    相关资源
    最近更新 更多