カスタムPythonクラスの作成
MLflowは、多様なユースケースに対応できるよう、カスタムモデルを作成する方法を提供します。カスタムモデルを作成するには、mlflow.pyfunc.PythonModel クラスを継承するPythonクラスを作成します。PythonModel クラスは、カスタムの推論ロジックやアーティファクト依存関係のためのメソッドを提供し、柔軟に拡張できます。
この演習では、特定のモデルを読み込み、推論後にラベルをデコードするカスタムモデル用の新しいPythonクラスを作成します。mlflow モジュールはすでにインポートされます。
この演習はコースの一部です
MLflow 入門
演習の手順
CustomPredictという名前のPythonクラスを作成します。- カスタムクラス内でアーティファクトを読み込むために使う
load_context()メソッドを定義します。 - カスタム推論を定義するための
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