MLflow’a Giriş
Weston Bassler
Senior MLOps Engineer
NLP - Belirteçleyici(ler)
Sınıflandırma - Etiket kodlayıcı
Ön/Son işleme
Yerleşik bir flavor değil

Yerleşik flavor - python_function
mlflow.pyfunc
save_model()log_model()load_model()Özel model sınıfı
MyClass(mlflow.pyfunc.PythonModel)PythonModel sınıfı
load_context() - mlflow.pyfunc.load_model() çağrıldığında yapıtları yüklerpredict() - model girdisini alır ve kullanıcı tanımlı değerlendirmeyi yapar# Sınıf class MyPythonClass:# Hello! yazdıran fonksiyon def my_func(): print("Hello!")
# Yeni bir Nesne oluşturun x = MyPythonClass()# my_func fonksiyonunu çalıştırın x.my_func()
"Hello!"
import mlflow.pyfunc # Model sınıfını tanımlayın class CustomPredict(mlflow.pyfunc.PythonModel):# Yapıtları yükleyin def load_context(self, context): self.model = mlflow.sklearn.load_model(context.artifacts["custom_model"])# Girdiyi custom_function() ile değerlendirin def predict(self, context, model_input): prediction = self.model.predict(model_input) return custom_function(prediction)
# Modeli yerel dosya sistemine kaydedin
mlflow.pyfunc.save_model(path="custom_model", python_model=CustomPredict())
# Modeli MLflow Tracking'e kaydedin (log)
mlflow.pyfunc.log_model(artifact_path="custom_model", python_model=CustomPredict())
# Modeli yerelden yükleyin
mlflow.pyfunc.load_model("local")
# Modeli MLflow Tracking'den yükleyin
mlflow.pyfunc.load_model("runs:/run_id/tracking_path")
mlflow.evaluate() - Bir veri kümesine göre performans
Regresyon ve sınıflandırma modelleri
# Eğitim verisi X_train, X_test, y_train, y_test = \ train_test_split(X, y, train_size=0.7,random_state=0)# Doğrusal regresyon modeli lr = LinearRegression() lr.fit(X_train, y_train)
# Veri kümesi eval_data = X_test eval_data["test_label"] = y_test# Modeli veri kümesiyle değerlendirin mlflow.evaluate( "runs:/run_id/model", eval_data, targets="test_label", model_type="regressor" )


MLflow’a Giriş