Visualizzare le metriche e valutare i modelli

Completato

Dopo aver eseguito il training e il rilevamento dei modelli con MLflow in Azure Machine Learning, è possibile esplorare le metriche e valutare i modelli.

  • Esaminare le metriche nello studio di Azure Machine Learning.
  • Recupera le esecuzioni e le metriche con MLflow.

Annotazioni

Azure Machine Learning usa il concetto di processi quando si esegue uno script. È possibile raggruppare più esecuzioni di processi in Azure Machine Learning all'interno di un esperimento. MLflow usa una sintassi simile in cui ogni script è un'esecuzione, che fa parte di un esperimento.

Visualizza le metriche in Azure Machine Learning Studio

Al termine del processo, è possibile esaminare i parametri, le metriche e gli artefatti registrati in Azure Machine Learning Studio.

Quando si esaminano le esecuzioni del processo in Azure Machine Learning Studio, si esplorano le metriche dell'esecuzione di un processo, che fa parte di un esperimento.

Per visualizzare le metriche tramite un'interfaccia utente intuitiva, è possibile:

  1. Aprire lo studio passando alla pagina Web all'indirizzo https://ml.azure.com.
  2. Trovare l'esecuzione dell'esperimento e aprirla per visualizzarne i dettagli.
  3. Nella scheda Dettagli tutti i parametri registrati vengono visualizzati in Parametri.
  4. Selezionare la scheda Metriche e selezionare la metrica da esplorare.
  5. Tutti i tracciati registrati come artefatti sono disponibili nella sezione relativa alle immagini.
  6. Gli asset del modello che possono essere usati per registrare e distribuire il modello vengono archiviati nella cartella models in Output e log.

Suggerimento

Leggere la documentazione per altre informazioni su come tenere traccia dei modelli con MLflow.

Raccogliere le metriche con MLflow in un notebook

Quando si esegue uno script di training come processo in Azure Machine Learning e si tiene traccia del training del modello con MLflow, è possibile eseguire query sulle sessioni in un notebook con MLflow. L'uso di MLflow in un notebook offre un maggiore controllo sulle esecuzioni da recuperare per il confronto.

Quando si usa MLflow per eseguire query sulle esecuzioni, si fa riferimento a esperimenti ed esecuzioni.

Cercare tutti gli esperimenti

È possibile ottenere tutti gli esperimenti attivi nell'area di lavoro usando MLFlow:

experiments = mlflow.search_experiments(max_results=2)
for exp in experiments:
    print(exp.name)

Se si desidera recuperare anche gli esperimenti archiviati, includere l'opzione ViewType.ALL:

from mlflow.entities import ViewType

experiments = mlflow.search_experiments(view_type=ViewType.ALL)
for exp in experiments:
    print(exp.name)

Per recuperare un esperimento specifico, è possibile eseguire:

exp = mlflow.get_experiment_by_name(experiment_name)
print(exp)

Suggerimento

Esplorare la documentazione su come cercare esperimenti con MLflow

Recuperare le esecuzioni

MLflow consente di cercare le esecuzioni all'interno di qualsiasi esperimento. È necessario l'ID esperimento o il nome dell'esperimento.

Ad esempio, quando si vogliono recuperare le metriche di un'esecuzione specifica:

mlflow.search_runs(exp.experiment_id)

È possibile eseguire ricerche in più esperimenti, se necessario, che è utile quando si vogliono confrontare le esecuzioni dello stesso modello tra esperimenti diversi. Ad esempio, persone diverse o iterazioni di progetto diverse possono registrare lo stesso modello in esperimenti separati.

È possibile usare search_all_experiments=True se si vuole eseguire ricerche in tutti gli esperimenti nell'area di lavoro.

Per impostazione predefinita, gli esperimenti vengono ordinati in ordine decrescente per start_time, ovvero l'ora in cui l'esperimento è stato accodato in Azure Machine Learning. Si può tuttavia possibile modificare questa impostazione predefinita usando il parametro order_by.

Ad esempio, se si vuole ordinare in base all'ora di inizio e visualizzare solo gli ultimi due risultati:

mlflow.search_runs(exp.experiment_id, order_by=["start_time DESC"], max_results=2)

È anche possibile cercare un'esecuzione con una combinazione specifica negli iperparametri:

mlflow.search_runs(
    exp.experiment_id, filter_string="params.num_boost_round='100'", max_results=2
)

Suggerimento

Esplorare la documentazione su come eseguire la ricerca con MLflow