始める無料で始める

カスタム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
コードを編集して実行