Abrufen des Metrikverlaufs von MLflow in Python

tl;dr

import pandas as pd
import mlflow

def get_metric_history(run_id, metric):
    client = mlflow.tracking.MlflowClient()
    history = client.get_metric_history(run_id, metric)
    history = [dict(key=m.key, value=m.value, timestamp=m.timestamp, step=m.step) for m in history]
    history = pd.DataFrame(history).sort_values("step")
    history.timestamp = pd.to_datetime(history.timestamp, unit="ms")
    return history

train_loss = get_metric_history(run_id, "train_loss")
valid_loss = get_metric_history(run_id, "valid_loss")
history = pd.concat((train_loss, valid_loss))
history.pivot(index="step", columns="key", values="value").plot()

How to Wenn Sie über MLFlow mit dem Server interagieren möchten, verwenden Sie mlflow.tracking.MlflowClient.

Sie können "MlflowClient.get_metric_history (run_id, key)" verwenden, um den gesamten Metrikverlauf eines Schlüssels in einem Lauf abzurufen. Hier ist eine Funktion, die dies verwendet, um den Verlauf der Metrik als "pandas.DataFrame" abzurufen. Bei der Konvertierung in datetime ist es einfach, Zeitstempel zu verarbeiten.

def get_metric_history(run_id, metric):
    client = mlflow.tracking.MlflowClient()
    history = client.get_metric_history(run_id, metric)
    history = [dict(key=m.key, value=m.value, timestamp=m.timestamp, step=m.step) for m in history]
    history = pd.DataFrame(history).sort_values("step")
    history.timestamp = pd.to_datetime(history.timestamp, unit="ms")
    return history

train_loss = get_metric_history(run_id, "train_loss")

Wenn Sie mehrere Metriken und Diagramme vergleichen möchten, können Sie dies ganz einfach tun, indem Sie Datenrahmen wie unten gezeigt vertikal kombinieren und Pivot verwenden.

train_loss = get_metric_history(run_id, "train_loss")
valid_loss = get_metric_history(run_id, "valid_loss")
history = pd.concat((train_loss, valid_loss))
history.pivot(index="step", columns="key", values="value").plot()

Recommended Posts

Abrufen des Metrikverlaufs von MLflow in Python
Erhalten Sie Wechselkurse von offenen Wechselkursen in Python
Holen Sie sich mit Python die Niederschlagswahrscheinlichkeit aus XML
Holen Sie sich Datum in Python
Holen Sie sich mit Python Zeitreihendaten von k-db.com
[Python] Holen Sie sich einen einjährigen Nachrichtenverlauf von Slack
Holen Sie sich nur Artikel von Webseiten in Python
Holen Sie sich YouTube-Kommentare in Python
Holen Sie sich letzten Monat in Python
OCR aus PDF in Python
Holen Sie sich mit Python Daten vom GPS-Modul mit 10 Hz
Holen Sie sich die Terminalgröße in Python
Holen Sie sich explizit EOF in Python
Holen Sie sich Evernote-Notizen in Python
Holen Sie sich japanische Synonyme mit Python
Holen Sie sich Ihre Herzfrequenz von der Fitbit-API in Python!
Rufen Sie den Wert ab, während Sie den Standardwert aus dict in Python angeben
Drücken Sie in Python auf REST, um Daten von New Relic abzurufen
Ruft Makrokonstanten aus der C (++) - Headerdatei (.h) in Python ab
Nachricht vom ersten Offset mit Kafka Consumer in Python abrufen
Extrahieren Sie mit Python Text aus Bildern
Holen Sie sich ein Kommunikationsmemo in Python
Python Holen Sie sich das kommende Wetter von der Wetter-API
Holen Sie sich den Desktop-Pfad in Python
Holen Sie sich den Hostnamen in Python
Beginnen Sie mit Python mit Blender
Extrahieren Sie mit Python Zeichenfolgen aus Dateien
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Holen Sie sich HTML von Element mit Python-Selen
[Hinweis] Mit Python Daten von PostgreSQL abrufen
Holen Sie sich Suica Balance in Python (mit libpafe)
Holen Sie sich Tastenanschläge von / dev / input (python evdev)
Wiederbelebt von "kein Internetzugang" in Python
Verhindern Sie den doppelten Start von cron in Python
Wie bekomme ich Stacktrace in Python?
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Laden Sie Bilder von der URL-Liste in Python herunter
Holen Sie sich ein Zeichen für Conoha mit Python
Beginnen wir mit TopCoder in Python (Version 2020)
Generieren Sie eine Klasse aus einer Zeichenfolge in Python
Generieren Sie mit Python eine C-Sprache aus dem S-Ausdruck
Ruft die EDINET-Codeliste in Python ab
In Python von Markdown in HTML konvertieren
Holen Sie sich die Cloud-Protokollierung in Python in 10 Minuten
[Python] Holen Sie sich die Hauptfarbe aus dem Screenshot
Holen Sie sich Ihre eigene IP-Adresse in Python
So erhalten Sie den Wert aus dem Parameterspeicher in Lambda (mit Python)
Rufen Sie Optionen in Python sowohl aus JSON-Dateien als auch aus Befehlszeilenargumenten ab
Python in der Optimierung
CURL in Python
Holen Sie sich den Inhalt von Git Diff aus Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich das Wetter in Osaka über Web-API (Python)
Metaanalyse in Python
Unittest in Python
Holen Sie sich Komplimente von neuen Mädchen in C # paizahack_01