将 Pickle 文件记录为 Mlflow 的一部分 运行
Log Pickle files as a part of Mlflow run
我是 运行 MLflow 实验的一部分,我想记录一些工件作为 python 泡菜。
示例:尝试不同的分类编码器,因此想将编码器对象记录为 pickle 文件。
有办法实现吗?
那里有两个功能:
- log_artifact - 将本地文件或目录记录为工件
- 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])
我是 运行 MLflow 实验的一部分,我想记录一些工件作为 python 泡菜。
示例:尝试不同的分类编码器,因此想将编码器对象记录为 pickle 文件。
有办法实现吗?
那里有两个功能:
- log_artifact - 将本地文件或目录记录为工件
- 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])