CommandStep Klasse
Erstellen Sie einen Azure ML-Pipelineschritt, in dem ein Befehl ausgeführt wird.
Erstellen Sie einen Azure ML-Pipelineschritt, in dem ein Befehl ausgeführt wird.
- Vererbung
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
Konstruktor
CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)
Parameter
Name | Beschreibung |
---|---|
command
|
Der auszuführende Befehl oder Pfad der ausführbaren Datei bzw. des Skripts relativ zu Standardwert: None
|
name
|
Der Name des Schritts. Wenn keine Angabe erfolgt, wird das erste Wort im Standardwert: None
|
compute_target
|
Das zu verwendende Computeziel. Wenn keine Angabe erfolgt, wird das Ziel aus Standardwert: None
|
runconfig
|
Das optionale Konfigurationsobjekt, das die Informationen kapselt, die zum Übermitteln eines Trainingslaufs in einem Experiment erforderlich sind. Standardwert: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
Überschreibt runconfig-Eigenschaften zur Laufzeit unter Verwendung von Schlüssel-Wert-Paaren mit jeweils dem Namen der runconfig-Eigenschaft und dem Pipelineparameter für diese Eigenschaft. Unterstützte Werte: „NodeCount“, „MpiProcessCountPerNode“, „TensorflowWorkerCount“, „TensorflowParameterServerCount“ Standardwert: None
|
inputs
|
list[InputPortBinding oder
DataReference oder
PortDataReference oder
PipelineData oder
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> oder
DatasetConsumptionConfig]
Eine Liste mit Eingabeportbindungen. Standardwert: None
|
outputs
|
list[PipelineData oder
OutputDatasetConfig oder
PipelineOutputAbstractDataset oder
OutputPortBinding]
Eine Liste mit Ausgabeportbindungen. Standardwert: None
|
params
|
Ein Wörterbuch mit Name-Wert-Paaren, die als Umgebungsvariablen mit „AML_PARAMETER_“ registriert sind. Standardwert: None
|
source_directory
|
Ein Ordner, der Skripts, Conda env und andere Ressourcen enthält, die in diesem Schritt verwendet werden. Standardwert: None
|
allow_reuse
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn der Schrittinhalt (Skripts/Abhängigkeiten) sowie die Eingaben und Parameter unverändert bleiben, wird die Ausgabe der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, anstatt den Auftrag zum Berechnen zu übermitteln, werden die Ergebnisse der vorherigen Ausführung sofort für alle nachfolgenden Schritte verfügbar gemacht. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat. Standardwert: True
|
version
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. Standardwert: None
|
command
Erforderlich
|
Der auszuführende Befehl oder Pfad der ausführbaren Datei bzw. des Skripts relativ zu |
name
Erforderlich
|
Der Name des Schritts. Wenn keine Angabe erfolgt, wird das erste Wort im |
compute_target
Erforderlich
|
Das zu verwendende Computeziel. Wenn keine Angabe erfolgt, wird das Ziel aus |
runconfig
Erforderlich
|
Das optionale Konfigurationsobjekt, das die Informationen kapselt, die zum Übermitteln eines Trainingslaufs in einem Experiment erforderlich sind. |
runconfig_pipeline_params
Erforderlich
|
<xref:<xref:{str: PipelineParameter}>>
Überschreibt runconfig-Eigenschaften zur Laufzeit unter Verwendung von Schlüssel-Wert-Paaren mit jeweils dem Namen der runconfig-Eigenschaft und dem Pipelineparameter für diese Eigenschaft. Unterstützte Werte: „NodeCount“, „MpiProcessCountPerNode“, „TensorflowWorkerCount“, „TensorflowParameterServerCount“ |
inputs
Erforderlich
|
list[InputPortBinding oder
DataReference oder
PortDataReference oder
PipelineData oder
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> oder
DatasetConsumptionConfig]
Eine Liste mit Eingabeportbindungen. |
outputs
Erforderlich
|
list[PipelineData oder
OutputDatasetConfig oder
PipelineOutputAbstractDataset oder
OutputPortBinding]
Eine Liste mit Ausgabeportbindungen. |
params
Erforderlich
|
Ein Wörterbuch mit Name-Wert-Paaren, die als Umgebungsvariablen mit „AML_PARAMETER_“ registriert sind. |
source_directory
Erforderlich
|
Ein Ordner, der Skripts, Conda env und andere Ressourcen enthält, die in diesem Schritt verwendet werden. |
allow_reuse
Erforderlich
|
Gibt an, ob bei dem Schritt vorherige Ergebnisse wiederverwendet werden sollen, wenn er mit den gleichen Einstellungen erneut ausgeführt wird. Die Wiederverwendung ist standardmäßig aktiviert. Wenn der Schrittinhalt (Skripts/Abhängigkeiten) sowie die Eingaben und Parameter unverändert bleiben, wird die Ausgabe der vorherigen Ausführung dieses Schritts wiederverwendet. Wenn Sie den Schritt wiederverwenden, anstatt den Auftrag zum Berechnen zu übermitteln, werden die Ergebnisse der vorherigen Ausführung sofort für alle nachfolgenden Schritte verfügbar gemacht. Wenn Sie Azure Machine Learning-Datasets als Eingaben verwenden, hängt die Wiederverwendung nicht davon ab, ob sich die zugrunde liegenden Daten geändert haben, sondern davon, ob sich die Definition des Datasets geändert hat. |
version
Erforderlich
|
Ein optionales Versionstag, um eine Änderung der Funktionalität für den Schritt zu kennzeichnen. |
Hinweise
Ein CommandStep ist ein grundlegender integrierter Schritt zum Ausführen eines Befehls auf dem angegebenen Computeziel. Verwendet einen Befehl als Parameter oder aus anderen Parametern wie runconfig. Nimmt auch andere optionale Parameter, wie Computeziele, Eingaben und Ausgaben. Sie sollten ScriptRunConfig oder RunConfiguration verwenden, um Anforderungen für CommandStep anzugeben, z. B. ein benutzerdefiniertes Docker-Image.
Die bewährte Methode für die Arbeit mit CommandStep besteht darin, einen separaten Ordner für die ausführbare Datei oder das Skript zu verwenden, um alle abhängigen Dateien auszuführen, die dem Schritt zugeordnet sind, und diesen Ordner mit dem source_directory
-Parameter anzugeben. Das Befolgen dieser bewährten Methode bietet zwei Vorteile. Erstens kann die Größe der für den Schritt erstellten Momentaufnahme reduziert werden, da nur die für den Schritt benötigte Momentaufnahme erstellt wird.
Zweitens kann die Ausgabe des Schritts aus einer vorherigen Ausführung wiederverwendet werden, wenn keine Änderungen am source_directory
vorgenommen wurden, die einen erneuten Upload der Momentaufnahme auslösen würden.
Für die vom System bekannten Befehle ist source_directory
nicht erforderlich, aber Sie können trotzdem alle abhängigen Dateien bereitstellen, die dem Schritt zugeordnet sind.
Im folgenden Codebeispiel wird die Verwendung von CommandStep in einem Machine Learning-Trainingsszenario veranschaulicht. So listen Sie Dateien unter Linux auf
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
So führen Sie ein Python-Skript aus
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='train step',
command='python train.py arg1 arg2',
source_directory=project_folder,
compute_target=compute_target)
So führen Sie ein Python-Skript über ScriptRunConfig aus
from azureml.core import ScriptRunConfig
from azureml.pipeline.steps import CommandStep
train_src = ScriptRunConfig(source_directory=script_folder,
command='python train.py arg1 arg2',
environment=my_env)
trainStep = CommandStep(name='train step',
runconfig=train_src)
Weitere allgemeine Informationen zum Erstellen von Pipelines finden Sie unter https://aka.ms/pl-first-pipeline.
Methoden
create_node |
Erstellen Sie einen Knoten für CommandStep, und fügen Sie ihn dem angegebenen Graphen hinzu. Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt. |
create_node
Erstellen Sie einen Knoten für CommandStep, und fügen Sie ihn dem angegebenen Graphen hinzu.
Diese Methode ist nicht für die direkte Nutzung vorgesehen. Wenn eine Pipeline mit diesem Schritt instanziiert wird, werden von Azure ML automatisch die für diese Methode erforderlichen Parameter übergeben, damit der Schritt einem Pipelinegraphen hinzugefügt werden kann, der den Workflow darstellt.
create_node(graph, default_datastore, context)
Parameter
Name | Beschreibung |
---|---|
graph
Erforderlich
|
Das Graphobjekt, dem der Knoten hinzugefügt werden soll. |
default_datastore
Erforderlich
|
Der Standarddatenspeicher. |
context
Erforderlich
|
<xref:_GraphContext>
Der Graphkontext. |
Gibt zurück
Typ | Beschreibung |
---|---|
Der erstellte Knoten. |