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
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