Condividi tramite


ParallelRunStep Classe

Crea un passaggio di Azure Machine Learning Pipeline 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.

Creare un passaggio di Azure ML Pipeline 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-notebooksnotebook .

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 essere compreso tra 3 e 32 caratteri lunghi.

parallel_run_config
Necessario

Oggetto ParallelRunConfig usato 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 separatamente in mini-batch e ognuno dei mini batch viene trattato allo stesso modo nell'elaborazione parallela.

output

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

Valore predefinito: None
side_inputs

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

Valore predefinito: None
arguments

Elenco degli 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 si tratta di false, una nuova esecuzione verrà sempre generata per questo passaggio durante l'esecuzione della pipeline.

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 essere compreso tra 3 e 32 caratteri lunghi.

parallel_run_config
Necessario

Oggetto ParallelRunConfig usato 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 separatamente in mini-batch e ognuno dei mini batch viene trattato allo stesso modo nell'elaborazione parallela.

output
Necessario

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

side_inputs
Necessario

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

arguments
Necessario

Elenco degli 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 si tratta di false, una nuova esecuzione verrà sempre generata per questo passaggio durante l'esecuzione della pipeline.

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 conteggio dei nodi di dimensioni batch e altri parametri tonnibili 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 il modo in cui viene eseguita l'elaborazione batch, con parametri per controllare le dimensioni batch, il numero di nodi per 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 proprio come si farebbe con altri tipi di passaggio 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 grafico 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 del passaggio param.

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 nelle pipeline future.

Valore predefinito: True
version
str

Versione del modulo.

Valore predefinito: None
arguments

Elenco di argomenti annotati 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 grafico della pipeline che rappresenta il flusso di lavoro.

create_node(graph, default_datastore, context)

Parametri

Nome Descrizione
graph
Necessario

Oggetto Graph.

default_datastore
Necessario

Archivio dati predefinito.

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

Contesto.

Restituisce

Tipo Descrizione

Nodo creato.