Snelstart python
MLflow is een open source-platform voor het beheer van de end-to-end levenscyclus van machine learning. MLflow biedt eenvoudige API's voor het vastleggen van metrische gegevens (bijvoorbeeld modelverlies), parameters (bijvoorbeeld leersnelheid) en aangepaste modellen, zodat u eenvoudig trainingsresultaten kunt analyseren of later modellen kunt implementeren.
In deze sectie:
- MLflow installeren
- Trainingsuitvoeringen automatisch vastleggen in MLflow
- Resultaten weergeven
- Aanvullende metrische gegevens, parameters en modellen bijhouden
- Voorbeeldnotebooks
- Meer informatie
MLflow installeren
Als u Databricks Runtime voor Machine Learning gebruikt, is MLflow al geïnstalleerd. Anders installeert u het MLflow-pakket vanuit PyPI.
Trainingsuitvoeringen automatisch vastleggen in MLflow
Met Databricks Runtime 10.4 LTS ML en hoger wordt Automatische logboekregistratie van Databricks standaard ingeschakeld en worden modelparameters, metrische gegevens, bestanden en herkomstgegevens automatisch vastgelegd wanneer u modellen traint vanuit verschillende populaire machine learning-bibliotheken.
Met Databricks Runtime 9.1 LTS ML biedt mlflow.<framework>.autolog()
MLflow API's voor het automatisch vastleggen van trainingscode die in veel ML-frameworks is geschreven. U kunt deze API aanroepen voordat u trainingscode uitvoert om modelspecifieke metrische gegevens, parameters en modelartefacten te registreren.
TensorFlow
Notitie
Keras-modellen worden ook ondersteund in mlflow.tensorflow.autolog()
.
# 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
Als u het afstemmen uitvoert met pyspark.ml
, worden metrische gegevens en modellen automatisch geregistreerd bij MLflow.
Zie Apache Spark MLlib en geautomatiseerde MLflow-tracering.
Resultaten weergeven
Nadat u de machine learning-code hebt uitgevoerd, kunt u resultaten bekijken met behulp van de zijbalk Experimentuitvoeringen. Zie Notitieblokexperiment weergeven voor instructies over het weergeven van het experiment, de uitvoering en de notebookrevisie die in de quickstart wordt gebruikt.
Aanvullende metrische gegevens, parameters en modellen bijhouden
U kunt aanvullende informatie registreren door de MLflow Tracking-API's rechtstreeks aan te roepen.
Numerieke metrische gegevens
import mlflow
mlflow.log_metric("accuracy", 0.9)
Trainingsparameters
import mlflow
mlflow.log_param("learning_rate", 0.001)
Modellen
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 artefacten (bestanden)
import mlflow
mlflow.log_artifact("/tmp/my-file", "myArtifactPath")
Voorbeeldnotebooks
Notitie
Met Databricks Runtime 10.4 LTS ML en hoger is Databricks Autologging standaard ingeschakeld en is de code in deze voorbeeldnotebooks niet vereist. De voorbeeldnotebooks in deze sectie zijn ontworpen voor gebruik met Databricks Runtime 9.1 LTS ML.
De aanbevolen manier om aan de slag te gaan met MLflow-tracering met Python is de MLflow-API autolog()
te gebruiken. Met de mogelijkheden voor automatisch afmelden van MLflow registreert één regel code automatisch het resulterende model, de parameters die worden gebruikt om het model te maken en een modelscore. In het volgende notebook ziet u hoe u een uitvoering instelt met behulp van automatische aanmelding.
Snelstart voor automatische logboeken voor MLflow- python-notebook
Als u meer controle nodig hebt over de metrische gegevens die zijn vastgelegd voor elke trainingsuitvoering of als u extra artefacten, zoals tabellen of plots, wilt registreren, kunt u de MLflow-api-functies voor logboekregistratie gebruiken die in het volgende notebook worden gedemonstreerd.