Condividi tramite


ParallelRunStep Classe

Crea un passaggio della pipeline di Azure Machine Learning per elaborare grandi quantità di dati in modo asincrono e in parallelo.

Per un esempio di uso di ParallelRunStep, vedere il notebook https://aka.ms/batch-inference-notebooks.

Per la guida alla risoluzione dei problemi, vedere https://aka.ms/prstsg. È possibile trovare altri riferimenti in questa posizione.

Creare un passaggio della pipeline di Azure ML per elaborare grandi quantità di dati in modo asincrono e in parallelo.

Per un esempio di uso di ParallelRunStep, vedere il collegamento https://aka.ms/batch-inference-notebooksdel notebook .

Ereditarietà
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Costruttore

ParallelRunStep(name, parallel_run_config, inputs, output=None, side_inputs=None, arguments=None, allow_reuse=True)

Parametri

Nome Descrizione
name
Necessario
str

Nome del passaggio. Deve essere univoco per l'area di lavoro, costituito solo da lettere minuscole, numeri o trattini, iniziare con una lettera e avere una lunghezza compresa tra 3 e 32 caratteri.

parallel_run_config
Necessario

Oggetto ParallelRunConfig utilizzato per determinare le proprietà di esecuzione necessarie.

inputs
Necessario

Elenco di set di dati di input. Tutti i set di dati nell'elenco devono essere dello stesso tipo. I dati di input verranno partizionati per l'elaborazione parallela. Ogni set di dati nell'elenco viene partizionato in mini batch separatamente e ognuno dei mini batch viene trattato equamente nell'elaborazione parallela.

output

L'associazione di porte di output può essere usata dai passaggi successivi della pipeline.

Valore predefinito: None
side_inputs

Elenco di dati di riferimento di input sul lato. Gli input laterali non verranno partizionati come dati di input.

Valore predefinito: None
arguments

Elenco di argomenti della riga di comando da passare al entry_script Python.

Valore predefinito: None
allow_reuse

indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito con le stesse impostazioni o gli stessi input. Se è false, durante l'esecuzione della pipeline verrà sempre generata una nuova esecuzione.

Valore predefinito: True
name
Necessario
str

Nome del passaggio. Deve essere univoco per l'area di lavoro, costituito solo da lettere minuscole, numeri o trattini, iniziare con una lettera e avere una lunghezza compresa tra 3 e 32 caratteri.

parallel_run_config
Necessario

Oggetto ParallelRunConfig utilizzato per determinare le proprietà di esecuzione necessarie.

inputs
Necessario

Elenco di set di dati di input. Tutti i set di dati nell'elenco devono essere dello stesso tipo. I dati di input verranno partizionati per l'elaborazione parallela. Ogni set di dati nell'elenco viene partizionato in mini batch separatamente e ognuno dei mini batch viene trattato equamente nell'elaborazione parallela.

output
Necessario

L'associazione di porte di output può essere usata dai passaggi successivi della pipeline.

side_inputs
Necessario

Elenco di dati di riferimento di input sul lato. Gli input laterali non verranno partizionati come dati di input.

arguments
Necessario

Elenco di argomenti della riga di comando da passare al entry_script Python.

allow_reuse
Necessario

indica se il passaggio deve riutilizzare i risultati precedenti quando viene eseguito con le stesse impostazioni o gli stessi input. Se è false, durante l'esecuzione della pipeline verrà sempre generata una nuova esecuzione.

Commenti

ParallelRunStep può essere usato per elaborare grandi quantità di dati in parallelo. I casi d'uso comuni sono il training di un modello ML o l'esecuzione dell'inferenza offline per generare stime in un batch di osservazioni. ParallelRunStep funziona suddividendo i dati in batch elaborati in parallelo. Il numero di nodi di dimensioni batch e altri parametri ottimizzabili per velocizzare l'elaborazione parallela possono essere controllati con la ParallelRunConfig classe . ParallelRunStep può funzionare con TabularDataset o FileDataset come input.

Per usare ParallelRunStep:

  • Creare un ParallelRunConfig oggetto per specificare la modalità di esecuzione dell'elaborazione batch, con parametri per controllare le dimensioni del batch, il numero di nodi per ogni destinazione di calcolo e un riferimento allo script Python personalizzato.

  • Creare un oggetto ParallelRunStep che usa l'oggetto ParallelRunConfig, quindi definire input e output per il passaggio.

  • Usare l'oggetto ParallelRunStep configurato in un Pipeline oggetto esattamente come si farebbe con altri tipi di passaggi della pipeline.

Gli esempi di utilizzo delle classi ParallelRunStep e ParallelRunConfig per l'inferenza batch sono illustrati negli articoli seguenti:


   from azureml.pipeline.steps import ParallelRunStep, ParallelRunConfig

   parallel_run_config = ParallelRunConfig(
       source_directory=scripts_folder,
       entry_script=script_file,
       mini_batch_size="5",
       error_threshold=10,         # Optional, allowed failed count on mini batch items
       allowed_failed_count=15,    # Optional, allowed failed count on mini batches
       allowed_failed_percent=10,  # Optional, allowed failed percent on mini batches
       output_action="append_row",
       environment=batch_env,
       compute_target=compute_target,
       node_count=2)

   parallelrun_step = ParallelRunStep(
       name="predict-digits-mnist",
       parallel_run_config=parallel_run_config,
       inputs=[ named_mnist_ds ],
       output=output_dir,
       arguments=[ "--extra_arg", "example_value" ],
       allow_reuse=True
   )

Per altre informazioni su questo esempio, vedere il notebook https://aka.ms/batch-inference-notebooks.

Metodi

create_module_def

Creare l'oggetto definizione del modulo che descrive il passaggio.

Questo metodo non deve essere usato direttamente.

create_node

Creare un nodo per PythonScriptStep e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con ParallelRunStep, Azure Machine Learning passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_module_def

Creare l'oggetto definizione del modulo che descrive il passaggio.

Questo metodo non deve essere usato direttamente.

create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, arguments=None)

Parametri

Nome Descrizione
execution_type
Necessario
str

Tipo di esecuzione del modulo.

input_bindings
Necessario

Associazioni di input del passaggio.

output_bindings
Necessario

Associazioni di output del passaggio.

param_defs

Definizioni di parametri di passaggio.

Valore predefinito: None
create_sequencing_ports

Se true, le porte di sequenziazione verranno create per il modulo.

Valore predefinito: True
allow_reuse

Se true, il modulo sarà disponibile per essere riutilizzato in pipeline future.

Valore predefinito: True
version
str

Versione del modulo.

Valore predefinito: None
arguments

Elenco di argomenti con annotazioni da usare quando si chiama questo modulo.

Valore predefinito: None

Restituisce

Tipo Descrizione

Oggetto def del modulo.

create_node

Creare un nodo per PythonScriptStep e aggiungerlo al grafico specificato.

Questo metodo non deve essere usato direttamente. Quando viene creata un'istanza di una pipeline con ParallelRunStep, Azure Machine Learning passa automaticamente i parametri necessari tramite questo metodo in modo che il passaggio possa essere aggiunto a un grafo della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto Grafico.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto.

Restituisce

Tipo Descrizione

Nodo creato.