建立自訂的 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