ParallelRunStep Klass

Skapar ett Azure Machine Learning Pipeline-steg för att bearbeta stora mängder data asynkront och parallellt.

Ett exempel på hur du använder ParallelRunStep finns i notebook-filen https://aka.ms/batch-inference-notebooks.

Felsökningsguide finns i https://aka.ms/prstsg. Du hittar fler referenser där.

Skapa ett Azure ML Pipeline-steg för att bearbeta stora mängder data asynkront och parallellt.

Ett exempel på hur du använder ParallelRunStep finns i notebook-länken https://aka.ms/batch-inference-notebooks.

Arv
azureml.pipeline.core._parallel_run_step_base._ParallelRunStepBase
ParallelRunStep

Konstruktor

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

Parametrar

name
str
Obligatorisk

Namnet på steget. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt.

parallel_run_config
ParallelRunConfig
Obligatorisk

Ett ParallelRunConfig-objekt som används för att fastställa nödvändiga körningsegenskaper.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Obligatorisk

Lista över indatauppsättningar. Alla datauppsättningar i listan ska vara av samma typ. Indata partitioneras för parallell bearbetning. Varje datauppsättning i listan partitioneras i minibatchar separat, och var och en av minibatcherna behandlas lika i den parallella bearbetningen.

output
Union[PipelineData, OutputPortBinding, OutputDatasetConfig]
standardvärde: None

Utdataportbindning kan användas av senare pipelinesteg.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
standardvärde: None

Lista över referensdata för sidoindata. Sidoindata partitioneras inte som indata.

arguments
list[str]
standardvärde: None

Lista över kommandoradsargument som ska skickas till Python-entry_script.

allow_reuse
bool
standardvärde: True

Om steget ska återanvända tidigare resultat när det körs med samma inställningar/indata. Om detta är falskt genereras alltid en ny körning för det här steget under pipelinekörningen.

name
str
Obligatorisk

Namnet på steget. Måste vara unikt för arbetsytan, endast bestå av gemener, siffror eller bindestreck, börja med en bokstav och vara mellan 3 och 32 tecken långt.

parallel_run_config
ParallelRunConfig
Obligatorisk

Ett ParallelRunConfig-objekt som används för att fastställa nödvändiga körningsegenskaper.

inputs
list[Union[DatasetConsumptionConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset]]
Obligatorisk

Lista över indatauppsättningar. Alla datauppsättningar i listan ska vara av samma typ. Indata partitioneras för parallell bearbetning. Varje datauppsättning i listan partitioneras i minibatchar separat, och var och en av minibatcherna behandlas lika i den parallella bearbetningen.

output
PipelineData, OutputPortBinding
Obligatorisk

Utdataportbindning kan användas av senare pipelinesteg.

side_inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Obligatorisk

Lista över referensdata för sidoindata. Sidoindata partitioneras inte som indata.

arguments
list[str]
Obligatorisk

Lista över kommandoradsargument som ska skickas till Python-entry_script.

allow_reuse
bool
Obligatorisk

Om steget ska återanvända tidigare resultat när det körs med samma inställningar/indata. Om detta är falskt genereras alltid en ny körning för det här steget under pipelinekörningen.

Kommentarer

ParallelRunStep kan användas för bearbetning av stora mängder data parallellt. Vanliga användningsfall är att träna en ML-modell eller köra slutsatsdragning offline för att generera förutsägelser i en batch med observationer. ParallelRunStep fungerar på så sätt att dina data delas upp i batchar som bearbetas parallellt. Antalet noder för batchstorlek och andra justerbara parametrar för att påskynda den parallella bearbetningen ParallelRunConfig kan styras med klassen . ParallelRunStep kan fungera med antingen TabularDataset eller FileDataset som indata.

Så här använder du ParallelRunStep:

  • Skapa ett ParallelRunConfig -objekt för att ange hur batchbearbetning utförs, med parametrar för att styra batchstorlek, antal noder per beräkningsmål och en referens till ditt anpassade Python-skript.

  • Skapa ett ParallelRunStep-objekt som använder ParallelRunConfig-objektet och definiera indata och utdata för steget.

  • Använd det konfigurerade ParallelRunStep-objektet på samma Pipeline sätt som med andra typer av pipelinesteg.

Exempel på hur du arbetar med parallelrunstep- och ParallelRunConfig-klasser för batchinferens beskrivs i följande artiklar:


   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
   )

Mer information om det här exemplet finns i notebook-filen https://aka.ms/batch-inference-notebooks.

Metoder

create_module_def

Skapa moduldefinitionsobjektet som beskriver steget.

Den här metoden är inte avsedd att användas direkt.

create_node

Skapa en nod för PythonScriptStep och lägg till den i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med ParallelRunStep skickar Azure Machine Learning automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_module_def

Skapa moduldefinitionsobjektet som beskriver steget.

Den här metoden är inte avsedd att användas direkt.

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

Parametrar

execution_type
str
Obligatorisk

Körningstypen för modulen.

input_bindings
list
Obligatorisk

Stegindatabindningar.

output_bindings
list
Obligatorisk

Steget matar ut bindningar.

param_defs
list
standardvärde: None

Stegparameterdefinitionerna.

create_sequencing_ports
bool
standardvärde: True

Om det är sant skapas sekvenseringsportar för modulen.

allow_reuse
bool
standardvärde: True

Om det är sant kommer modulen att vara tillgänglig för återanvändning i framtida pipelines.

version
str
standardvärde: None

Versionen av modulen.

arguments
list
standardvärde: None

Lista med kommenterade argument som ska användas när du anropar den här modulen.

Returer

Module def-objektet.

Returtyp

create_node

Skapa en nod för PythonScriptStep och lägg till den i den angivna grafen.

Den här metoden är inte avsedd att användas direkt. När en pipeline instansieras med ParallelRunStep skickar Azure Machine Learning automatiskt de parametrar som krävs via den här metoden så att steget kan läggas till i ett pipelinediagram som representerar arbetsflödet.

create_node(graph, default_datastore, context)

Parametrar

graph
Graph
Obligatorisk

Grafobjekt.

default_datastore
AbstractAzureStorageDatastore eller AzureDataLakeDatastore
Obligatorisk

Standarddatalager.

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

Sammanhang.

Returer

Den skapade noden.

Returtyp