Schnellstart Python
MLflow ist eine Open-Source-Plattform für die Verwaltung des gesamten Machine Learning-Lebenszyklus. MLflow bietet einfache APIs für die Protokollierung von Metriken (z. B. Modellverlust), Parameter (z. B. Lernrate) und angepasste Modelle, sodass Trainingsergebnisse einfach analysiert oder Modelle später bereitgestellt werden können.
Inhalt dieses Abschnitts:
- Installieren von MLflow
- Automatisches Protokollieren von Trainingsläufen in MLflow
- Anzeigen der Ergebnisse
- Nachverfolgen zusätzlicher Metriken, Parameter und Modelle
- Beispielnotebooks
- Weitere Informationen
Installieren von MLflow
Wenn Sie Databricks Runtime für Machine Learning verwenden, ist MLflow bereits installiert. Installieren Sie andernfalls das MLflow-Paket aus PyPI.
Automatisches Protokollieren von Trainingsläufen in MLflow
Bei Databricks Runtime 10.4 LTS ML und höher ist die automatische Databricks-Protokollierung standardmäßig aktiviert und erfasst automatisch Modellparameter, Metriken, Dateien und Herkunftsinformationen, wenn Sie Modelle aus einer Vielzahl beliebter Machine Learning-Bibliotheken trainieren.
Bei Databricks Runtime 9.1 LTS ML bietet MLflow mlflow.<framework>.autolog()
-APIs zur automatischen Protokollierung von Trainingscode, der in vielen ML-Frameworks geschrieben wurde. Sie können diese API aufrufen, bevor Sie Trainingscode ausführen, um modellspezifische Metriken, Parameter und Modellartefakte zu protokollieren.
TensorFlow
Hinweis
Keras-Modelle werden auch in mlflow.tensorflow.autolog()
unterstützt.
# Also autoinstruments tf.keras
import mlflow.tensorflow
mlflow.tensorflow.autolog()
XGBoost
import mlflow.xgboost
mlflow.xgboost.autolog()
LightGBM
import mlflow.lightgbm
mlflow.lightgbm.autolog()
scikit-learn
import mlflow.sklearn
mlflow.sklearn.autolog()
PySpark
Bei der Optimierung mit pyspark.ml
werden Metriken und Modelle automatisch in MLflow protokolliert.
Weitere Informationen finden Sie unter Apache Spark MLlib und automatisierte MLflow-Nachverfolgung.
Anzeigen der Ergebnisse
Nachdem Sie Ihren Machine Learning-Code ausgeführt haben, können Sie die Ergebnisse über die Randleiste Experimentausführungen anzeigen. Anweisungen zum Anzeigen des Experiments, zur Ausführung und der Notebookrevision, die in der Schnellstartanleitung verwendet wird, finden Sie unter Anzeigen des Notebookexperiments.
Nachverfolgen zusätzlicher Metriken, Parameter und Modelle
Sie können zusätzliche Informationen protokollieren, indem Sie die MLflow-Tracking-Protokollierungs-APIs direkt aufrufen.
Numerische Metriken
import mlflow
mlflow.log_metric("accuracy", 0.9)
Trainingsparameter
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modelle
scikit-learn
import mlflow.sklearn
mlflow.sklearn.log_model(model, "myModel")
PySpark
import mlflow.spark
mlflow.spark.log_model(model, "myModel")
XGBoost
import mlflow.xgboost
mlflow.xgboost.log_model(model, "myModel")
TensorFlow
import mlflow.tensorflow
mlflow.tensorflow.log_model(model, "myModel")
Keras
import mlflow.keras
mlflow.keras.log_model(model, "myModel")
PyTorch
import mlflow.pytorch
mlflow.pytorch.log_model(model, "myModel")
SpaCy
import mlflow.spacy
mlflow.spacy.log_model(model, "myModel")
Andere Artefakte (Dateien)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Beispielnotebooks
Hinweis
Bei Databricks Runtime 10.4 LTS ML und höher ist die automatische Databricks-Protokollierung standardmäßig aktiviert, und der Code in diesen Beispielnotebooks ist nicht erforderlich. Die Beispielnotebooks in diesem Abschnitt sind für die Verwendung mit Databricks Runtime 9.1 LTS ML konzipiert.
Die empfohlene Vorgehensweise, um mit der MLflow-Nachverfolgung mit Python zu beginnen, ist die Verwendung der MLflow autolog()
-API. Mit den Funktionen für die automatische Protokollierung von MLflow protokolliert eine einzelne Codezeile automatisch das resultierende Modell, die zum Erstellen des Modells verwendeten Parameter und eine Modellbewertung. Im folgenden Notebook wird gezeigt, wie Sie eine Ausführung mithilfe der automatischen Protokollierung einrichten.
Automatische MLflow-Protokollierung: Schnellstartnotebook für Python
Wenn Sie mehr Kontrolle über die für jeden Trainingslauf protokollierten Metriken möchten oder zusätzliche Artefakte wie Tabellen oder Plots protokollieren möchten, können Sie die Protokollierungs-API-Funktionen von MLflow verwenden, die im folgenden Notebook veranschaulicht werden.