

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Protokollieren Sie Metriken, Parameter und MLflow Modelle während des Trainings
<a name="mlflow-track-experiments-log-metrics"></a>

Nachdem Sie eine Verbindung zu Ihrem MLflow Tracking-Server hergestellt haben, können Sie das MLflow SDK verwenden, um Metriken, Parameter und MLflow Modelle zu protokollieren.

## Protokollieren von Trainingsmetriken
<a name="mlflow-track-experiments-log-metrics-example"></a>

Verwenden Sie es `mlflow.log_metric` innerhalb eines MLflow Trainingslaufs, um Messwerte zu verfolgen. Weitere Hinweise zur Protokollierung von MLflow Metriken mithilfe von`[mlflow.log\_metric](https://mlflow.org/docs/2.13.2/python_api/mlflow.html#mlflow.log_metric)`.

```
with mlflow.start_run():
    mlflow.log_metric({{"foo"}}, {{1}})
    
print(mlflow.search_runs())
```

Dieses Skript sollte einen Experimentlauf erstellen und eine Ausgabe ähnlich der folgenden generieren:

```
run_id experiment_id status artifact_uri ... tags.mlflow.source.name tags.mlflow.user tags.mlflow.source.type tags.mlflow.runName
0 607eb5c558c148dea176d8929bd44869 0 FINISHED s3://dddd/0/607eb5c558c148dea176d8929bd44869/a... ... file.py user-id LOCAL experiment-code-name
```

In der MLflow Benutzeroberfläche sollte dieses Beispiel wie folgt aussehen: 

![Ein Experiment, das im Menü MLflow Experimente auf der obersten Ebene angezeigt wird.](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/mlflow/mlflow-ui-experiments.png)


Wählen Sie **Laufname** aus, um weitere Ausführungsdetails anzuzeigen.

![Ein Experimentparameter, der auf einer Seite zum Ausführen eines Experiments in der MLflow Benutzeroberfläche angezeigt wird.](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/mlflow/mlflow-ui-foo.png)


## Protokollieren von Parametern und Modellen
<a name="mlflow-track-experiments-log-params-models"></a>

**Anmerkung**  
Für das folgende Beispiel muss Ihre Umgebung über `s3:PutObject`-Berechtigungen verfügen. Diese Berechtigung sollte mit der IAM-Rolle verknüpft werden, die der MLflow SDK-Benutzer annimmt, wenn er sich bei seinem Konto anmeldet oder sich mit seinem AWS Konto verbündet. Weitere Informationen finden Sie in unter [Beispiele für Benutzer- und Rollenrichtlinien](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-policies-s3.html).

Das folgende Beispiel führt Sie durch einen grundlegenden Trainingsablauf mit einem Modell SKLearn und zeigt Ihnen, wie Sie dieses Modell in einem MLflow Versuchslauf nachverfolgen können. In diesem Beispiel werden Parameter, Metriken und Modellartefakte protokolliert.

```
import mlflow

from mlflow.models import infer_signature

import pandas as pd
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score

# This is the ARN of the MLflow Tracking Server you created
mlflow.set_tracking_uri({{your-tracking-server-arn}})
mlflow.set_experiment({{"some-experiment"}})

# Load the Iris dataset
X, y = datasets.load_iris(return_X_y=True)

# Split the data into training and test sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Define the model hyperparameters
params = {"solver": "lbfgs", "max_iter": 1000, "multi_class": "auto", "random_state": 8888}

# Train the model
lr = LogisticRegression(**params)
lr.fit(X_train, y_train)

# Predict on the test set
y_pred = lr.predict(X_test)

# Calculate accuracy as a target loss metric
accuracy = accuracy_score(y_test, y_pred)

# Start an MLflow run and log parameters, metrics, and model artifacts
with mlflow.start_run():
    # Log the hyperparameters
    mlflow.log_params({{params}})

    # Log the loss metric
    mlflow.log_metric({{"accuracy"}}, {{accuracy}})

    # Set a tag that we can use to remind ourselves what this run was for
    mlflow.set_tag({{"Training Info"}}, {{"Basic LR model for iris data"}})

    # Infer the model signature
    signature = infer_signature(X_train, lr.predict(X_train))

    # Log the model
    model_info = mlflow.sklearn.log_model(
        sk_model={{lr}},
        name={{"iris_model"}}, # Changed from artifact_path to name for MLflow 3.0
        signature={{signature}},
        input_example={{X_train}},
        registered_model_name={{"tracking-quickstart"}},
    )
```

Wählen Sie auf der MLflow Benutzeroberfläche im linken Navigationsbereich den Namen des Experiments aus, um alle zugehörigen Durchläufe zu untersuchen. Wählen Sie den **Laufnamen** aus, um weitere Informationen zum entsprechenden Lauf zu erhalten. In diesem Beispiel sollte die Experimentlaufseite für diesen Lauf in etwa wie folgt aussehen. 

![Verfolgte Parameter für einen Experimentlauf in der MLflow Benutzeroberfläche.](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/mlflow/mlflow-ui-parameters.png)


In diesem Beispiel wird das logistische Regressionsmodell protokolliert. In der MLflow Benutzeroberfläche sollten Sie auch die protokollierten Modellartefakte sehen.

![Nachverfolgte Modellartefakte für ein Experiment, das in der MLflow Benutzeroberfläche ausgeführt wurde.](http://docs.aws.amazon.com/de_de/sagemaker/latest/dg/images/mlflow/mlflow-ui-model-artifacts.png)
