Run Klasse
Definiert die Basisklasse für alle Ausführungen des Azure Machine Learning-Experiments.
Eine Ausführung stellt eine einzelne Testversion eines Experiments dar. Die Ausführung wird verwendet, um die asynchrone Ausführung einer Testversion zu überwachen, Metriken zu protokollieren und die Ausgabe der Testversion zu speichern und Ergebnisse und Zugriffsartefakte zu analysieren, die von der Testversion generiert werden.
Run objects are created when you submit a script to train a model in many different scenarios in Azure Machine Learning, including HyperDrive runs, Pipeline runs, and AutoML runs. Ein Run-Objekt wird auch erstellt, wenn Sie submit oder start_logging die Klasse verwenden Experiment .
Informationen zu den ersten Schritten mit Experimenten und Läufen finden Sie unter
Initialisieren Sie das Run-Objekt.
Konstruktor
Run(experiment, run_id, outputs=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
experiment
Erforderlich
|
Das enthaltende Experiment. |
run_id
Erforderlich
|
Die ID für die Ausführung. |
outputs
|
Die ausgaben, die nachverfolgt werden sollen. Standardwert: None
|
_run_dto
Erforderlich
|
<xref:azureml._restclient.models.run_dto.RunDto>
Nur zur internen Verwendung. |
kwargs
Erforderlich
|
Ein Wörterbuch mit zusätzlichen Konfigurationsparametern. |
experiment
Erforderlich
|
Das enthaltende Experiment. |
run_id
Erforderlich
|
Die ID für die Ausführung. |
outputs
Erforderlich
|
Die ausgaben, die nachverfolgt werden sollen. |
kwargs
Erforderlich
|
Ein Wörterbuch mit zusätzlichen Konfigurationsparametern. |
Hinweise
Eine Ausführung stellt eine einzelne Testversion eines Experiments dar. Ein Run-Objekt wird verwendet, um die asynchrone Ausführung einer Testversion zu überwachen, Metriken zu protokollieren und die Ausgabe der Testversion zu speichern und Ergebnisse und Zugriffsartefakte zu analysieren, die von der Testversion generiert werden.
"Ausführen" wird in Ihrem Experimentiercode verwendet, um Metriken und Artefakte beim Run History-Dienst zu protokollieren.
Die Ausführung wird außerhalb Ihrer Experimente verwendet, um den Fortschritt zu überwachen und die Metriken und Ergebnisse abzufragen und zu analysieren, die generiert wurden.
Die Funktionalität von Run umfasst:
Speichern und Abrufen von Metriken und Daten
Hochladen und Herunterladen von Dateien
Verwenden von Tags und der untergeordneten Hierarchie für einfache Nachschlagevorgänge vergangener Läufe
Registrieren gespeicherter Modelldateien als Modell, das operationalisiert werden kann
Speichern, Ändern und Abrufen von Eigenschaften einer Ausführung
Laden der aktuellen Ausführung aus einer Remoteumgebung mit der get_context Methode
Effizientes Snapshotn einer Datei oder eines Verzeichnisses zur Reproduzierbarkeit
Diese Klasse funktioniert in den Experiment folgenden Szenarien:
Erstellen einer Ausführung durch Ausführen von Code mithilfe von submit
Interaktives Erstellen einer Ausführung in einem Notizbuch mithilfe von start_logging
Protokollieren von Metriken und Hochladen von Artefakten in Ihrem Experiment, z. B. bei Verwendung log
Lesen von Metriken und Herunterladen von Artefakten beim Analysieren experimenteller Ergebnisse, z. B. bei Verwendung get_metrics
Um eine Ausführung zu übermitteln, erstellen Sie ein Konfigurationsobjekt, das beschreibt, wie das Experiment ausgeführt wird. Hier sind Beispiele für die verschiedenen Konfigurationsobjekte, die Sie verwenden können:
azureml.train.automl.automlconfig.AutoMLConfig
azureml.train.hyperdrive.HyperDriveConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
Die folgenden Metriken können während des Trainings eines Experiments zu einer Ausführung hinzugefügt werden.
Skalar
Protokollieren Sie einen numerischen oder Zeichenfolgenwert für die Ausführung mit dem angegebenen Namen mithilfe von log. Wenn Sie eine Metrik für eine Ausführung protokollieren, wird diese Metrik im Ausführungsdatensatz im Experiment gespeichert. Sie können dieselbe Metrik mehrmals innerhalb einer Ausführung protokollieren, wobei das Ergebnis als Vektor dieser Metrik betrachtet wird.
Beispiel:
run.log("accuracy", 0.95)
Liste
Protokollieren Sie eine Liste der Werte für die Ausführung mit dem angegebenen Namen mithilfe von log_list.
Beispiel:
run.log_list("accuracies", [0.6, 0.7, 0.87])
Reihe
Die Verwendung log_row erstellt eine Metrik mit mehreren Spalten, wie in
kwargs
. Jeder benannte Parameter generiert eine Spalte mit dem angegebenen Wert.log_row
kann einmal aufgerufen werden, um ein beliebiges Tupel zu protokollieren, oder mehrmals in einer Schleife, um eine vollständige Tabelle zu generieren.Beispiel:
run.log_row("Y over X", x=1, y=0.4)
Tabelle
Protokollieren Sie ein Wörterbuchobjekt bei der Ausführung mit dem angegebenen Namen mithilfe von log_table.
Beispiel:
run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})
Abbildung
Protokollieren Sie ein Bild beim Ausführungsdatensatz. Dient log_image zum Protokollieren einer Bilddatei oder eines Matplotlib-Plots für die Ausführung. Diese Bilder werden im Laufdatensatz sichtbar und vergleichbar sein.
Beispiel:
run.log_image("ROC", path)
Methoden
add_properties |
Fügen Sie der Ausführung unveränderliche Eigenschaften hinzu. Tags und Eigenschaften (beide dict[str, str]) unterscheiden sich in ihrer Veränderbarkeit. Eigenschaften sind unveränderlich, sodass sie eine permanente Aufzeichnung zu Überwachungszwecken erstellen. Tags sind änderbar. Weitere Informationen zum Arbeiten mit Tags und Eigenschaften finden Sie unter Tag und Finden von Ausführungen. |
add_type_provider |
Erweiterbarkeits-Hook für benutzerdefinierte Run-Typen, die im Ausführungsverlauf gespeichert sind. |
cancel |
Markieren Sie die Ausführung als abgebrochen. Wenn ein zugeordneter Auftrag mit einem satz cancel_uri Feld vorhanden ist, beenden Sie diesen Auftrag ebenfalls. |
child_run |
Erstellen Sie eine untergeordnete Ausführung. |
clean |
Entfernen Sie die Dateien, die der aktuellen Ausführung auf dem in der Ausführungskonfiguration angegebenen Ziel entsprechen. |
complete |
Warten Sie, bis die Aufgabenwarteschlange verarbeitet wird. Anschließend wird die Ausführung als abgeschlossen markiert. Dies wird in der Regel in interaktiven Notizbuchszenarien verwendet. |
create_children |
Erstellen Eines oder mehrerer untergeordneter Elemente wird ausgeführt. |
download_file |
Laden Sie eine zugeordnete Datei aus dem Speicher herunter. |
download_files |
Laden Sie Dateien aus einem bestimmten Speicherpräfix (Ordnername) oder dem gesamten Container herunter, wenn das Präfix nicht angegeben ist. |
fail |
Markieren Sie die Ausführung als fehlgeschlagen. Legen Sie optional die Error-Eigenschaft der Ausführung mit einer Nachricht oder Ausnahme fest, die an |
flush |
Warten Sie, bis die Aufgabenwarteschlange verarbeitet wird. |
get |
Rufen Sie die Ausführung für diesen Arbeitsbereich mit ihrer Ausführungs-ID ab. |
get_all_logs |
Laden Sie alle Protokolle für die Ausführung in ein Verzeichnis herunter. |
get_children |
Ruft alle untergeordneten Elemente für die aktuelle Ausführung ab, die von angegebenen Filtern ausgewählt wurde. |
get_context |
Gibt den aktuellen Dienstkontext zurück. Verwenden Sie diese Methode, um den aktuellen Dienstkontext zum Protokollieren von Metriken und hochladen von Dateien abzurufen. Wenn |
get_detailed_status |
Rufen Sie den neuesten Status der Ausführung ab. Wenn der Status der Ausführung "In der Warteschlange" lautet, werden die Details angezeigt. |
get_details |
Rufen Sie die Definition, Statusinformationen, aktuelle Protokolldateien und andere Details der Ausführung ab. |
get_details_with_logs |
Gibt den Ausführungsstatus einschließlich des Protokolldateiinhalts zurück. |
get_environment |
Rufen Sie die Umgebungsdefinition ab, die von dieser Ausführung verwendet wurde. |
get_file_names |
Listet die Dateien auf, die in Verbindung mit der Ausführung gespeichert sind. |
get_metrics |
Rufen Sie die metriken ab, die bei der Ausführung protokolliert werden. Wenn |
get_properties |
Rufen Sie die neuesten Eigenschaften der Ausführung vom Dienst ab. |
get_secret |
Rufen Sie den geheimen Wert aus dem Kontext einer Ausführung ab. Rufen Sie den geheimen Wert für den angegebenen Namen ab. Der geheime Name verweist auf einen Wert, der in Azure Key Vault gespeichert ist, der Ihrem Arbeitsbereich zugeordnet ist. Ein Beispiel für das Arbeiten mit geheimen Schlüsseln finden Sie unter Verwenden von geheimen Schlüsseln in Schulungsläufen. |
get_secrets |
Rufen Sie die geheimen Werte für eine bestimmte Liste geheimer Namen ab. Rufen Sie ein Wörterbuch mit gefundenen und nicht gefundenen Geheimschlüsseln für die Liste der bereitgestellten Namen ab. Jeder geheime Name verweist auf einen Wert, der in Azure Key Vault gespeichert ist, der Ihrem Arbeitsbereich zugeordnet ist. Ein Beispiel für das Arbeiten mit geheimen Schlüsseln finden Sie unter Verwenden von geheimen Schlüsseln in Schulungsläufen. |
get_snapshot_id |
Rufen Sie die neueste Momentaufnahme-ID ab. |
get_status |
Rufen Sie den neuesten Status der Ausführung ab. Die zurückgegebenen allgemeinen Werte umfassen "Running", "Completed" und "Failed". |
get_submitted_run |
VERALTET. Verwenden Sie get_context. Rufen Sie die übermittelte Ausführung für dieses Experiment ab. |
get_tags |
Rufen Sie den neuesten Satz von änderbaren Tags für die Ausführung vom Dienst ab. |
list |
Dient zum Abrufen einer Liste von Läufen in einem Experiment, das durch optionale Filter angegeben wird. |
list_by_compute |
Dient zum Abrufen einer Liste der Ausführungen in einer Berechnung, die durch optionale Filter angegeben wird. |
log |
Protokollieren Sie einen Metrikwert für die Ausführung mit dem angegebenen Namen. |
log_accuracy_table |
Protokollieren Sie eine Genauigkeitstabelle im Artefaktspeicher. Die Genauigkeitstabellenmetrik ist eine nicht skalare Metrik, die verwendet werden kann, um mehrere Liniendiagrammtypen zu erzeugen, die kontinuierlich über den Raum der vorhergesagten Wahrscheinlichkeiten variieren. Beispiele für diese Diagramme sind ROC-, Präzisionsrückruf- und Liftkurven. Die Berechnung der Genauigkeitstabelle ähnelt der Berechnung einer ROC-Kurve. Eine ROC-Kurve speichert echte positive Raten und falsch positive Raten bei vielen unterschiedlichen Wahrscheinlichkeitsschwellenwerten. Die Genauigkeitstabelle speichert die rohe Anzahl wahrer Positiver, falsch positiver Ergebnisse, wahrer Negativer und falsch negativer Ergebnisse bei vielen Wahrscheinlichkeitsschwellenwerten. Es gibt zwei Methoden zum Auswählen von Schwellenwerten: "Wahrscheinlichkeit" und "Quantil". Sie unterscheiden sich darin, wie sie aus dem Raum der vorhergesagten Wahrscheinlichkeiten probieren. Wahrscheinlichkeitsschwellenwerte sind gleichmäßig verteilte Schwellenwerte zwischen 0 und 1. Wenn NUM_POINTS 5 ist, sind die Wahrscheinlichkeitsschwellenwerte [0,0, 0,25, 0,5, 0,75, 1,0]. Quantilschwellenwerte werden entsprechend der Verteilung der vorhergesagten Wahrscheinlichkeiten verteilt. Jeder Schwellenwert entspricht dem Quantil der Daten an einem Wahrscheinlichkeitsschwellenwert. Wenn z. B. NUM_POINTS 5 ist, liegt der erste Schwellenwert am 0. Quantil, der zweite am 25. Quantil, dem dritten am 50. usw. Die Wahrscheinlichkeitstabellen und Quantiltabellen sind beide 3D-Listen, in denen die erste Dimension die Klassenbezeichnung darstellt, die zweite Dimension stellt das Beispiel an einem Schwellenwert dar (Skalierungen mit NUM_POINTS), und die dritte Dimension hat immer 4 Werte: TP, FP, TN, FN und immer in dieser Reihenfolge. Die Verwirrungswerte (TP, FP, TN, FN) werden mit der 1 vs. Reststrategie berechnet. Weitere Informationen finden Sie unter dem folgenden Link: https://en.wikipedia.org/wiki/Multiclass_classification N = Anzahl von Beispielen im Validierungsdatenset (200 in Beispiel) M = # Schwellenwerte = # Stichproben aus dem Wahrscheinlichkeitsraum (5 in Beispiel) C = # Klassen im vollständigen Dataset (3 in Beispiel) Einige Invarianten der Genauigkeitstabelle:
Hinweis: M kann ein beliebiger Wert sein und steuert die Auflösung der Diagramme. Dies ist unabhängig vom Dataset, wird bei der Berechnung von Metriken definiert und gibt Speicherplatz, Berechnungszeit und Auflösung ab. Klassenbeschriftungen sollten Zeichenfolgen sein, Verwirrungswerte sollten ganze Zahlen sein, und Schwellenwerte sollten floats sein. |
log_confusion_matrix |
Protokollieren Sie eine Verwirrungsmatrix im Artefaktspeicher. Dadurch wird ein Wrapper um die Knöchelverwechslungsmatrix protokolliert. Die Metrikdaten enthalten die Klassenbeschriftungen und eine 2D-Liste für die Matrix selbst. Weitere Informationen zur Berechnung der Metrik finden Sie im folgenden Link: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html |
log_image |
Protokollieren Sie eine Bildmetrik für den Ausführungsdatensatz. |
log_list |
Protokollieren Sie eine Liste der Metrikwerte für die Ausführung mit dem angegebenen Namen. |
log_predictions |
Protokollieren Sie Vorhersagen für den Artefaktspeicher. Dadurch wird eine Metrikbewertung protokolliert, die verwendet werden kann, um die Verteilung der tatsächlichen Zielwerte mit der Verteilung vorhergesagter Werte für eine Regressionsaufgabe zu vergleichen. Die Vorhersagen sind binniert, und Standardabweichungen werden für Fehlerindikatoren in einem Liniendiagramm berechnet. |
log_residuals |
Protokollieren Sie Reste im Artefaktspeicher. Dadurch werden die daten protokolliert, die zum Anzeigen eines Histogramms von Resten für eine Regressionsaufgabe erforderlich sind. Die Reste werden vorhergesagt - tatsächlich. Es sollte mindestens ein Rand als die Anzahl der Anzahlen vorhanden sein. Beispiele für die Verwendung von Anzahlen und Kanten zur Darstellung eines Histogramms finden Sie in der Numpy Histogramm-Dokumentation. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html |
log_row |
Protokollieren Sie eine Zeilenmetrik für die Ausführung mit dem angegebenen Namen. |
log_table |
Protokollieren Sie eine Tabellenmetrik für die Ausführung mit dem angegebenen Namen. |
register_model |
Registrieren Sie ein Modell für die Operationalisierung. |
remove_tags |
Löschen Sie die Liste der veränderbaren Tags bei dieser Ausführung. |
restore_snapshot |
Stellen Sie eine Momentaufnahme als ZIP-Datei wieder her. Gibt den Pfad zur ZIP-Datei zurück. |
set_tags |
Hinzufügen oder Ändern einer Gruppe von Tags bei der Ausführung. Tags, die nicht im Wörterbuch übergeben werden, bleiben unberührt. Sie können auch einfache Zeichenfolgentags hinzufügen. Wenn diese Tags im Tagwörterbuch als Schlüssel angezeigt werden, weisen sie den Wert "None" auf. Weitere Informationen finden Sie unter Tag und Finden von Ausführungen. |
start |
Markieren Sie die Ausführung als gestartet. Dies wird in der Regel in erweiterten Szenarien verwendet, wenn die Ausführung von einem anderen Akteur erstellt wurde. |
submit_child |
Senden Sie ein Experiment, und geben Sie die aktive untergeordnete Ausführung zurück. |
tag |
Markieren Sie die Ausführung mit einem Zeichenfolgenschlüssel und einem optionalen Zeichenfolgenwert. |
take_snapshot |
Speichern Sie eine Momentaufnahme der Eingabedatei oder des Ordners. |
upload_file |
Laden Sie eine Datei in den Ausführungsdatensatz hoch. |
upload_files |
Laden Sie Dateien in den Ausgeführten Datensatz hoch. |
upload_folder |
Laden Sie den angegebenen Ordner in den angegebenen Präfixnamen hoch. |
wait_for_completion |
Warten Sie auf den Abschluss dieser Ausführung. Gibt das Statusobjekt nach der Wartezeit zurück. |
add_properties
Fügen Sie der Ausführung unveränderliche Eigenschaften hinzu.
Tags und Eigenschaften (beide dict[str, str]) unterscheiden sich in ihrer Veränderbarkeit. Eigenschaften sind unveränderlich, sodass sie eine permanente Aufzeichnung zu Überwachungszwecken erstellen. Tags sind änderbar. Weitere Informationen zum Arbeiten mit Tags und Eigenschaften finden Sie unter Tag und Finden von Ausführungen.
add_properties(properties)
Parameter
Name | Beschreibung |
---|---|
properties
Erforderlich
|
Die ausgeblendeten Eigenschaften, die im Run-Objekt gespeichert sind. |
add_type_provider
Erweiterbarkeits-Hook für benutzerdefinierte Run-Typen, die im Ausführungsverlauf gespeichert sind.
static add_type_provider(runtype, run_factory)
Parameter
Name | Beschreibung |
---|---|
runtype
Erforderlich
|
Der Wert von Run.type, für den die Factory aufgerufen wird. Beispiele sind "hyperdrive" oder "azureml.scriptrun", können aber mit benutzerdefinierten Typen erweitert werden. |
run_factory
Erforderlich
|
<xref:function>
Eine Funktion mit Signatur (Experiment, RunDto) –> Ausführen, die beim Ausführen der Auflistung aufgerufen werden soll. |
cancel
Markieren Sie die Ausführung als abgebrochen.
Wenn ein zugeordneter Auftrag mit einem satz cancel_uri Feld vorhanden ist, beenden Sie diesen Auftrag ebenfalls.
cancel()
child_run
Erstellen Sie eine untergeordnete Ausführung.
child_run(name=None, run_id=None, outputs=None)
Parameter
Name | Beschreibung |
---|---|
name
|
Ein optionaler Name für die untergeordnete Ausführung, in der Regel für einen "Teil" angegeben. Standardwert: None
|
run_id
|
Eine optionale Ausführungs-ID für das untergeordnete Element, andernfalls wird sie automatisch generiert. Dieser Parameter wird in der Regel nicht festgelegt. Standardwert: None
|
outputs
|
Optionale Ausgabeverzeichnis zum Nachverfolgen des untergeordneten Elements. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Das untergeordnete Element wird ausgeführt. |
Hinweise
Dies wird verwendet, um einen Teil einer Ausführung in einen Unterabschnitt zu isolieren. Dies kann für identifizierbare "Teile" einer Ausführung erfolgen, die interessant für die Trennung sind, oder um unabhängige Metriken über eine Interation eines Teilprozesses hinweg zu erfassen.
Wenn für die untergeordnete Ausführung ein Ausgabeverzeichnis festgelegt ist, wird der Inhalt dieses Verzeichnisses nach Abschluss des untergeordneten Datensatzes in den untergeordneten Ausführungsdatensatz hochgeladen.
clean
Entfernen Sie die Dateien, die der aktuellen Ausführung auf dem in der Ausführungskonfiguration angegebenen Ziel entsprechen.
clean()
Gibt zurück
Typ | Beschreibung |
---|---|
Eine Liste der gelöschten Dateien. |
complete
Warten Sie, bis die Aufgabenwarteschlange verarbeitet wird.
Anschließend wird die Ausführung als abgeschlossen markiert. Dies wird in der Regel in interaktiven Notizbuchszenarien verwendet.
complete(_set_status=True)
Parameter
Name | Beschreibung |
---|---|
_set_status
|
Gibt an, ob das Statusereignis zur Nachverfolgung gesendet werden soll. Standardwert: True
|
create_children
Erstellen Eines oder mehrerer untergeordneter Elemente wird ausgeführt.
create_children(count=None, tag_key=None, tag_values=None)
Parameter
Name | Beschreibung |
---|---|
count
|
Eine optionale Anzahl von untergeordneten Elementen, die erstellt werden sollen. Standardwert: None
|
tag_key
|
Ein optionaler Schlüssel zum Auffüllen des Tags-Eintrags in allen erstellten untergeordneten Elementen. Standardwert: None
|
tag_Values
Erforderlich
|
Eine optionale Liste von Werten, die tags[tag_key] für die erstellte Liste der erstellten Ausführung zugeordnet werden. |
tag_values
|
Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Die Liste der untergeordneten Ausführungen. |
Hinweise
Entweder parameter count
OR parameters tag_key
AND tag_values
must be specified.
download_file
Laden Sie eine zugeordnete Datei aus dem Speicher herunter.
download_file(name, output_file_path=None, _validate_checksum=False)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name des artefakts, das heruntergeladen werden soll. |
output_file_path
Erforderlich
|
Der lokale Pfad, in dem das Artefakt gespeichert werden soll. |
download_files
Laden Sie Dateien aus einem bestimmten Speicherpräfix (Ordnername) oder dem gesamten Container herunter, wenn das Präfix nicht angegeben ist.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Parameter
Name | Beschreibung |
---|---|
prefix
Erforderlich
|
Das Dateipfadpräfix innerhalb des Containers, aus dem alle Artefakte heruntergeladen werden sollen. |
output_directory
Erforderlich
|
Ein optionales Verzeichnis, das alle Artefaktpfade als Präfix verwenden. |
output_paths
Erforderlich
|
[str]
Optionale Dateipfade, in denen die heruntergeladenen Artefakte gespeichert werden sollen. Sollte eindeutig sein und der Länge der Pfade entsprechen. |
batch_size
Erforderlich
|
Die Anzahl der Dateien, die pro Batch heruntergeladen werden sollen. Der Standardwert ist 100 Dateien. |
append_prefix
Erforderlich
|
Ein optionales Kennzeichen, ob das angegebene Präfix vom endgültigen Ausgabedateipfad angefügt werden soll. If False then then the prefix is removed from the output file path. |
timeout_seconds
Erforderlich
|
Timeout zum Herunterladen von Dateien. |
fail
Markieren Sie die Ausführung als fehlgeschlagen.
Legen Sie optional die Error-Eigenschaft der Ausführung mit einer Nachricht oder Ausnahme fest, die an error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Parameter
Name | Beschreibung |
---|---|
error_details
|
str oder
BaseException
Optionale Details des Fehlers. Standardwert: None
|
error_code
|
Optionaler Fehlercode des Fehlers für die Fehlerklassifizierung. Standardwert: None
|
_set_status
|
Gibt an, ob das Statusereignis zur Nachverfolgung gesendet werden soll. Standardwert: True
|
flush
Warten Sie, bis die Aufgabenwarteschlange verarbeitet wird.
flush(timeout_seconds=300)
Parameter
Name | Beschreibung |
---|---|
timeout_seconds
|
Wie lange (in Sekunden) gewartet werden muss, bis die Aufgabenwarteschlange verarbeitet wird. Standardwert: 300
|
get
Rufen Sie die Ausführung für diesen Arbeitsbereich mit ihrer Ausführungs-ID ab.
static get(workspace, run_id)
Parameter
Name | Beschreibung |
---|---|
workspace
Erforderlich
|
Der enthaltende Arbeitsbereich. |
run_id
Erforderlich
|
Die Ausführungs-ID. |
Gibt zurück
Typ | Beschreibung |
---|---|
Die übermittelte Ausführung. |
get_all_logs
Laden Sie alle Protokolle für die Ausführung in ein Verzeichnis herunter.
get_all_logs(destination=None)
Parameter
Name | Beschreibung |
---|---|
destination
|
Der Zielpfad zum Speichern von Protokollen. Wenn nicht angegeben, wird ein Verzeichnis mit dem Namen "Run ID" im Projektverzeichnis erstellt. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Eine Liste der Namen der heruntergeladenen Protokolle. |
get_children
Ruft alle untergeordneten Elemente für die aktuelle Ausführung ab, die von angegebenen Filtern ausgewählt wurde.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Parameter
Name | Beschreibung |
---|---|
recursive
|
Gibt an, ob alle Nachfolger rekursiert werden sollen. Standardwert: False
|
tags
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Tag oder {"tag" zurückgegeben: "value"}. Standardwert: None
|
properties
|
Wenn angegeben, wird die Ausführung mit dem angegebenen "Property" oder {"property": "value"} zurückgegeben. Standardwert: None
|
type
|
Wenn angegeben, wird dieser Typ zurückgegeben. Standardwert: None
|
status
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Status "status" zurückgegeben. Standardwert: None
|
_rehydrate_runs
|
Gibt an, ob eine Ausführung des ursprünglichen Typs oder der Basisausführung instanziieren soll. Standardwert: True
|
Gibt zurück
Typ | Beschreibung |
---|---|
Eine Liste von Run Objekten. |
get_context
Gibt den aktuellen Dienstkontext zurück.
Verwenden Sie diese Methode, um den aktuellen Dienstkontext zum Protokollieren von Metriken und hochladen von Dateien abzurufen. Wenn allow_offline
"True" (Standardeinstellung) ist, werden Aktionen für das Run-Objekt auf Standardausdruck gedruckt.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Parameter
Name | Beschreibung |
---|---|
cls
Erforderlich
|
Gibt die Klassenmethode an. |
allow_offline
|
Ermöglichen Sie dem Dienstkontext, auf den Offlinemodus zurückzugreifen, damit das Schulungsskript lokal getestet werden kann, ohne einen Auftrag mit dem SDK zu übermitteln. True standardmäßig. Standardwert: True
|
kwargs
Erforderlich
|
Ein Wörterbuch mit zusätzlichen Parametern. |
used_for_context_manager
|
Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
Die übermittelte Ausführung. |
Hinweise
Diese Funktion wird häufig verwendet, um das authentifizierte Run-Objekt innerhalb eines Skripts abzurufen, das für die Ausführung über experiment.submit() übermittelt werden soll. Dieses Ausführungsobjekt ist sowohl ein authentifizierter Kontext für die Kommunikation mit Azure Machine Learning-Diensten als auch ein konzeptioneller Container, in dem Metriken, Dateien (Artefakte) und Modelle enthalten sind.
run = Run.get_context() # allow_offline=True by default, so can be run locally as well
...
run.log("Accuracy", 0.98)
run.log_row("Performance", epoch=e, error=err)
get_detailed_status
Rufen Sie den neuesten Status der Ausführung ab. Wenn der Status der Ausführung "In der Warteschlange" lautet, werden die Details angezeigt.
get_detailed_status()
Gibt zurück
Typ | Beschreibung |
---|---|
Der neueste Status und details |
Hinweise
status: Der aktuelle Status der Ausführung. Derselbe Wert wie der von get_status()zurückgegebene Wert.
Details: Die detaillierten Informationen für den aktuellen Status.
run = experiment.submit(config)
details = run.get_detailed_status()
# details = {
# 'status': 'Queued',
# 'details': 'Run requested 1 node(s). Run is in pending status.',
# }
get_details
Rufen Sie die Definition, Statusinformationen, aktuelle Protokolldateien und andere Details der Ausführung ab.
get_details()
Gibt zurück
Typ | Beschreibung |
---|---|
Zurückgeben der Details für die Ausführung |
Hinweise
Das zurückgegebene Wörterbuch enthält die folgenden Schlüsselwertpaare:
runId: ID dieser Ausführung.
Ziel-
status: Der aktuelle Status der Ausführung. Derselbe Wert wie der von get_status()zurückgegebene Wert.
startTimeUtc: UTC-Zeit, zu der diese Ausführung gestartet wurde, in ISO8601.
endTimeUtc: UTC-Zeit, zu der diese Ausführung abgeschlossen wurde (entweder abgeschlossen oder fehlgeschlagen), in ISO8601.
Dieser Schlüssel ist nicht vorhanden, wenn die Ausführung noch ausgeführt wird.
properties: Unveränderliche Schlüsselwertpaare, die der Ausführung zugeordnet sind. Zu den Standardeigenschaften gehören die Snapshot-ID der Ausführung und Informationen zum Git-Repository, aus dem die Ausführung erstellt wurde (sofern vorhanden). Zusätzliche Eigenschaften können einer Ausführung mit hinzugefügt add_propertieswerden.
inputDatasets: Eingabe-Datasets, die der Ausführung zugeordnet sind.
outputDatasets: Output-Datasets, die der Ausführung zugeordnet sind.
logFiles
submittedBy
run = experiment.start_logging()
details = run.get_details()
# details = {
# 'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
# 'target': 'sdk',
# 'status': 'Running',
# 'startTimeUtc': '2019-01-01T13:08:01.713777Z',
# 'endTimeUtc': '2019-01-01T17:15:65.986253Z',
# 'properties': {
# 'azureml.git.repository_uri': 'https://example.com/my/git/repo',
# 'azureml.git.branch': 'master',
# 'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'azureml.git.dirty': 'True',
# 'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
# 'mlflow.source.git.branch': 'master',
# 'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
# 'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
# },
# 'inputDatasets': [{
# 'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
# 'consumptionDetails': {
# 'type': 'RunInput',
# 'inputName': 'training-data',
# 'mechanism': 'Mount',
# 'pathOnCompute': '/mnt/datasets/train'
# }
# }],
# 'outputDatasets': [{
# 'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
# 'outputType': 'RunOutput',
# 'outputDetails': {
# 'outputName': 'training-result'
# }
# }],
# 'runDefinition': {},
# 'logFiles': {},
# 'submittedBy': 'Alan Turing'
# }
get_details_with_logs
Gibt den Ausführungsstatus einschließlich des Protokolldateiinhalts zurück.
get_details_with_logs()
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt den Status für die Ausführung mit Protokolldateiinhalten zurück. |
get_environment
Rufen Sie die Umgebungsdefinition ab, die von dieser Ausführung verwendet wurde.
get_environment()
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt das Umgebungsobjekt zurück. |
get_file_names
get_metrics
Rufen Sie die metriken ab, die bei der Ausführung protokolliert werden.
Wenn recursive
"True" ist (standardmäßig "False"), rufen Sie Metriken für Die Ausführung in der Unterstruktur des angegebenen Laufs ab.
get_metrics(name=None, recursive=False, run_type=None, populate=False)
Parameter
Name | Beschreibung |
---|---|
name
|
Der Name der Metrik. Standardwert: None
|
recursive
|
Gibt an, ob alle Nachfolger rekursiert werden sollen. Standardwert: False
|
run_type
|
Standardwert: None
|
populate
|
Gibt an, ob der Inhalt externer Daten abgerufen werden soll, die mit der Metrik verknüpft sind. Standardwert: False
|
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Wörterbuch, das die Benutzermetriken enthält. |
Hinweise
run = experiment.start_logging() # run id: 123
run.log("A", 1)
with run.child_run() as child: # run id: 456
child.log("A", 2)
metrics = run.get_metrics()
# metrics = { 'A': 1 }
metrics = run.get_metrics(recursive=True)
# metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId
get_properties
Rufen Sie die neuesten Eigenschaften der Ausführung vom Dienst ab.
get_properties()
Gibt zurück
Typ | Beschreibung |
---|---|
Die Eigenschaften der Ausführung. |
Hinweise
Eigenschaften sind unveränderliche vom System generierte Informationen wie Dauer, Ausführungsdatum, Benutzer und benutzerdefinierte Eigenschaften, die mit der add_properties Methode hinzugefügt werden. Weitere Informationen finden Sie unter Tag und Finden von Ausführungen.
Wenn Sie einen Auftrag an Azure Machine Learning übermitteln, wenn Quelldateien in einem lokalen Git-Repository gespeichert werden, werden Informationen zum Repository als Eigenschaften gespeichert. Diese Git-Eigenschaften werden beim Erstellen einer Ausführung oder aufrufen von Experiment.submit hinzugefügt. Weitere Informationen zu Git-Eigenschaften finden Sie unter Git-Integration für Azure Machine Learning.
get_secret
Rufen Sie den geheimen Wert aus dem Kontext einer Ausführung ab.
Rufen Sie den geheimen Wert für den angegebenen Namen ab. Der geheime Name verweist auf einen Wert, der in Azure Key Vault gespeichert ist, der Ihrem Arbeitsbereich zugeordnet ist. Ein Beispiel für das Arbeiten mit geheimen Schlüsseln finden Sie unter Verwenden von geheimen Schlüsseln in Schulungsläufen.
get_secret(name)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der geheime Name, für den ein Geheimer Schlüssel zurückgegeben werden soll. |
Gibt zurück
Typ | Beschreibung |
---|---|
Der geheime Wert. |
get_secrets
Rufen Sie die geheimen Werte für eine bestimmte Liste geheimer Namen ab.
Rufen Sie ein Wörterbuch mit gefundenen und nicht gefundenen Geheimschlüsseln für die Liste der bereitgestellten Namen ab. Jeder geheime Name verweist auf einen Wert, der in Azure Key Vault gespeichert ist, der Ihrem Arbeitsbereich zugeordnet ist. Ein Beispiel für das Arbeiten mit geheimen Schlüsseln finden Sie unter Verwenden von geheimen Schlüsseln in Schulungsläufen.
get_secrets(secrets)
Parameter
Name | Beschreibung |
---|---|
secrets
Erforderlich
|
Eine Liste mit geheimen Namen, für die geheime Werte zurückgegeben werden sollen. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt ein Wörterbuch mit gefundenen und nicht gefundenen geheimen Schlüsseln zurück. |
get_snapshot_id
Rufen Sie die neueste Momentaufnahme-ID ab.
get_snapshot_id()
Gibt zurück
Typ | Beschreibung |
---|---|
Die aktuellste Momentaufnahme-ID. |
get_status
Rufen Sie den neuesten Status der Ausführung ab.
Die zurückgegebenen allgemeinen Werte umfassen "Running", "Completed" und "Failed".
get_status()
Gibt zurück
Typ | Beschreibung |
---|---|
Der neueste Status. |
Hinweise
NotStarted – Dies ist ein temporärer Zustand clientseitige Run-Objekte vor der Cloudübermittlung.
Starting – The Run has started being processed in the cloud. Der Aufrufer verfügt zu diesem Zeitpunkt über eine Ausführungs-ID.
Bereitstellung – Wird zurückgegeben, wenn die On-Demand-Berechnung für eine bestimmte Auftragsübermittlung erstellt wird.
Vorbereiten – Die Ausführungsumgebung wird vorbereitet:
Docker-Imagebuild
Conda-Umgebungseinrichtung
In die Warteschlange gestellt – Der Auftrag wird im Computeziel in die Warteschlange gestellt. Beispiel: In BatchAI befindet sich der Auftrag in der Warteschlange
warten, bis alle angeforderten Knoten bereit sind.
Ausführen – Der Auftrag wurde im Computeziel ausgeführt.
Abschluss : Der Benutzercode wurde abgeschlossen, und die Ausführung erfolgt in Nachbearbeitungsphasen.
CancelRequested – Die Stornierung wurde für den Auftrag angefordert.
Abgeschlossen – Die Ausführung wurde erfolgreich abgeschlossen. Dies umfasst sowohl den Benutzercode als auch die Ausführung
Phasen nach der Verarbeitung.
Fehler : Fehler bei der Ausführung. In der Regel enthält die Error-Eigenschaft einer Ausführung Details dazu.
Abgebrochen – Folgt einer Abbruchanforderung und gibt an, dass die Ausführung jetzt erfolgreich abgebrochen wurde.
NotResponding – Für Ausführungen mit aktivierten Takten wurde kürzlich kein Takt gesendet.
run = experiment.submit(config)
while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
print('Run {} not in terminal state'.format(run.id))
time.sleep(10)
get_submitted_run
VERALTET. Verwenden Sie get_context.
Rufen Sie die übermittelte Ausführung für dieses Experiment ab.
get_submitted_run(**kwargs)
Gibt zurück
Typ | Beschreibung |
---|---|
Die übermittelte Ausführung. |
get_tags
Rufen Sie den neuesten Satz von änderbaren Tags für die Ausführung vom Dienst ab.
get_tags()
Gibt zurück
Typ | Beschreibung |
---|---|
Die tags, die im Run-Objekt gespeichert sind. |
list
Dient zum Abrufen einer Liste von Läufen in einem Experiment, das durch optionale Filter angegeben wird.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Parameter
Name | Beschreibung |
---|---|
experiment
Erforderlich
|
Das enthaltende Experiment. |
type
|
Wenn angegeben, wird der angegebene Typ zurückgegeben. Standardwert: None
|
tags
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Tag oder {"tag" zurückgegeben: "value"}. Standardwert: None
|
properties
|
Wenn angegeben, wird die Ausführung mit dem angegebenen "Property" oder {"property": "value"} zurückgegeben. Standardwert: None
|
status
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Status "status" zurückgegeben. Standardwert: None
|
include_children
|
Wenn dieser Wert auf "true" festgelegt ist, rufen Sie nicht nur alle Läufe der obersten Ebene ab. Standardwert: False
|
_rehydrate_runs
|
Bei Festlegung auf "True" (standardmäßig) wird der registrierte Anbieter verwendet, um ein Objekt für diesen Typ anstelle der Basisausführung erneut zu erstellen. Standardwert: True
|
Gibt zurück
Typ | Beschreibung |
---|---|
Eine Liste der Ausführungen. |
Hinweise
Das folgende Codebeispiel zeigt einige Verwendungen der list
Methode.
favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')
all_distinct_runs = Run.list(experiment)
and_their_children = Run.list(experiment, include_children=True)
only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)
list_by_compute
Dient zum Abrufen einer Liste der Ausführungen in einer Berechnung, die durch optionale Filter angegeben wird.
static list_by_compute(compute, type=None, tags=None, properties=None, status=None)
Parameter
Name | Beschreibung |
---|---|
compute
Erforderlich
|
Der enthaltende Compute. |
type
|
Wenn angegeben, wird der angegebene Typ zurückgegeben. Standardwert: None
|
tags
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Tag oder {"tag" zurückgegeben: "value"}. Standardwert: None
|
properties
|
Wenn angegeben, wird die Ausführung mit dem angegebenen "Property" oder {"property": "value"} zurückgegeben. Standardwert: None
|
status
|
Wenn angegeben, wird die Ausführung mit dem angegebenen Status "status" zurückgegeben. Nur zulässige Werte sind "Running" und "Queued". Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
<xref:builtin.generator>
|
ein Generator von ~_restclient.models.RunDto |
log
Protokollieren Sie einen Metrikwert für die Ausführung mit dem angegebenen Namen.
log(name, value, description='', step=None)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Metrik. |
value
Erforderlich
|
Der Wert, der an den Dienst gepostet werden soll. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
step
|
Eine optionale Achse zum Angeben der Wertreihenfolge innerhalb einer Metrik. Standardwert: None
|
Hinweise
Wenn Sie eine Metrik für eine Ausführung protokollieren, wird diese Metrik im Ausführungsdatensatz im Experiment gespeichert. Sie können dieselbe Metrik mehrmals innerhalb einer Ausführung protokollieren, wobei das Ergebnis als Vektor dieser Metrik betrachtet wird. Wenn Schritt für eine Metrik angegeben ist, muss er für alle Werte angegeben werden.
log_accuracy_table
Protokollieren Sie eine Genauigkeitstabelle im Artefaktspeicher.
Die Genauigkeitstabellenmetrik ist eine nicht skalare Metrik, die verwendet werden kann, um mehrere Liniendiagrammtypen zu erzeugen, die kontinuierlich über den Raum der vorhergesagten Wahrscheinlichkeiten variieren. Beispiele für diese Diagramme sind ROC-, Präzisionsrückruf- und Liftkurven.
Die Berechnung der Genauigkeitstabelle ähnelt der Berechnung einer ROC-Kurve. Eine ROC-Kurve speichert echte positive Raten und falsch positive Raten bei vielen unterschiedlichen Wahrscheinlichkeitsschwellenwerten. Die Genauigkeitstabelle speichert die rohe Anzahl wahrer Positiver, falsch positiver Ergebnisse, wahrer Negativer und falsch negativer Ergebnisse bei vielen Wahrscheinlichkeitsschwellenwerten.
Es gibt zwei Methoden zum Auswählen von Schwellenwerten: "Wahrscheinlichkeit" und "Quantil". Sie unterscheiden sich darin, wie sie aus dem Raum der vorhergesagten Wahrscheinlichkeiten probieren.
Wahrscheinlichkeitsschwellenwerte sind gleichmäßig verteilte Schwellenwerte zwischen 0 und 1. Wenn NUM_POINTS 5 ist, sind die Wahrscheinlichkeitsschwellenwerte [0,0, 0,25, 0,5, 0,75, 1,0].
Quantilschwellenwerte werden entsprechend der Verteilung der vorhergesagten Wahrscheinlichkeiten verteilt. Jeder Schwellenwert entspricht dem Quantil der Daten an einem Wahrscheinlichkeitsschwellenwert. Wenn z. B. NUM_POINTS 5 ist, liegt der erste Schwellenwert am 0. Quantil, der zweite am 25. Quantil, dem dritten am 50. usw.
Die Wahrscheinlichkeitstabellen und Quantiltabellen sind beide 3D-Listen, in denen die erste Dimension die Klassenbezeichnung darstellt, die zweite Dimension stellt das Beispiel an einem Schwellenwert dar (Skalierungen mit NUM_POINTS), und die dritte Dimension hat immer 4 Werte: TP, FP, TN, FN und immer in dieser Reihenfolge.
Die Verwirrungswerte (TP, FP, TN, FN) werden mit der 1 vs. Reststrategie berechnet. Weitere Informationen finden Sie unter dem folgenden Link: https://en.wikipedia.org/wiki/Multiclass_classification
N = Anzahl von Beispielen im Validierungsdatenset (200 in Beispiel) M = # Schwellenwerte = # Stichproben aus dem Wahrscheinlichkeitsraum (5 in Beispiel) C = # Klassen im vollständigen Dataset (3 in Beispiel)
Einige Invarianten der Genauigkeitstabelle:
- TP + FP + TN + FN = N für alle Schwellenwerte für alle Klassen
- TP + FN ist bei allen Schwellenwerten für jede Klasse gleich
- TN + FP ist bei allen Schwellenwerten für jede Klasse gleich
- Wahrscheinlichkeitstabellen und Quantiltabellen haben Form [C, M, 4]
Hinweis: M kann ein beliebiger Wert sein und steuert die Auflösung der Diagramme. Dies ist unabhängig vom Dataset, wird bei der Berechnung von Metriken definiert und gibt Speicherplatz, Berechnungszeit und Auflösung ab.
Klassenbeschriftungen sollten Zeichenfolgen sein, Verwirrungswerte sollten ganze Zahlen sein, und Schwellenwerte sollten floats sein.
log_accuracy_table(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Genauigkeitstabelle. |
value
Erforderlich
|
JSON mit Namen, Version und Dateneigenschaften. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
Hinweise
Beispiel für einen gültigen JSON-Wert:
{
"schema_type": "accuracy_table",
"schema_version": "1.0.1",
"data": {
"probability_tables": [
[
[82, 118, 0, 0],
[75, 31, 87, 7],
[66, 9, 109, 16],
[46, 2, 116, 36],
[0, 0, 118, 82]
],
[
[60, 140, 0, 0],
[56, 20, 120, 4],
[47, 4, 136, 13],
[28, 0, 140, 32],
[0, 0, 140, 60]
],
[
[58, 142, 0, 0],
[53, 29, 113, 5],
[40, 10, 132, 18],
[24, 1, 141, 34],
[0, 0, 142, 58]
]
],
"percentile_tables": [
[
[82, 118, 0, 0],
[82, 67, 51, 0],
[75, 26, 92, 7],
[48, 3, 115, 34],
[3, 0, 118, 79]
],
[
[60, 140, 0, 0],
[60, 89, 51, 0],
[60, 41, 99, 0],
[46, 5, 135, 14],
[3, 0, 140, 57]
],
[
[58, 142, 0, 0],
[56, 93, 49, 2],
[54, 47, 95, 4],
[41, 10, 132, 17],
[3, 0, 142, 55]
]
],
"probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
"percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
"class_labels": ["0", "1", "2"]
}
}
log_confusion_matrix
Protokollieren Sie eine Verwirrungsmatrix im Artefaktspeicher.
Dadurch wird ein Wrapper um die Knöchelverwechslungsmatrix protokolliert. Die Metrikdaten enthalten die Klassenbeschriftungen und eine 2D-Liste für die Matrix selbst. Weitere Informationen zur Berechnung der Metrik finden Sie im folgenden Link: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html
log_confusion_matrix(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Verwirrungsmatrix. |
value
Erforderlich
|
JSON mit Namen, Version und Dateneigenschaften. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
Hinweise
Beispiel für einen gültigen JSON-Wert:
{
"schema_type": "confusion_matrix",
"schema_version": "1.0.0",
"data": {
"class_labels": ["0", "1", "2", "3"],
"matrix": [
[3, 0, 1, 0],
[0, 1, 0, 1],
[0, 0, 1, 0],
[0, 0, 0, 1]
]
}
}
log_image
Protokollieren Sie eine Bildmetrik für den Ausführungsdatensatz.
log_image(name, path=None, plot=None, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Metrik. |
path
Erforderlich
|
Der Pfad oder datenstrom des Bilds. |
plot
Erforderlich
|
<xref:matplotlib.pyplot>
Die Zeichnung, die als Bild protokolliert werden soll. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
Hinweise
Verwenden Sie diese Methode, um eine Bilddatei oder ein Matplotlib-Plot für die Ausführung zu protokollieren. Diese Bilder werden im Laufdatensatz sichtbar und vergleichbar sein.
log_list
Protokollieren Sie eine Liste der Metrikwerte für die Ausführung mit dem angegebenen Namen.
log_list(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Metrik. |
value
Erforderlich
|
Die Werte der Metrik. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
log_predictions
Protokollieren Sie Vorhersagen für den Artefaktspeicher.
Dadurch wird eine Metrikbewertung protokolliert, die verwendet werden kann, um die Verteilung der tatsächlichen Zielwerte mit der Verteilung vorhergesagter Werte für eine Regressionsaufgabe zu vergleichen.
Die Vorhersagen sind binniert, und Standardabweichungen werden für Fehlerindikatoren in einem Liniendiagramm berechnet.
log_predictions(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Vorhersagen. |
value
Erforderlich
|
JSON mit Namen, Version und Dateneigenschaften. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
Hinweise
Beispiel für einen gültigen JSON-Wert:
{
"schema_type": "predictions",
"schema_version": "1.0.0",
"data": {
"bin_averages": [0.25, 0.75],
"bin_errors": [0.013, 0.042],
"bin_counts": [56, 34],
"bin_edges": [0.0, 0.5, 1.0]
}
}
log_residuals
Protokollieren Sie Reste im Artefaktspeicher.
Dadurch werden die daten protokolliert, die zum Anzeigen eines Histogramms von Resten für eine Regressionsaufgabe erforderlich sind. Die Reste werden vorhergesagt - tatsächlich.
Es sollte mindestens ein Rand als die Anzahl der Anzahlen vorhanden sein. Beispiele für die Verwendung von Anzahlen und Kanten zur Darstellung eines Histogramms finden Sie in der Numpy Histogramm-Dokumentation. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html
log_residuals(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Reste. |
value
Erforderlich
|
JSON mit Namen, Version und Dateneigenschaften. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
Hinweise
Beispiel für einen gültigen JSON-Wert:
{
"schema_type": "residuals",
"schema_version": "1.0.0",
"data": {
"bin_edges": [50, 100, 200, 300, 350],
"bin_counts": [0.88, 20, 30, 50.99]
}
}
log_row
Protokollieren Sie eine Zeilenmetrik für die Ausführung mit dem angegebenen Namen.
log_row(name, description=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Metrik. |
description
|
Eine optionale Metrikbeschreibung. Standardwert: None
|
kwargs
Erforderlich
|
Ein Wörterbuch mit zusätzlichen Parametern. In diesem Fall die Spalten der Metrik. |
Hinweise
Die Verwendung log_row
erstellt eine Tabellenmetrik mit Spalten, wie in Kwargs beschrieben. Jeder benannte Parameter generiert eine Spalte mit dem angegebenen Wert.
log_row
kann einmal aufgerufen werden, um ein beliebiges Tupel zu protokollieren, oder mehrmals in einer Schleife, um eine vollständige Tabelle zu generieren.
citrus = ['orange', 'lemon', 'lime']
sizes = [ 10, 7, 3]
for index in range(len(citrus)):
run.log_row("citrus", fruit = citrus[index], size=sizes[index])
log_table
Protokollieren Sie eine Tabellenmetrik für die Ausführung mit dem angegebenen Namen.
log_table(name, value, description='')
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der Metrik. |
value
Erforderlich
|
Der Tabellenwert der Metrik, ein Wörterbuch, in dem Schlüssel spalten sind, die an den Dienst gepostet werden sollen. |
description
Erforderlich
|
Eine optionale Metrikbeschreibung. |
register_model
Registrieren Sie ein Modell für die Operationalisierung.
register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
model_name
Erforderlich
|
Der Name des Modells. |
model_path
|
Der relative Cloudpfad zum Modell, z. B. "outputs/modelname".
Wenn nicht angegeben (None), Standardwert: None
|
tags
|
Ein Wörterbuch mit Schlüsselwerttags, das dem Modell zugewiesen werden soll. Standardwert: None
|
properties
|
Ein Wörterbuch mit Schlüsselwerteigenschaften, die dem Modell zugewiesen werden sollen. Diese Eigenschaften können nach der Modellerstellung nicht geändert werden, aber neue Schlüsselwertpaare können hinzugefügt werden. Standardwert: None
|
model_framework
|
Das Framework des zu registrierenden Modells. Derzeit unterstützte Frameworks: TensorFlow, ScikitLearn, Onnx, Custom, Multi Standardwert: None
|
model_framework_version
|
Die Frameworkversion des registrierten Modells. Standardwert: None
|
description
|
Eine optionale Beschreibung des Modells. Standardwert: None
|
datasets
|
Eine Liste von Tupeln, in denen das erste Element die Datasetmodellbeziehung und das zweite Element das Dataset beschreibt. Standardwert: None
|
sample_input_dataset
|
Wahlfrei. Beispieleingabe-Dataset für das registrierte Modell Standardwert: None
|
sample_output_dataset
|
Wahlfrei. Beispielausgabe-Dataset für das registrierte Modell Standardwert: None
|
resource_configuration
|
Wahlfrei. Ressourcenkonfiguration zum Ausführen des registrierten Modells Standardwert: None
|
kwargs
Erforderlich
|
Optionale Parameter. |
Gibt zurück
Typ | Beschreibung |
---|---|
Das registrierte Modell. |
Hinweise
model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')
remove_tags
Löschen Sie die Liste der veränderbaren Tags bei dieser Ausführung.
remove_tags(tags)
Parameter
Name | Beschreibung |
---|---|
tags
Erforderlich
|
Eine Liste der zu entfernenden Tags. |
Gibt zurück
Typ | Beschreibung |
---|---|
Die tags, die im Run-Objekt gespeichert sind |
restore_snapshot
Stellen Sie eine Momentaufnahme als ZIP-Datei wieder her. Gibt den Pfad zur ZIP-Datei zurück.
restore_snapshot(snapshot_id=None, path=None)
Parameter
Name | Beschreibung |
---|---|
snapshot_id
|
Die momentaufnahme-ID, die wiederhergestellt werden soll. Die neueste wird verwendet, wenn sie nicht angegeben ist. Standardwert: None
|
path
|
Der Pfad, in dem die heruntergeladene ZIP-Datei gespeichert wird. Standardwert: None
|
Gibt zurück
Typ | Beschreibung |
---|---|
Der Pfad. |
set_tags
Hinzufügen oder Ändern einer Gruppe von Tags bei der Ausführung. Tags, die nicht im Wörterbuch übergeben werden, bleiben unberührt.
Sie können auch einfache Zeichenfolgentags hinzufügen. Wenn diese Tags im Tagwörterbuch als Schlüssel angezeigt werden, weisen sie den Wert "None" auf. Weitere Informationen finden Sie unter Tag und Finden von Ausführungen.
set_tags(tags)
Parameter
Name | Beschreibung |
---|---|
tags
Erforderlich
|
Die im Run-Objekt gespeicherten Tags. |
start
Markieren Sie die Ausführung als gestartet.
Dies wird in der Regel in erweiterten Szenarien verwendet, wenn die Ausführung von einem anderen Akteur erstellt wurde.
start()
submit_child
Senden Sie ein Experiment, und geben Sie die aktive untergeordnete Ausführung zurück.
submit_child(config, tags=None, **kwargs)
Parameter
Name | Beschreibung |
---|---|
config
Erforderlich
|
Die zu übermittelnde Konfiguration. |
tags
|
Tags, die der übermittelten Ausführung hinzugefügt werden sollen, z. B. {"tag": "value"}. Standardwert: None
|
kwargs
Erforderlich
|
Zusätzliche Parameter, die in der Submit-Funktion für Konfigurationen verwendet werden. |
Gibt zurück
Typ | Beschreibung |
---|---|
Ein Run-Objekt. |
Hinweise
Submit ist ein asynchroner Aufruf der Azure Machine Learning-Plattform, um eine Testversion auf lokaler oder Remotehardware auszuführen. Abhängig von der Konfiguration bereitet absenden ihre Ausführungsumgebungen automatisch vor, führen Den Code aus, erfassen Den Quellcode und Ergebnisse im Ausführungsverlauf des Experiments.
Um ein Experiment zu übermitteln, müssen Sie zuerst ein Konfigurationsobjekt erstellen, das beschreibt, wie das Experiment ausgeführt werden soll. Die Konfiguration hängt von der Art der erforderlichen Testversion ab.
Ein Beispiel für das Übermitteln eines untergeordneten Experiments von Ihrem lokalen Computer ist ScriptRunConfig wie folgt:
from azureml.core import ScriptRunConfig
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = parent_run.submit_child(config)
# get the url to view the progress of the experiment and then wait
# until the trial is complete
print(run.get_portal_url())
run.wait_for_completion()
Ausführliche Informationen zum Konfigurieren einer Ausführung finden Sie unter submit.
tag
Markieren Sie die Ausführung mit einem Zeichenfolgenschlüssel und einem optionalen Zeichenfolgenwert.
tag(key, value=None)
Parameter
Name | Beschreibung |
---|---|
key
Erforderlich
|
Die Tagtaste |
value
|
Ein optionaler Wert für das Tag Standardwert: None
|
Hinweise
Tags und Eigenschaften für eine Ausführung sind beide Wörterbücher von Zeichenfolge -> Zeichenfolge. Der Unterschied zwischen ihnen ist die Veränderbarkeit: Tags können festgelegt, aktualisiert und gelöscht werden, während Eigenschaften nur hinzugefügt werden können. Dies macht Eigenschaften für System-/Workflow-bezogene Verhaltensauslöser besser geeignet, während Tags im Allgemeinen für die Benutzer des Experiments benutzerbezogen und aussagekräftig sind.
run = experiment.start_logging()
run.tag('DeploymentCandidate')
run.tag('modifiedBy', 'Master CI')
run.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not
tags = run.get_tags()
# tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }
take_snapshot
Speichern Sie eine Momentaufnahme der Eingabedatei oder des Ordners.
take_snapshot(file_or_folder_path)
Parameter
Name | Beschreibung |
---|---|
file_or_folder_path
Erforderlich
|
Die Datei oder der Ordner, die den Ausführungsquellcode enthält. |
Gibt zurück
Typ | Beschreibung |
---|---|
Gibt die Momentaufnahme-ID zurück. |
Hinweise
Momentaufnahmen sollen der Quellcode sein, der zum Ausführen der Experimentausführung verwendet wird. Diese werden mit der Ausführung gespeichert, sodass die Testphase in Zukunft repliziert werden kann.
Hinweis
Momentaufnahmen werden automatisch beim Aufrufen erstellt submit . In der Regel ist die take_snapshot-Methode nur für interaktive Ausführung (Notizbuch) erforderlich.
upload_file
Laden Sie eine Datei in den Ausführungsdatensatz hoch.
upload_file(name, path_or_stream, datastore_name=None)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name der hochzuladenden Datei. |
path_or_stream
Erforderlich
|
Der relative lokale Pfad oder Datenstrom zur Datei, die hochgeladen werden soll. |
datastore_name
Erforderlich
|
Optionaler Name des Datenspeichers |
Gibt zurück
Typ | Beschreibung |
---|---|
Hinweise
run = experiment.start_logging()
run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")
Hinweis
Führt die Automatische Erfassungsdatei im angegebenen Ausgabeverzeichnis aus, die standardmäßig für die meisten Ausführungstypen auf "./outputs" festgelegt ist. Verwenden Sie upload_file nur, wenn zusätzliche Dateien hochgeladen werden müssen oder kein Ausgabeverzeichnis angegeben ist.
upload_files
Laden Sie Dateien in den Ausgeführten Datensatz hoch.
upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)
Parameter
Name | Beschreibung |
---|---|
names
Erforderlich
|
Die Namen der hochzuladenden Dateien. Bei Festlegung müssen auch Pfade festgelegt werden. |
paths
Erforderlich
|
Die relativen lokalen Pfade zu den hochzuladenden Dateien. Wenn festgelegt, sind Namen erforderlich. |
return_artifacts
Erforderlich
|
Gibt an, dass ein Artefaktobjekt für jede hochgeladene Datei zurückgegeben werden soll. |
timeout_seconds
Erforderlich
|
Das Timeout für das Hochladen von Dateien. |
datastore_name
Erforderlich
|
Optionaler Name des Datenspeichers |
Hinweise
upload_files
hat den gleichen Effekt wie upload_file
bei separaten Dateien, es gibt jedoch Leistungs- und Ressourcennutzungsvorteile bei der Verwendung upload_files
.
import os
run = experiment.start_logging()
file_name_1 = 'important_file_1'
file_name_2 = 'important_file_2'
run.upload_files(names=[file_name_1, file_name_2],
paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])
run.download_file(file_name_1, 'file_1.txt')
os.mkdir("path") # The path must exist
run.download_file(file_name_2, 'path/file_2.txt')
Hinweis
Führt automatisch Dateien im angegebenen Ausgabeverzeichnis aus, die für die meisten Ausführungstypen standardmäßig auf "./outputs" festgelegt sind. Verwenden Sie upload_files nur, wenn zusätzliche Dateien hochgeladen werden müssen oder kein Ausgabeverzeichnis angegeben ist.
upload_folder
Laden Sie den angegebenen Ordner in den angegebenen Präfixnamen hoch.
upload_folder(name, path, datastore_name=None)
Parameter
Name | Beschreibung |
---|---|
name
Erforderlich
|
Der Name des Ordners der hochzuladenden Dateien. |
folder
Erforderlich
|
Der relative lokale Pfad zum Ordner, der hochgeladen werden soll. |
datastore_name
Erforderlich
|
Optionaler Name des Datenspeichers |
Hinweise
run = experiment.start_logging()
run.upload_folder(name='important_files', path='path/on/disk')
run.download_file('important_files/existing_file.txt', 'local_file.txt')
Hinweis
Führt automatisch Dateien im angegebenen Ausgabeverzeichnis aus, die für die meisten Ausführungstypen standardmäßig auf "./outputs" festgelegt sind. Verwenden Sie upload_folder nur, wenn zusätzliche Dateien hochgeladen werden müssen oder kein Ausgabeverzeichnis angegeben ist.
wait_for_completion
Warten Sie auf den Abschluss dieser Ausführung. Gibt das Statusobjekt nach der Wartezeit zurück.
wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)
Parameter
Name | Beschreibung |
---|---|
show_output
|
Gibt an, ob die Ausführungsausgabe auf sys.stdout angezeigt werden soll. Standardwert: False
|
wait_post_processing
|
Gibt an, ob nach Abschluss der Ausführung auf die Nachbearbeitung gewartet werden soll. Standardwert: False
|
raise_on_error
|
Gibt an, ob ein Fehler ausgelöst wird, wenn sich die Ausführung in einem fehlgeschlagenen Zustand befindet. Standardwert: True
|
Gibt zurück
Typ | Beschreibung |
---|---|
Das Statusobjekt. |
Attribute
description
Geben Sie die Beschreibung der Ausführung zurück.
Die optionale Beschreibung der Ausführung ist eine vom Benutzer angegebene Zeichenfolge, die für die Beschreibung einer Ausführung hilfreich ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Die Beschreibung der Ausführung. |
display_name
Gibt den Anzeigenamen der Ausführung zurück.
Der optionale Anzeigename der Ausführung ist eine vom Benutzer angegebene Zeichenfolge, die für die spätere Identifizierung der Ausführung nützlich ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Der Anzeigename der Ausführung. |
experiment
Abrufen des Experiments, das die Ausführung enthält.
Gibt zurück
Typ | Beschreibung |
---|---|
Ruft das Experiment ab, das der Ausführung entspricht. |
id
Get run ID.
Die ID der Ausführung ist ein Bezeichner, der für das enthaltende Experiment eindeutig ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Die Ausführungs-ID. |
name
VERALTET. Verwenden Sie display_name.
Der optionale Name der Ausführung ist eine vom Benutzer angegebene Zeichenfolge, die für die spätere Identifizierung der Ausführung nützlich ist.
Gibt zurück
Typ | Beschreibung |
---|---|
Die Ausführungs-ID. |
number
Get run number.
Eine monoton steigende Zahl, die die Reihenfolge der Läufe innerhalb eines Experiments darstellt.
Gibt zurück
Typ | Beschreibung |
---|---|
Die Ausführungsnummer. |
parent
Rufen Sie die übergeordnete Ausführung für diese Ausführung aus dem Dienst ab.
"Runs" kann über ein optionales übergeordnetes Element verfügen, was zu einer potenziellen Strukturhierarchie von Läufen führt. Verwenden Sie die log Methode des übergeordneten Objekts, z run.parent.log()
. B. zum Protokollieren von Metriken bei einer übergeordneten Ausführung.
Gibt zurück
Typ | Beschreibung |
---|---|
Der übergeordnete Befehl wird ausgeführt, oder Keine, wenn kein Wert festgelegt ist. |
properties
Gibt die unveränderlichen Eigenschaften dieser Ausführung zurück.
Gibt zurück
Typ | Beschreibung |
---|---|
Die lokal zwischengespeicherten Eigenschaften der Ausführung. |
Hinweise
Zu den Eigenschaften gehören unveränderliche vom System generierte Informationen wie Dauer, Ausführungsdatum, Benutzer usw.
status
Gibt den Status des Ausführungsobjekts zurück.
tags
Gibt die Gruppe von veränderbaren Tags für diese Ausführung zurück.
Gibt zurück
Typ | Beschreibung |
---|---|
Die tags, die im Run-Objekt gespeichert sind. |
type
Get run type.
Gibt an, wie die Ausführung erstellt oder konfiguriert wurde.
Gibt zurück
Typ | Beschreibung |
---|---|
Der Ausführungstyp. |