Zacznij terazZacznij za darmo

Tworzenie niestandardowej klasy Pythona

MLflow umożliwia tworzenie niestandardowych modeli, dzięki czemu można obsługiwać szeroką gamę przypadków użycia. W tym celu MLflow pozwala na definiowanie klas Pythona dziedziczących po klasie mlflow.pyfunc.PythonModel. Klasa PythonModel oferuje elastyczność poprzez metody służące do niestandardowej logiki wnioskowania oraz obsługi zależności od artefaktów.

W tym ćwiczeniu stworzysz nową klasę Pythona dla niestandardowego modelu, który wczytuje określony model, a następnie dekoduje etykiety po wykonaniu wnioskowania. Moduł mlflow zostanie zaimportowany.

To ćwiczenie jest częścią kursu

Wprowadzenie do MLflow

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz klasę Pythona o nazwie CustomPredict.
  • Zdefiniuj metodę load_context() służącą do ładowania artefaktów w niestandardowej klasie.
  • Zdefiniuj metodę predict() służącą do definiowania niestandardowej logiki wnioskowania.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod