Die in diesem Dokument beschriebene YAML-Syntax basiert auf dem JSON-Schema für die neueste Version der ML CLI v2-Erweiterung. Die Funktion dieser Syntax wird nur mit der neuesten Version der ML CLI v2-Erweiterung garantiert.
Die Schemas für ältere Erweiterungsversionen finden Sie unter https://azuremlschemasprod.azureedge.net/.
YAML-Syntax
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
$schema
Zeichenfolge
Das YAML-Schema. Wenn Sie die VS Code-Erweiterung für Azure Machine Learning zum Erstellen einer YAML-Datei verwenden, können Sie Schema- und Ressourcenvervollständigungen aufrufen, wenn Sie am Anfang ihrer Datei $schema einschließen.
type
const
Erforderlich. Typ des Auftrags.
sweep
sweep
name
Zeichenfolge
Der Name des Auftrags. Muss für alle Aufträge im Arbeitsbereich eindeutig sein. Falls nicht angegeben, generiert Azure Machine Learning automatisch eine GUID für den Namen.
display_name
Zeichenfolge
Der Anzeigename des Auftrags auf der Studio-Benutzeroberfläche. Kann innerhalb des Arbeitsbereichs nicht eindeutig sein. Falls nicht angegeben, generiert Azure Machine Learning als Anzeigename automatisch einen für Menschen lesbaren Bezeichner aus Adjektiv und Nomen.
experiment_name
Zeichenfolge
Organisieren Sie den Auftrag unter dem Namen des Experiments. Die Ausführungsaufzeichnung jedes Auftrags ist im Studio auf der Registerkarte „Experimente“ unter dem entsprechenden Experiment strukturiert. Wenn nicht angegeben, wird Azure Machine Learning standardmäßig auf den Namen des Arbeitsverzeichnisses experiment_name festgelegt, in dem der Auftrag erstellt wurde.
Erforderlich. Wörterbuch des Suchbereichs für Hyperparameter. Der Hyperparametername ist der Schlüssel, und der Wert ist der Parameterausdruck.
Hyperparameter können im trial.command Ausdruck ${{ search_space.<hyperparameter> }} referenziert werden.
search_space.<hyperparameter>
Objekt
Besuchen Sie Parameterausdrücke für die Gruppe möglicher Ausdrücke, die verwendet werden sollen.
objective.primary_metric
Zeichenfolge
Erforderlich. Der Name der primären Metrik, die von jedem Testauftrag gemeldet wird. Die Metrik muss im Schulungsskript mlflow.log_metric() des Benutzers mit demselben metrischen Namen protokolliert werden.
objective.goal
Zeichenfolge
Erforderlich. Das Optimierungsziel von objective.primary_metric.
maximize, minimize
early_termination
Objekt
Die zu verwendende Richtlinie für vorzeitige Beendigung. Ein Testauftrag wird abgebrochen, wenn die Kriterien der angegebenen Richtlinie erfüllt sind. Ohne Angabe wird keine Richtlinie für vorzeitige Beendigung angewendet. Eine von BanditPolicy, MedianStoppingPolicy oder TruncationSelectionPolicy.
Erforderlich. Name des Computeziels, für das der Auftrag ausgeführt werden soll, mit der azureml:<compute_name> Syntax.
trial
Objekt
Erforderlich. Die Auftragsvorlage für die einzelnen Testversionen. Jeder Testauftrag wird mit einer anderen Kombination von Hyperparameterwerten bereitgestellt, die von den Systembeispielen stammen search_space. Besuchen Sie Attribute des trial Schlüssels.
inputs
Objekt
Wörterbuch der Eingaben für den Auftrag. Der Schlüssel ist ein Name für die Eingabe im Kontext des Auftrags, und der Wert ist der Eingabewert.
Eingaben können im command mit dem Ausdruck ${{ inputs.<input_name> }} verwiesen werden.
inputs.<input_name>
number, integer, boolean, string oder object
Ein Literalwert (vom Typ "Number", "integer", "boolean" oder "string") oder ein Objekt, das eine Auftragseingabedatenspezifikation enthält.
outputs
Objekt
Wörterbuch der Ausgabekonfigurationen des Auftrags. Der Schlüssel ist ein Name für die Ausgabe im Kontext des Auftrags, und der Wert ist die Ausgabekonfiguration.
Ausgaben können im command mit dem Ausdruck ${{ outputs.<output_name> }} verwiesen werden.
outputs.<output_name>
Objekt
Sie können das Objekt leer lassen, und in diesem Fall ist die Ausgabe standardmäßig vom uri_folder Typ und das Azure Machine Learning-System generiert einen Ausgabespeicherort für die Ausgabe. Alle Dateien in das Ausgabeverzeichnis werden über die Bereitstellung mit Lese-/Schreibzugriff geschrieben. Um einen anderen Modus für die Ausgabe anzugeben, geben Sie ein Objekt an, das die Auftragsausgabespezifikation enthält.
identity
Objekt
Die Identität wird für den Datenzugriff verwendet. Dies kann eine Benutzeridentitätskonfiguration, eine verwaltete Identitätskonfiguration oder keine sein. Bei UserIdentityConfiguration wird die Identität des Auftragszusendes verwendet, um auf Eingabedaten zuzugreifen und Ergebnisse in den Ausgabeordner zu schreiben. Andernfalls wird die verwaltete Identität des Computeziels verwendet.
Samplingalgorithmen
RandomSamplingAlgorithm
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Der Typ des Samplingalgorithmus.
random
seed
integer
Ein zufälliger Ausgangswert, der zum Initialisieren der Zufallszahlengenerierung verwendet werden soll. Wenn dieser Wert nicht angegeben wird, ist der Standardwert null.
rule
Zeichenfolge
Der zu verwendende Typ für die zufällige Stichprobenentnahme. Die Standardeinstellung verwendet randomeinfache, einheitliche Zufallssamplings, während sobol die Sobol quasi-zufällige Sequenz verwendet wird.
random, sobol
random
GridSamplingAlgorithm
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Samplingalgorithmustyp.
grid
BayesianSamplingAlgorithm
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Samplingalgorithmustyp.
bayesian
Richtlinien zum vorzeitigen Beenden
BanditPolicy
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Den Richtlinientyp.
bandit
slack_factor
Zahl
Das Verhältnis, das zur Berechnung des zulässigen Abstands zur besten Testversion verwendet wird. Eines von slack_factor oder slack_amount ist erforderlich.
slack_amount
number
Der absolute Abstand, der von der Testversion mit der besten Leistung zulässig ist. Eines von slack_factor oder slack_amount ist erforderlich.
evaluation_interval
integer
Die Anwendungshäufigkeit der Richtlinie.
1
delay_evaluation
integer
Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll. Sofern angegeben, gilt die Richtlinie für jedes Vielfache von evaluation_interval, das größer oder gleich delay_evaluation ist.
0
MedianStoppingPolicy
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Den Richtlinientyp.
median_stopping
evaluation_interval
integer
Die Anwendungshäufigkeit der Richtlinie.
1
delay_evaluation
integer
Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll. Sofern angegeben, gilt die Richtlinie für jedes Vielfache von evaluation_interval, das größer oder gleich delay_evaluation ist.
0
TruncationSelectionPolicy
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Den Richtlinientyp.
truncation_selection
truncation_percentage
integer
Erforderlich. Der Prozentsatz der Testaufträge, die bei jedem Auswertungsintervall abgebrochen werden sollen.
evaluation_interval
integer
Die Anwendungshäufigkeit der Richtlinie.
1
delay_evaluation
integer
Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll. Sofern angegeben, gilt die Richtlinie für jedes Vielfache von evaluation_interval, das größer oder gleich delay_evaluation ist.
0
Parameterausdrücke
Option
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
choice
values
array
Erforderlich. Die Liste der diskreten Werte, aus denen Sie wählen möchten.
Randint
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
randint
upper
integer
Erforderlich. Die exklusive Obergrenze für den Bereich ganzer Zahlen.
Qlognormal, qnormal
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
qlognormal, qnormal
mu
number
Erforderlich. Der Mittelwert der Normalverteilung.
sigma
number
Erforderlich. Die Standardabweichung der Normalverteilung.
q
integer
Erforderlich. Der Glättungsfaktor.
Qloguniform, quniform
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
qloguniform, quniform
min_value
number
Erforderlich. Der Mindestwert im Bereich (einschließlich).
max_value
number
Erforderlich. Der Höchstwert im Bereich (einschließlich).
q
integer
Erforderlich. Der Glättungsfaktor.
Lognormal, normal
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
lognormal, normal
mu
number
Erforderlich. Der Mittelwert der Normalverteilung.
sigma
number
Erforderlich. Die Standardabweichung der Normalverteilung.
Loguniform
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
loguniform
min_value
Zahl
Erforderlich. Der Mindestwert im Bereich ist exp(min_value) (einschließlich).
max_value
Zahl
Erforderlich. Der Maximalwert im Bereich ist exp(max_value) (einschließlich).
Uniform
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Der Ausdruckstyp.
uniform
min_value
Zahl
Erforderlich. Der Mindestwert im Bereich (einschließlich).
max_value
number
Erforderlich. Der Höchstwert im Bereich (einschließlich).
Attribute des limits-Schlüssels
Schlüssel
type
BESCHREIBUNG
Standardwert
max_total_trials
integer
Die maximale Anzahl von Testaufträgen.
1000
max_concurrent_trials
integer
Die maximale Anzahl von Testaufträgen, die gleichzeitig ausgeführt werden können.
Wird standardmäßig auf max_total_trials festgelegt.
timeout
integer
Die maximale Zeit in Sekunden, für die der gesamte Aufräumauftrag ausgeführt werden darf. Sobald dieser Grenzwert erreicht ist, bricht das System den Aufräumauftrag ab, einschließlich aller versuche.
5184000
trial_timeout
integer
Die maximale Zeit in Sekunden, die jeder Testauftrag ausgeführt werden darf. Sobald dieser Grenzwert erreicht ist, bricht das System die Testversion ab.
Attribute des trial-Schlüssels
Schlüssel
type
BESCHREIBUNG
Standardwert
command
Zeichenfolge
Erforderlich. Den auszuführenden Befehl.
code
Zeichenfolge
Lokaler Pfad zum Quellcodeverzeichnis, das hochgeladen und für den Auftrag verwendet werden soll.
environment
Zeichenfolge oder Objekt
Erforderlich. Die Umgebung, die für den Auftrag verwendet werden soll. Dieser Wert kann entweder ein Verweis auf eine vorhandene versionierte Umgebung im Arbeitsbereich oder eine Inline-Umgebungsspezifikation sein.
Verwenden Sie die Syntax azureml:<environment-name>:<environment-version>, um auf eine vorhandene Umgebung zu verweisen.
Um eine Umgebung inline zu definieren, folgen Sie dem Umgebungsschema. Schließen Sie die name Eigenschaften aus version , da inlineumgebungen sie nicht unterstützen.
environment_variables
Objekt
Wörterbuch der Name-Wert-Paare von Umgebungsvariablen, die für den Prozess festgelegt werden, in dem der Befehl ausgeführt wird.
Die Anzahl von Knoten, die für den Auftrag verwendet werden sollen.
1
Verteilungskonfigurationen
MpiConfiguration
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Verteilungstyp.
mpi
process_count_per_instance
integer
Erforderlich. Die Anzahl der Prozesse pro Knoten, die für den Auftrag gestartet werden sollen
PyTorchConfiguration
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Verteilungstyp.
pytorch
process_count_per_instance
integer
Die Anzahl der Prozesse pro Knoten, die für den Auftrag gestartet werden sollen
1
TensorFlowConfiguration
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
const
Erforderlich. Verteilungstyp.
tensorflow
worker_count
integer
Die Anzahl von Workerrollen, die für den Auftrag gestartet werden.
Wird standardmäßig auf resources.instance_count festgelegt.
parameter_server_count
integer
Die Anzahl von Parameterservern, die für den Auftrag gestartet werden.
0
Auftragseingaben
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
Zeichenfolge
Der Typ der Auftragseingabe. Geben Sie für Eingabedaten, die auf eine einzelne Dateiquelle verweisen, uri_file und für Eingabedaten, die auf eine Ordnerquelle verweisen, uri_folder an. Weitere Informationen finden Sie unter "Weitere Informationen zum Datenzugriff".
uri_file, , uri_foldermltablemlflow_model
uri_folder
path
Zeichenfolge
Der Pfad zu den Daten, die als Eingabe verwendet werden sollen. Dieser Wert kann auf verschiedene Arten angegeben werden:
- Ein lokaler Pfad zur Datenquellendatei oder zum Datenquellenordner, z.B. path: ./iris.csv. Die Daten werden während der Auftragsübermittlung hochgeladen.
- Ein URI eines Cloudpfads zur Datei oder zum Ordner, die bzw. der als Eingabe verwendet werden soll. Unterstützte URI-Typen sind azureml, https, wasbs, abfss und adl. Weitere Informationen zur Verwendung des azureml:// URI-Formats finden Sie unter Core yaml-Syntax.
– Ein vorhandenes registriertes Azure Machine Learning-Datenobjekt, das als Eingabe verwendet werden soll. Um auf eine registrierte Datenressource zu verweisen, verwenden Sie die azureml:<data_name>:<data_version> Syntax oder azureml:<data_name>@latest (um auf die neueste Version dieses Datenobjekts zu verweisen), z path: azureml:cifar10-data:1 . B. oder path: azureml:cifar10-data@latest.
mode
Zeichenfolge
Modus, in dem die Daten an das Computeziel übermittelt werden sollen.
Für die schreibgeschützte Bereitstellung (ro_mount) werden die Daten als Bereitstellungspfad verwendet. Ein Ordner wird als Ordner bereitgestellt, und eine Datei wird als Datei bereitgestellt. Azure Machine Learning löst die Eingabe in den Bereitstellungspfad auf.
Für download den Modus werden die Daten in das Computeziel heruntergeladen. Azure Machine Learning löst die Eingabe in den heruntergeladenen Pfad auf.
Verwenden Sie den Modus, um nur die URL des Speicherorts des Datenartefaktes oder der Artefakte zu installieren direct oder herunterzuladen. Dies übergibt die URL des Speicherorts als Auftragseingabe. In diesem Fall sind Sie vollständig für die Handhabung der Anmeldeinformationen für den Zugriff auf den Speicher verantwortlich.
ro_mount, downloaddirect
ro_mount
Auftragsausgaben
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
Standardwert
type
Zeichenfolge
Der Auftragsausgabetyp. Für den Standardtyp uri_folder entspricht die Ausgabe einem Ordner.
uri_file, , uri_foldermltablemlflow_model
uri_folder
mode
Zeichenfolge
Modus der Übermittlung der Ausgabedatei oder -dateien an den Zielspeicher. Für den Bereitstellungsmodus mit Lese-/Schreibzugriff (rw_mount) ist das Ausgabeverzeichnis ein bereitgestelltes Verzeichnis. Für den Uploadmodus werden alle geschriebenen Dateien am Ende des Auftrags hochgeladen.
rw_mount, upload
rw_mount
Identitätskonfigurationen
UserIdentityConfiguration
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Identitätstyp
user_identity
ManagedIdentityConfiguration
Schlüssel
type
BESCHREIBUNG
Zulässige Werte
type
const
Erforderlich. Identitätstyp
managed oder managed_identity
Hinweise
Sie können den az ml job Befehl zum Verwalten von Azure Machine Learning-Aufträgen verwenden.
Beispiele
Beispiele finden Sie im GitHub-Repository . Hier sind mehrere aufgeführt: