AzureBatchStep Klasse

Erstellt einen Azure ML-Pipelineschritt zum Übermitteln von Aufträgen an Azure Batch.

Hinweis: Dieser Schritt unterstützt nicht das Hoch-/Herunterladen von Verzeichnissen und deren Inhalt.

Ein Beispiel für die Verwendung von AzureBatchStep finden Sie im Notebook https://aka.ms/pl-azbatch.

Erstellen Sie einen Azure ML-Pipelineschritt zum Übermitteln von Aufträgen an Azure Batch.

Vererbung
azureml.pipeline.core._azurebatch_step_base._AzureBatchStepBase
AzureBatchStep

Konstruktor

AzureBatchStep(name, create_pool=False, pool_id=None, delete_batch_job_after_finish=True, delete_batch_pool_after_finish=False, is_positive_exit_code_failure=True, vm_image_urn='urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter', run_task_as_admin=False, target_compute_nodes=1, vm_size='standard_d1_v2', source_directory=None, executable=None, arguments=None, inputs=None, outputs=None, allow_reuse=True, compute_target=None, version=None)

Parameter

name
str
Erforderlich

[Erforderlich] Der Name des Schritts.

create_pool
bool
Standardwert: False

Gibt an, ob der Pool vor der Ausführung der Aufträge erstellt werden soll.

pool_id
str
Standardwert: None

[Erforderlich] Die ID des Pools, in dem der Auftrag ausgeführt wird. Die ID kann ein vorhandener Pool oder ein Pool sein, der beim Übermitteln des Auftrags erstellt wird.

delete_batch_job_after_finish
bool
Standardwert: True

Gibt an, ob der Auftrag nach seinem Abschluss aus dem Batch-Konto gelöscht werden soll.

delete_batch_pool_after_finish
bool
Standardwert: False

Gibt an, ob der Pool nach Abschluss des Auftrags gelöscht werden soll.

is_positive_exit_code_failure
bool
Standardwert: True

Gibt an, ob der Auftrag fehlschlägt, wenn die Aufgabe mit einem positiven Code vorhanden ist.

vm_image_urn
str
Standardwert: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter

Wenn „true“ für create_pool angegeben ist und der virtuelle Computer VirtualMachineConfiguration verwendet. Wertformat: urn:publisher:offer:sku. Beispiel: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
Standardwert: False

Gibt an, ob die Aufgabe mit Administratorrechten ausgeführt werden soll.

target_compute_nodes
int
Standardwert: 1

Gibt an, wie viele Serverknoten dem Pool hinzugefügt werden, wenn create_pool „true“ ist.

vm_size
str
Standardwert: standard_d1_v2

Gibt die VM-Größe von Serverknoten an, wenn create_pool „true“ ist.

source_directory
str
Standardwert: None

Ein lokaler Ordner, der die Binärdateien des Moduls, die ausführbare Datei, die Assemblys usw. enthält.

executable
str
Standardwert: None

[Erforderlich] Der Name des Befehls/der ausführbaren Datei, der/die als Teil dieses Auftrags ausgeführt wird.

arguments
str
Standardwert: None

Argumente für den Befehl/die ausführbare Datei.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Standardwert: None

Eine Liste mit Eingabeportbindungen. Bevor der Auftrag ausgeführt wird, wird für jede Eingabe ein Ordner erstellt. Die Dateien für jede Eingabe werden aus dem Speicher in den entsprechenden Ordner auf dem Computeknoten kopiert. Wenn der Eingabename beispielsweise input1 lautet und der relative Pfad im Speicher beliebiger/relativer/pfad/der/sehr/lang/sein/kann/inputfile.txt ist, ist der Dateipfad auf der Computeressource ./input1/inputfile.txt. Wenn der Eingabename länger als 32 Zeichen ist, wird er abgeschnitten und mit einem eindeutigen Suffix versehen, damit der Ordnername erfolgreich auf dem Computeziel erstellt werden kann.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Standardwert: None

Eine Liste mit Ausgabeportbindungen. Ähnlich wie bei Eingaben wird vor der Auftragsausführung für jede Ausgabe ein Ordner erstellt. Der Ordnername ist mit dem Ausgabenamen identisch. Es wird davon ausgegangen, dass der Auftrag die Ausgabe in diesem Ordner platziert.

allow_reuse
bool
Standardwert: True

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.

compute_target
BatchCompute, str
Standardwert: None

[Erforderlich] Eine BatchCompute-Computeressource, auf der der Auftrag ausgeführt wird.

version
str
Standardwert: None

Ein optionales Versionstag, um eine Änderung der Funktionalität für das Modul zu kennzeichnen.

name
str
Erforderlich

[Erforderlich] Der Name des Schritts.

create_pool
bool
Erforderlich

Gibt an, ob der Pool vor der Ausführung der Aufträge erstellt werden soll.

pool_id
str
Erforderlich

[Erforderlich] Die ID des Pools, in dem der Auftrag ausgeführt wird. Die ID kann ein vorhandener Pool oder ein Pool sein, der beim Übermitteln des Auftrags erstellt wird.

delete_batch_job_after_finish
bool
Erforderlich

Gibt an, ob der Auftrag nach seinem Abschluss aus dem Batch-Konto gelöscht werden soll.

delete_batch_pool_after_finish
bool
Erforderlich

Gibt an, ob der Pool nach Abschluss des Auftrags gelöscht werden soll.

is_positive_exit_code_failure
bool
Erforderlich

Gibt an, ob der Auftrag fehlschlägt, wenn die Aufgabe mit einem positiven Code vorhanden ist.

vm_image_urn
str
Erforderlich

Wenn „true“ für create_pool angegeben ist und der virtuelle Computer VirtualMachineConfiguration verwendet. Wertformat: urn:publisher:offer:sku. Beispiel: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter.

run_task_as_admin
bool
Erforderlich

Gibt an, ob die Aufgabe mit Administratorrechten ausgeführt werden soll.

target_compute_nodes
int
Erforderlich

Gibt an, wie viele Serverknoten dem Pool hinzugefügt werden, wenn create_pool „true“ ist.

vm_size
str
Erforderlich

Wenn create_pool True ist, gibt die Größe des virtuellen Computers der Computeknoten an.

source_directory
str
Erforderlich

Ein lokaler Ordner, der die Modulbinärdateien, ausführbare Dateien, Assemblys usw. enthält.

executable
str
Erforderlich

[Erforderlich] Der Name des Befehls/der ausführbaren Datei, der/die als Teil dieses Auftrags ausgeführt wird.

arguments
list
Erforderlich

Argumente für den Befehl/die ausführbare Datei.

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData]]
Erforderlich

Eine Liste mit Eingabeportbindungen. Bevor der Auftrag ausgeführt wird, wird für jede Eingabe ein Ordner erstellt. Die Dateien für jede Eingabe werden aus dem Speicher in den entsprechenden Ordner auf dem Computeknoten kopiert. Wenn der Eingabename beispielsweise input1 lautet und der relative Pfad im Speicher beliebiger/relativer/pfad/der/sehr/lang/sein/kann/inputfile.txt ist, ist der Dateipfad auf der Computeressource ./input1/inputfile.txt. Falls der Eingabename länger als 32 Zeichen ist, wird er abgeschnitten und mit einem eindeutigen Suffix angefügt, sodass der Ordnername erfolgreich auf der Compute-Instanz erstellt werden kann.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Erforderlich

Eine Liste mit Ausgabeportbindungen. Ähnlich wie bei Eingaben wird vor der Auftragsausführung für jede Ausgabe ein Ordner erstellt. Der Ordnername ist mit dem Ausgabenamen identisch. Es wird davon ausgegangen, dass der Auftrag die Ausgabe in diesem Ordner enthält.

allow_reuse
bool
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.

compute_target
BatchCompute, str
Erforderlich

[Erforderlich] Eine BatchCompute-Computeressource, auf der der Auftrag ausgeführt wird.

version
str
Erforderlich

Ein optionales Versionstag, um eine Änderung der Funktionalität für das Modul zu kennzeichnen.

Hinweise

Das folgende Beispiel zeigt die Verwendung von AzureBatchStep in einer Azure Machine Learning-Pipeline.


   step = AzureBatchStep(
               name="Azure Batch Job",
               pool_id="MyPoolName", # Replace this with the pool name of your choice
               inputs=[testdata],
               outputs=[outputdata],
               executable="azurebatch.cmd",
               arguments=[testdata, outputdata],
               compute_target=batch_compute,
               source_directory=binaries_folder,
   )

Das vollständige Beispiel finden Sie unter https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-how-to-use-azurebatch-to-run-a-windows-executable.ipynb.

Methoden

create_node

Erstellen Sie einen Knoten aus dem AzureBatch-Schritt, 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 aus dem AzureBatch-Schritt, 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

graph
Graph
Erforderlich

Das Graphobjekt, dem der Knoten hinzugefügt werden soll.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Erforderlich

Der Standarddatenspeicher.

context
<xref:azureml.pipeline.core._GraphContext>
Erforderlich

Der Graphkontext.

Gibt zurück

Der erstellte Knoten.

Rückgabetyp