Freigeben über


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 Beschreibung
name
Erforderlich
str

[Erforderlich] Der Name des Schritts.

create_pool

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

Standardwert: False
pool_id
str

[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.

Standardwert: None
delete_batch_job_after_finish

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

Standardwert: True
delete_batch_pool_after_finish

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

Standardwert: False
is_positive_exit_code_failure

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

Standardwert: True
vm_image_urn
str

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.

Standardwert: urn:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter
run_task_as_admin

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

Standardwert: False
target_compute_nodes
int

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

Standardwert: 1
vm_size
str

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

Standardwert: standard_d1_v2
source_directory
str

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

Standardwert: None
executable
str

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

Standardwert: None
arguments
str

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

Standardwert: None
inputs

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.

Standardwert: None
outputs

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.

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
compute_target

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

Standardwert: None
version
str

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

Standardwert: None
name
Erforderlich
str

[Erforderlich] Der Name des Schritts.

create_pool
Erforderlich

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

pool_id
Erforderlich
str

[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
Erforderlich

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

delete_batch_pool_after_finish
Erforderlich

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

is_positive_exit_code_failure
Erforderlich

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

vm_image_urn
Erforderlich
str

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
Erforderlich

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

target_compute_nodes
Erforderlich
int

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

vm_size
Erforderlich
str

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

source_directory
Erforderlich
str

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

executable
Erforderlich
str

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

arguments
Erforderlich

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

inputs
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
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
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
Erforderlich

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

version
Erforderlich
str

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

Name Beschreibung
graph
Erforderlich

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

default_datastore
Erforderlich

Der Standarddatenspeicher.

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

Der Graphkontext.

Gibt zurück

Typ Beschreibung

Der erstellte Knoten.