Condividi tramite


Guida introduttiva a Python

MLflow è una piattaforma open source per la gestione del ciclo di vita end-to-end di Machine Learning. MLflow offre API semplici per la registrazione delle metriche (ad esempio, perdita di modelli), parametri (ad esempio, frequenza di apprendimento) e modelli adattati, semplificando l'analisi dei risultati del training o la distribuzione di modelli in un secondo momento.

Contenuto della sezione:

Installare MLflow

Se si usa Databricks Runtime per Machine Learning, MLflow è già installato. In caso contrario, installare il pacchetto MLflow da PyPI.

Registrare automaticamente le esecuzioni di training in MLflow

Con Databricks Runtime 10.4 LTS ML e versioni successive, Databricks Autologging è abilitato per impostazione predefinita e acquisisce automaticamente parametri del modello, metriche, file e informazioni di derivazione quando si esegue il training dei modelli da un'ampia gamma di librerie di Machine Learning più diffuse.

Con Databricks Runtime 9.1 LTS ML, MLflow fornisce mlflow.<framework>.autolog() API per registrare automaticamente il codice di training scritto in molti framework ml. È possibile chiamare questa API prima di eseguire il codice di training per registrare metriche, parametri e artefatti del modello specifici del modello.

TensorFlow

Nota

I modelli Keras sono supportati anche 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

Se si esegue l'ottimizzazione con pyspark.ml, le metriche e i modelli vengono registrati automaticamente in MLflow. Vedere Apache Spark MLlib e monitoraggio automatizzato di MLflow.

Visualizza risultati

Dopo aver eseguito il codice di Machine Learning, è possibile visualizzare i risultati usando la barra laterale Esecuzioni esperimenti. Vedere Visualizzare l'esperimento del notebook per istruzioni su come visualizzare l'esperimento , l'esecuzione e la revisione del notebook usata nella guida introduttiva.

Tenere traccia di metriche, parametri e modelli aggiuntivi

È possibile registrare informazioni aggiuntive richiamando direttamente le API di registrazione di MLflow Tracking.

Metriche numeriche

  import mlflow
  mlflow.log_metric("accuracy", 0.9)

Parametri di training

  import mlflow
  mlflow.log_param("learning_rate", 0.001)

Modelli

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

Altri artefatti (file)

   import mlflow
   mlflow.log_artifact("/tmp/my-file", "myArtifactPath")

Notebook di esempio

Nota

Con Databricks Runtime 10.4 LTS ML e versioni successive, Databricks Autologging è abilitato per impostazione predefinita e il codice in questi notebook di esempio non è obbligatorio. I notebook di esempio in questa sezione sono progettati per l'uso con Databricks Runtime 9.1 LTS ML.

Il modo consigliato per iniziare a usare il rilevamento MLflow con Python consiste nell'usare l'API MLflow autolog() . Con le funzionalità di assegnazione automatica di MLflow, una singola riga di codice registra automaticamente il modello risultante, i parametri usati per creare il modello e un punteggio del modello. Il notebook seguente illustra come configurare un'esecuzione usando l'assegnazione automatica di tag.

Notebook Python di avvio rapido per l'assegnazione automatica di MLflow

Ottenere il notebook

Se è necessario un maggiore controllo sulle metriche registrate per ogni esecuzione di training o se si vuole registrare elementi aggiuntivi, ad esempio tabelle o tracciati, è possibile usare le funzioni API di registrazione MLflow illustrate nel notebook seguente.

Notebook Python di avvio rapido per l'API di registrazione MLflow

Ottenere il notebook

Altre informazioni