將Pickle文件記錄為Mlflow運行的一部分
更新時間:2024-04-02 12:01:54問題闡述
我正在運行一個MLflow實驗,作為其中的一部分,我想將幾個項目記錄為Python Pickle。
示例:嘗試不同的分類編碼器,因此希望將編碼器對象記錄為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])