開始使用免費開始

建立自訂的 Python 類別

MLflow 提供建立自訂模型的方式,以支援各式各樣的使用情境。要建立自訂模型時,MLflow 允許使用者建立一個繼承自 mlflow.pyfunc.PythonModel 類別的 Python 類別。PythonModel 類別透過提供可自訂的推論邏輯與成品(artifact)相依性的相關方法,讓你進行客製化。

在這個練習中,你將為自訂模型建立一個新的 Python 類別,用來載入特定模型,並在推論後解碼標籤。會先匯入 mlflow 模組。

本練習屬於課程

MLflow 入門

檢視課程

練習說明

  • 建立名為 CustomPredict 的 Python 類別。
  • 定義 load_context() 方法,供自訂類別用來載入成品(artifacts)。
  • 定義 predict() 方法,用來實作自訂推論。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Create Python Class
class ____(mlflow.pyfunc.PythonModel):
    # Set method for loading model
    def ____(self, context):
        self.model = mlflow.sklearn.load_model("./lr_model/")
    # Set method for custom inference     
    def ____(self, context, model_input):
        predictions = self.model.predict(model_input)
        decoded_predictions = []  
        for prediction in predictions:
            if prediction == 0:
                decoded_predictions.append("female")
            else:
                decoded_predictions.append("male")
        return decoded_predictions
編輯並執行程式碼