Freigeben über


Aktivieren der Protokollierung in Azure Machine Learning-Designerpipelines

In diesem Artikel erfahren Sie, wie Sie Protokollierungscode zu Designerpipelines hinzufügen. Außerdem wird erläutert, wie Sie diese Protokolle mit dem Azure Machine Learning Studio-Webportal anzeigen.

Weitere Informationen zum Protokollieren von Metriken mithilfe der SDK-Erstellung finden Sie unter Überwachen von Azure Machine Learning-Experimentausführungen und -Metriken.

Aktivieren der Protokollierung mit „Execute Python Script“ (Ausführen eines Python-Skripts)

Verwenden Sie die Komponente Pythonskript ausführen, um die Protokollierung in Designer-Pipelines zu aktivieren. Obwohl Sie mit diesem Workflow jeden Wert protokollieren können, ist es besonders nützlich, Metriken aus der Komponente Modell auswerten zu protokollieren, um die Modellleistung über mehrere Läufe hinweg zu verfolgen.

Das folgende Beispiel zeigt Ihnen, wie Sie den mittleren quadratischen Fehler von zwei trainierten Modellen mit Hilfe der Komponenten Modell auswerten und Python-Skript ausführen protokollieren können.

  1. Verbinden Sie eine Komponente Pythonskript ausführen mit der Ausgabe der Komponente Modell auswerten.

    Verbinden Sie die Komponente Execute Python Script mit der Komponente Evaluate Model

  2. Fügen Sie den folgenden Code in den Code-Editor des Moduls Execute Python Script (Ausführen eines Python-Skripts) ein, um die mittlere absolute Abweichung für Ihr trainiertes Modell zu protokollieren. Sie können ein ähnliches Muster verwenden, um einen beliebigen anderen Wert im Designer zu protokollieren:

    GILT FÜR: Python SDK azureml v1

    # dataframe1 contains the values from Evaluate Model
    def azureml_main(dataframe1=None, dataframe2=None):
        print(f'Input pandas.DataFrame #1: {dataframe1}')
    
        from azureml.core import Run
    
        run = Run.get_context()
    
        # Log the mean absolute error to the parent run to see the metric in the run details page.
        # Note: 'run.parent.log()' should not be called multiple times because of performance issues.
        # If repeated calls are necessary, cache 'run.parent' as a local variable and call 'log()' on that variable.
        parent_run = Run.get_context().parent
    
        # Log left output port result of Evaluate Model. This also works when evaluate only 1 model.
        parent_run.log(name='Mean_Absolute_Error (left port)', value=dataframe1['Mean_Absolute_Error'][0])
        # Log right output port result of Evaluate Model. The following line should be deleted if you only connect one Score component to the` left port of Evaluate Model component.
        parent_run.log(name='Mean_Absolute_Error (right port)', value=dataframe1['Mean_Absolute_Error'][1])
    
        return dataframe1,
    

In diesem Code wird das Python-SDK für Azure Machine Learning zum Protokollieren von Werten verwendet. Es verwendet „Run.get_context()“, um den Kontext des aktuellen Testlaufs abzurufen. Anschließend werden mit der Methode „run.parent.log()“ Werte in diesem Kontext protokolliert. Es verwendet parent, um Werte im übergeordneten Pipelinelauf und nicht im Komponentenlauf zu protokollieren.

Weitere Informationen zur Verwendung des Python SDK zum Protokollieren von Werten finden Sie unter Aktivieren der Protokollierung in Azure Machine Learning-Trainingsausführungen.

Anzeigen von Protokollen

Nachdem die Pipelineausführung abgeschlossen ist, wird der Fehler Mean_Absolute_Error auf der Seite „Experimente“ angezeigt.

  1. Navigieren Sie zum Abschnitt Aufträge.

  2. Wählen Sie das Experiment aus.

  3. Wählen Sie den Auftrag in Ihrem Experiment aus, den Sie anzeigen möchten.

  4. Klicken Sie auf Metriken.

    Auftragsmetriken im Studio anzeigen

Nächste Schritte

In diesem Artikel haben Sie gelernt, wie Sie Protokolle im Designer verwenden. Informationen zu den nächsten Schritten finden Sie in den folgenden Artikeln: